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.commons.health.data.HealthStatus;
21 import com.amdocs.zusammen.datatypes.Id;
22 import com.amdocs.zusammen.datatypes.Namespace;
23 import com.amdocs.zusammen.datatypes.SessionContext;
24 import com.amdocs.zusammen.datatypes.item.ElementContext;
25 import com.amdocs.zusammen.datatypes.item.Info;
26 import com.amdocs.zusammen.datatypes.item.ItemVersionData;
27 import com.amdocs.zusammen.datatypes.itemversion.ItemVersionHistory;
28 import com.amdocs.zusammen.datatypes.itemversion.Tag;
29 import com.amdocs.zusammen.datatypes.response.Response;
30 import com.amdocs.zusammen.datatypes.response.ZusammenException;
31 import com.amdocs.zusammen.sdk.collaboration.CollaborationStore;
32 import com.amdocs.zusammen.sdk.collaboration.types.CollaborationElement;
33 import com.amdocs.zusammen.sdk.collaboration.types.CollaborationMergeChange;
34 import com.amdocs.zusammen.sdk.collaboration.types.CollaborationMergeResult;
35 import com.amdocs.zusammen.sdk.collaboration.types.CollaborationPublishResult;
36 import org.openecomp.core.zusammen.plugin.collaboration.ElementCollaborationStore;
37 import org.openecomp.core.zusammen.plugin.collaboration.VersionCollaborationStore;
39 import java.util.Collection;
41 public class CassandraCollaborationStorePluginImpl implements CollaborationStore {
43 private VersionCollaborationStore versionCollaborationStore = new VersionCollaborationStore();
44 private ElementCollaborationStore elementCollaborationStore = new ElementCollaborationStore();
47 public Response<Void> createItem(SessionContext context, Id id, Info info) {
48 // done by state store
49 return new Response(Void.TYPE);
53 public Response<Void> deleteItem(SessionContext context, Id id) {
54 // done by state store
55 return new Response(Void.TYPE);
59 public Response<Void> createItemVersion(SessionContext context, Id itemId, Id versionId, Id id2,
60 ItemVersionData itemVersionData) {
61 // done by state store
62 return new Response(Void.TYPE);
66 public Response<Void> updateItemVersion(SessionContext context, Id itemId, Id versionId,
67 ItemVersionData itemVersionData) {
68 // done by state store
69 return new Response(Void.TYPE);
73 public Response<Void> deleteItemVersion(SessionContext context, Id itemId, Id versionId) {
74 // done by state store
75 return new Response(Void.TYPE);
79 public Response<Void> tagItemVersion(SessionContext context, Id itemId, Id versionId, Id changeId,
81 versionCollaborationStore.tagItemVersion(context, itemId, versionId, changeId, tag);
82 return new Response(Void.TYPE);
86 public Response<CollaborationPublishResult> publishItemVersion(SessionContext context,
87 Id itemId, Id versionId,
89 throw new UnsupportedOperationException("publishItemVersion");
93 public Response<CollaborationMergeResult> syncItemVersion(SessionContext context, Id id,
95 throw new UnsupportedOperationException("syncItemVersion");
99 public Response<CollaborationMergeResult> mergeItemVersion(SessionContext context, Id id,
101 throw new UnsupportedOperationException("mergeItemVersion");
105 public Response<ItemVersionHistory> listItemVersionHistory(SessionContext context, Id id,
107 throw new UnsupportedOperationException("listItemVersionHistory");
111 public Response<CollaborationMergeChange> resetItemVersionHistory(SessionContext context,
112 Id itemId, Id versionId,
114 return new Response<>(versionCollaborationStore.resetItemVersionHistory(context, itemId, versionId, changeRef));
118 public Response<Collection<CollaborationElement>> listElements(SessionContext context,
119 ElementContext elementContext,
122 return new Response<>(
123 elementCollaborationStore.listElements(context, elementContext, elementId));
127 public Response<CollaborationElement> getElement(SessionContext context,
128 ElementContext elementContext,
129 Namespace namespace, Id elementId) {
130 return new Response<>(elementCollaborationStore.getElement(context, elementContext, elementId));
134 public Response<Void> createElement(SessionContext context, CollaborationElement element) {
135 elementCollaborationStore.createElement(context, element);
136 return new Response(Void.TYPE);
140 public Response<Void> updateElement(SessionContext context, CollaborationElement element) {
141 elementCollaborationStore.updateElement(context, element);
142 return new Response(Void.TYPE);
146 public Response<Void> deleteElement(SessionContext context, CollaborationElement element) {
147 elementCollaborationStore.deleteElement(context, element);
148 return new Response(Void.TYPE);
152 public Response<Void> commitElements(SessionContext context, Id itemId, Id versionId, String s) {
154 return new Response(Void.TYPE);
158 public Response<HealthInfo> checkHealth(SessionContext sessionContext) throws ZusammenException {
160 boolean health = elementCollaborationStore.checkHealth(sessionContext);
161 HealthInfo healthInfo ;
163 healthInfo = new HealthInfo("Collaboration", HealthStatus.UP,"");
165 healthInfo = new HealthInfo("Collaboration", HealthStatus.DOWN,"No Schema Available");
167 return new Response<HealthInfo>(healthInfo);