2 * Copyright © 2016-2018 European Support Limited
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.openecomp.core.zusammen.db;
19 import com.amdocs.zusammen.adaptor.inbound.api.types.item.*;
20 import com.amdocs.zusammen.commons.health.data.HealthInfo;
21 import com.amdocs.zusammen.datatypes.Id;
22 import com.amdocs.zusammen.datatypes.SessionContext;
23 import com.amdocs.zusammen.datatypes.item.*;
24 import com.amdocs.zusammen.datatypes.itemversion.ItemVersionRevisions;
25 import com.amdocs.zusammen.datatypes.itemversion.Tag;
27 import java.util.Collection;
29 public interface ZusammenConnector {
31 Collection<HealthInfo> checkHealth(SessionContext sessionContext);
33 String getVersion(SessionContext sessionContext);
35 Collection<Item> listItems(SessionContext context);
37 Item getItem(SessionContext context, Id itemId);
39 Id createItem(SessionContext context, Info info);
41 void deleteItem(SessionContext context, Id itemId);
43 void updateItem(SessionContext context, Id itemId, Info info);
46 Collection<ItemVersion> listPublicVersions(SessionContext context, Id itemId);
48 ItemVersion getPublicVersion(SessionContext context, Id itemId, Id versionId);
50 Id createVersion(SessionContext context, Id itemId, Id baseVersionId,
51 ItemVersionData itemVersionData);
53 void updateVersion(SessionContext context, Id itemId, Id versionId,
54 ItemVersionData itemVersionData);
56 ItemVersion getVersion(SessionContext context, Id itemId, Id versionId);
58 ItemVersionStatus getVersionStatus(SessionContext context, Id itemId, Id versionId);
60 void tagVersion(SessionContext context, Id itemId, Id versionId, Tag tag);
62 void resetVersionRevision(SessionContext context, Id itemId, Id versionId, Id revisionId);
64 void revertVersionRevision(SessionContext context, Id itemId, Id versionId, Id revisionId);
66 ItemVersionRevisions listVersionRevisions(SessionContext context, Id itemId, Id versionId);
68 void publishVersion(SessionContext context, Id itemId, Id versionId, String message);
70 void syncVersion(SessionContext context, Id itemId, Id versionId);
72 void forceSyncVersion(SessionContext context, Id itemId, Id versionId);
74 void cleanVersion(SessionContext context, Id itemId, Id versionId);
76 ItemVersionConflict getVersionConflict(SessionContext context, Id itemId, Id versionId);
79 Collection<ElementInfo> listElements(SessionContext context, ElementContext elementContext,
82 ElementInfo getElementInfo(SessionContext context, ElementContext elementContext, Id elementId);
84 Element getElement(SessionContext context, ElementContext elementContext, Id elementId);
86 ElementConflict getElementConflict(SessionContext context, ElementContext elementContext,
89 Element saveElement(SessionContext context, ElementContext elementContext,
90 Element element, String message);
92 void resolveElementConflict(SessionContext context, ElementContext elementContext,
93 Element element, Resolution resolution);
95 void resetVersionHistory(SessionContext context, Id itemId, Id versionId, String changeRef);