2 * Copyright © 2016-2017 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.plugin.main;
19 import com.amdocs.zusammen.commons.health.data.HealthInfo;
20 import com.amdocs.zusammen.datatypes.Id;
21 import com.amdocs.zusammen.datatypes.Namespace;
22 import com.amdocs.zusammen.datatypes.SessionContext;
23 import com.amdocs.zusammen.datatypes.item.ElementContext;
24 import com.amdocs.zusammen.datatypes.item.Info;
25 import com.amdocs.zusammen.datatypes.item.ItemVersionData;
26 import com.amdocs.zusammen.datatypes.itemversion.ItemVersionHistory;
27 import com.amdocs.zusammen.datatypes.itemversion.Tag;
28 import com.amdocs.zusammen.datatypes.response.Response;
29 import com.amdocs.zusammen.datatypes.response.ZusammenException;
30 import com.amdocs.zusammen.sdk.collaboration.CollaborationStore;
31 import com.amdocs.zusammen.sdk.collaboration.types.CollaborationElement;
32 import com.amdocs.zusammen.sdk.collaboration.types.CollaborationMergeChange;
33 import com.amdocs.zusammen.sdk.collaboration.types.CollaborationMergeResult;
34 import com.amdocs.zusammen.sdk.collaboration.types.CollaborationPublishResult;
35 import org.openecomp.core.zusammen.plugin.collaboration.ElementCollaborationStore;
36 import org.openecomp.core.zusammen.plugin.collaboration.VersionCollaborationStore;
38 import java.util.Collection;
40 public class CassandraCollaborationStorePluginImpl implements CollaborationStore {
42 private VersionCollaborationStore versionCollaborationStore = new VersionCollaborationStore();
43 private ElementCollaborationStore elementCollaborationStore = new ElementCollaborationStore();
46 public Response<Void> createItem(SessionContext context, Id id, Info info) {
47 // done by state store
48 return new Response(Void.TYPE);
52 public Response<Void> deleteItem(SessionContext context, Id id) {
53 // done by state store
54 return new Response(Void.TYPE);
58 public Response<Void> createItemVersion(SessionContext context, Id itemId, Id versionId, Id id2,
59 ItemVersionData itemVersionData) {
60 // done by state store
61 return new Response(Void.TYPE);
65 public Response<Void> updateItemVersion(SessionContext context, Id itemId, Id versionId,
66 ItemVersionData itemVersionData) {
67 // done by state store
68 return new Response(Void.TYPE);
72 public Response<Void> deleteItemVersion(SessionContext context, Id itemId, Id versionId) {
73 // done by state store
74 return new Response(Void.TYPE);
78 public Response<Void> tagItemVersion(SessionContext context, Id itemId, Id versionId, Id changeId,
80 versionCollaborationStore.tagItemVersion(context, itemId, versionId, changeId, tag);
81 return new Response(Void.TYPE);
85 public Response<CollaborationPublishResult> publishItemVersion(SessionContext context,
86 Id itemId, Id versionId,
88 throw new UnsupportedOperationException("publishItemVersion");
92 public Response<CollaborationMergeResult> syncItemVersion(SessionContext context, Id id,
94 throw new UnsupportedOperationException("syncItemVersion");
98 public Response<CollaborationMergeResult> mergeItemVersion(SessionContext context, Id id,
100 throw new UnsupportedOperationException("mergeItemVersion");
104 public Response<ItemVersionHistory> listItemVersionHistory(SessionContext context, Id id,
106 throw new UnsupportedOperationException("listItemVersionHistory");
110 public Response<CollaborationMergeChange> resetItemVersionHistory(SessionContext context,
111 Id itemId, Id versionId,
113 return new Response<>(versionCollaborationStore.resetItemVersionHistory(context, itemId, versionId, changeRef));
117 public Response<Collection<CollaborationElement>> listElements(SessionContext context,
118 ElementContext elementContext,
121 return new Response<>(
122 elementCollaborationStore.listElements(context, elementContext, elementId));
126 public Response<CollaborationElement> getElement(SessionContext context,
127 ElementContext elementContext,
128 Namespace namespace, Id elementId) {
129 return new Response<>(elementCollaborationStore.getElement(context, elementContext, elementId));
133 public Response<Void> createElement(SessionContext context, CollaborationElement element) {
134 elementCollaborationStore.createElement(context, element);
135 return new Response(Void.TYPE);
139 public Response<Void> updateElement(SessionContext context, CollaborationElement element) {
140 elementCollaborationStore.updateElement(context, element);
141 return new Response(Void.TYPE);
145 public Response<Void> deleteElement(SessionContext context, CollaborationElement element) {
146 elementCollaborationStore.deleteElement(context, element);
147 return new Response(Void.TYPE);
151 public Response<Void> commitElements(SessionContext context, Id itemId, Id versionId, String s) {
153 return new Response(Void.TYPE);
157 public Response<HealthInfo> checkHealth(SessionContext sessionContext) throws ZusammenException {