1 package org.openecomp.core.zusammen.plugin.collaboration;
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;
9 import java.util.Collection;
10 import java.util.Optional;
12 public interface ElementStageStore {
14 Collection<ElementEntity> listIds(SessionContext context, ElementContext elementContext);
16 boolean hasConflicts(SessionContext context, ElementContext elementContext);
18 Collection<StageEntity<ElementEntity>> listConflictedDescriptors(SessionContext context,
19 ElementContext elementContext);
21 Optional<StageEntity<ElementEntity>> get(SessionContext context, ElementContext elementContext,
22 ElementEntity element);
24 Optional<StageEntity<ElementEntity>> getConflicted(SessionContext context,
25 ElementContext elementContext,
26 ElementEntity element);
28 void create(SessionContext context, ElementContext elementContext,
29 StageEntity<ElementEntity> elementStage);
31 void delete(SessionContext context, ElementContext elementContext, ElementEntity element);
33 void resolveConflict(SessionContext context, ElementContext elementContext, ElementEntity element,
34 Resolution resolution);