re base code
[sdc.git] / openecomp-be / lib / openecomp-core-lib / openecomp-zusammen-lib / openecomp-zusammen-api / src / main / java / org / openecomp / core / zusammen / api / ZusammenAdaptor.java
1 package org.openecomp.core.zusammen.api;
2
3 import com.amdocs.zusammen.adaptor.inbound.api.types.item.*;
4 import com.amdocs.zusammen.commons.health.data.HealthInfo;
5 import com.amdocs.zusammen.datatypes.Id;
6 import com.amdocs.zusammen.datatypes.SessionContext;
7 import com.amdocs.zusammen.datatypes.item.*;
8 import com.amdocs.zusammen.datatypes.itemversion.ItemVersionRevisions;
9 import com.amdocs.zusammen.datatypes.itemversion.Tag;
10
11 import java.util.Collection;
12 import java.util.Optional;
13
14 public interface ZusammenAdaptor {
15
16   Collection<Item> listItems(SessionContext context);
17
18   Item getItem(SessionContext context, Id itemId);
19
20   void deleteItem(SessionContext context, Id itemId);
21
22   Id createItem(SessionContext context, Info info);
23
24   void updateItem(SessionContext context, Id itemId, Info info);
25
26   // TODO: 4/4/2017 remove this workaround when versionId will be recieved from UI
27   Optional<ItemVersion> getFirstVersion(SessionContext context, Id itemId);
28
29   Collection<ItemVersion> listPublicVersions(SessionContext context, Id itemId);
30
31   ItemVersion getPublicVersion(SessionContext context, Id itemId, Id versionId);
32
33   Id createVersion(SessionContext context, Id itemId, Id baseVersionId,
34                    ItemVersionData itemVersionData);
35
36   void updateVersion(SessionContext context, Id itemId, Id versionId,
37                      ItemVersionData itemVersionData);
38
39   ItemVersion getVersion(SessionContext context, Id itemId, Id versionId);
40
41   ItemVersionStatus getVersionStatus(SessionContext context, Id itemId, Id versionId);
42
43   ItemVersionConflict getVersionConflict(SessionContext context, Id itemId, Id versionId);
44
45   void tagVersion(SessionContext context, Id itemId, Id versionId, Tag tag);
46
47   void resetVersionHistory(SessionContext context, Id itemId, Id versionId, String version);
48
49   void publishVersion(SessionContext context, Id itemId, Id versionId, String message);
50
51   void syncVersion(SessionContext context, Id itemId, Id versionId);
52
53   void forceSyncVersion(SessionContext context, Id itemId, Id versionId);
54
55   void cleanVersion(SessionContext context, Id itemId, Id versionId);
56
57   Optional<ElementInfo> getElementInfo(SessionContext context, ElementContext elementContext,
58                                        Id elementId);
59
60   Optional<Element> getElement(SessionContext context, ElementContext elementContext,
61                                String elementId); // TODO: 4/3/2017 change to Id
62
63   Optional<Element> getElementByName(SessionContext context, ElementContext elementContext,
64                                      Id parentElementId, String elementName);
65
66   Collection<ElementInfo> listElements(SessionContext context, ElementContext elementContext,
67                                        Id parentElementId);
68
69   Collection<Element> listElementData(SessionContext context, ElementContext elementContext,
70                                       Id parentElementId);
71
72   /**
73    * Lists the sub elements of the element named elementName which is a sub element of
74    * parentElementId
75    */
76   Collection<ElementInfo> listElementsByName(SessionContext context, ElementContext elementContext,
77                                              Id parentElementId, String elementName);
78
79   Optional<ElementInfo> getElementInfoByName(SessionContext context, ElementContext elementContext,
80                                              Id parentElementId, String elementName);
81
82   Optional<ElementConflict> getElementConflict(SessionContext context,
83                                                ElementContext elementContext, Id elementId);
84
85   Element saveElement(SessionContext context, ElementContext elementContext,
86                       ZusammenElement element, String message);
87
88   void resolveElementConflict(SessionContext context, ElementContext elementContext,
89                               ZusammenElement element, Resolution resolution);
90
91   void revert(SessionContext context, Id itemId, Id versionId, Id revisionId);
92
93   ItemVersionRevisions listRevisions(SessionContext context, Id itemId, Id versionId);
94
95   Collection<HealthInfo> checkHealth(SessionContext context);
96
97   String getVersion(SessionContext context);
98 }