Unit Tests
[sdc.git] / openecomp-be / lib / openecomp-core-lib / openecomp-zusammen-lib / openecomp-zusammen-plugin / src / main / java / org / openecomp / core / zusammen / plugin / collaboration / ElementStageStore.java
1 package org.openecomp.core.zusammen.plugin.collaboration;
2
3 import com.amdocs.zusammen.datatypes.SessionContext;
4 import com.amdocs.zusammen.datatypes.item.ElementContext;
5 import com.amdocs.zusammen.datatypes.item.Resolution;
6 import org.openecomp.core.zusammen.plugin.dao.types.ElementEntity;
7 import org.openecomp.core.zusammen.plugin.dao.types.StageEntity;
8
9 import java.util.Collection;
10 import java.util.Optional;
11
12 public interface ElementStageStore {
13
14   Collection<ElementEntity> listIds(SessionContext context, ElementContext elementContext);
15
16   boolean hasConflicts(SessionContext context, ElementContext elementContext);
17
18   Collection<StageEntity<ElementEntity>> listConflictedDescriptors(SessionContext context,
19                                                                    ElementContext elementContext);
20
21   Optional<StageEntity<ElementEntity>> get(SessionContext context, ElementContext elementContext,
22                                            ElementEntity element);
23
24   Optional<StageEntity<ElementEntity>> getConflicted(SessionContext context,
25                                                      ElementContext elementContext,
26                                                      ElementEntity element);
27
28   void create(SessionContext context, ElementContext elementContext,
29               StageEntity<ElementEntity> elementStage);
30
31   void delete(SessionContext context, ElementContext elementContext, ElementEntity element);
32
33   void resolveConflict(SessionContext context, ElementContext elementContext, ElementEntity element,
34                        Resolution resolution);
35 }