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 / VersionPrivateStore.java
1 package org.openecomp.core.zusammen.plugin.collaboration;
2
3 import com.amdocs.zusammen.datatypes.Id;
4 import com.amdocs.zusammen.datatypes.SessionContext;
5 import org.openecomp.core.zusammen.plugin.dao.types.SynchronizationStateEntity;
6 import org.openecomp.core.zusammen.plugin.dao.types.VersionEntity;
7
8 import java.util.Date;
9 import java.util.Optional;
10
11 public interface VersionPrivateStore {
12   Optional<VersionEntity> get(SessionContext context, Id itemId, Id versionId);
13
14   Optional<SynchronizationStateEntity> getSynchronizationState(SessionContext context, Id itemId,
15                                                                Id versionId);
16
17   void create(SessionContext context, Id itemId, VersionEntity version);
18
19   void update(SessionContext context, Id itemId, VersionEntity version);
20
21   void update(SessionContext context, Id itemId, VersionEntity version, Date publishTime,
22               boolean dirty);
23
24   void delete(SessionContext context, Id itemId, VersionEntity version);
25
26   void markAsPublished(SessionContext context, Id itemId, Id versionId, Date publishTime);
27
28   void commitStagedCreate(SessionContext context, Id itemId, VersionEntity version,
29                           Date publishTime);
30
31   void commitStagedUpdate(SessionContext context, Id itemId, VersionEntity version,
32                           Date publishTime);
33
34   void commitStagedIgnore(SessionContext context, Id itemId, VersionEntity version,
35                           Date publishTime);
36
37
38 }