[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-be / lib / openecomp-core-lib / openecomp-zusammen-lib / openecomp-zusammen-plugin / src / main / java / org / openecomp / core / zusammen / plugin / main / CassandraCollaborationStorePluginImpl.java
1 /*
2  * Copyright © 2016-2017 European Support Limited
3  *
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
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 package org.openecomp.core.zusammen.plugin.main;
18
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;
37
38 import java.util.Collection;
39
40 public class CassandraCollaborationStorePluginImpl implements CollaborationStore {
41
42   private VersionCollaborationStore versionCollaborationStore = new VersionCollaborationStore();
43   private ElementCollaborationStore elementCollaborationStore = new ElementCollaborationStore();
44
45   @Override
46   public Response<Void> createItem(SessionContext context, Id id, Info info) {
47     // done by state store
48     return new Response(Void.TYPE);
49   }
50
51   @Override
52   public Response<Void> deleteItem(SessionContext context, Id id) {
53     // done by state store
54     return new Response(Void.TYPE);
55   }
56
57   @Override
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);
62   }
63
64   @Override
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);
69   }
70
71   @Override
72   public Response<Void> deleteItemVersion(SessionContext context, Id itemId, Id versionId) {
73     // done by state store
74     return new Response(Void.TYPE);
75   }
76
77   @Override
78   public Response<Void> tagItemVersion(SessionContext context, Id itemId, Id versionId, Id changeId,
79                                        Tag tag) {
80     versionCollaborationStore.tagItemVersion(context, itemId, versionId, changeId, tag);
81     return new Response(Void.TYPE);
82   }
83
84   @Override
85   public Response<CollaborationPublishResult> publishItemVersion(SessionContext context,
86                                                                  Id itemId, Id versionId,
87                                                                  String s) {
88     throw new UnsupportedOperationException("publishItemVersion");
89   }
90
91   @Override
92   public Response<CollaborationMergeResult> syncItemVersion(SessionContext context, Id id,
93                                                             Id id1) {
94     throw new UnsupportedOperationException("syncItemVersion");
95   }
96
97   @Override
98   public Response<CollaborationMergeResult> mergeItemVersion(SessionContext context, Id id,
99                                                              Id id1, Id id2) {
100     throw new UnsupportedOperationException("mergeItemVersion");
101   }
102
103   @Override
104   public Response<ItemVersionHistory> listItemVersionHistory(SessionContext context, Id id,
105                                                              Id id1) {
106     throw new UnsupportedOperationException("listItemVersionHistory");
107   }
108
109   @Override
110   public Response<CollaborationMergeChange> resetItemVersionHistory(SessionContext context,
111                                                                     Id itemId, Id versionId,
112                                                                     String changeRef) {
113     return new Response<>(versionCollaborationStore.resetItemVersionHistory(context, itemId, versionId, changeRef));
114   }
115
116   @Override
117   public Response<Collection<CollaborationElement>> listElements(SessionContext context,
118                                                                  ElementContext elementContext,
119                                                                  Namespace namespace,
120                                                                  Id elementId) {
121     return new Response<>(
122         elementCollaborationStore.listElements(context, elementContext, elementId));
123   }
124
125   @Override
126   public Response<CollaborationElement> getElement(SessionContext context,
127                                                    ElementContext elementContext,
128                                                    Namespace namespace, Id elementId) {
129     return new Response<>(elementCollaborationStore.getElement(context, elementContext, elementId));
130   }
131
132   @Override
133   public Response<Void> createElement(SessionContext context, CollaborationElement element) {
134     elementCollaborationStore.createElement(context, element);
135     return new Response(Void.TYPE);
136   }
137
138   @Override
139   public Response<Void> updateElement(SessionContext context, CollaborationElement element) {
140     elementCollaborationStore.updateElement(context, element);
141     return new Response(Void.TYPE);
142   }
143
144   @Override
145   public Response<Void> deleteElement(SessionContext context, CollaborationElement element) {
146     elementCollaborationStore.deleteElement(context, element);
147     return new Response(Void.TYPE);
148   }
149
150   @Override
151   public Response<Void> commitElements(SessionContext context, Id itemId, Id versionId, String s) {
152     // not needed
153     return new Response(Void.TYPE);
154   }
155
156   @Override
157   public Response<HealthInfo> checkHealth(SessionContext sessionContext) throws ZusammenException {
158     return null;
159   }
160 }