From b38f18bb99a603012ec406053531c45fb4643d62 Mon Sep 17 00:00:00 2001 From: shalomb Date: Tue, 2 Jan 2018 13:48:40 +0200 Subject: Remove Zusammen cassandra plugin Remove Zusammen cassandra plugin Change dependency Modify imports Change-Id: Ice66fdd9f3970961723df476c8d1e38040504189 Issue-ID: SDC-862 Signed-off-by: shalomb --- .../dao/impl/cassandra/CassandraDaoUtils.java | 27 - .../cassandra/ElementRepositoryFactoryImpl.java | 31 -- .../dao/impl/cassandra/ElementRepositoryImpl.java | 565 --------------------- .../ElementStageRepositoryFactoryImpl.java | 31 -- .../impl/cassandra/ElementStageRepositoryImpl.java | 423 --------------- ...tSynchronizationStateRepositoryFactoryImpl.java | 33 -- .../ElementSynchronizationStateRepositoryImpl.java | 209 -------- .../dao/impl/cassandra/VersionDaoFactoryImpl.java | 15 - .../plugin/dao/impl/cassandra/VersionDaoImpl.java | 185 ------- .../VersionStageRepositoryFactoryImpl.java | 15 - .../impl/cassandra/VersionStageRepositoryImpl.java | 82 --- ...nSynchronizationStateRepositoryFactoryImpl.java | 33 -- .../VersionSynchronizationStateRepositoryImpl.java | 137 ----- 13 files changed, 1786 deletions(-) delete mode 100644 openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/CassandraDaoUtils.java delete mode 100644 openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementRepositoryFactoryImpl.java delete mode 100644 openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementRepositoryImpl.java delete mode 100644 openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementStageRepositoryFactoryImpl.java delete mode 100644 openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementStageRepositoryImpl.java delete mode 100644 openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementSynchronizationStateRepositoryFactoryImpl.java delete mode 100644 openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementSynchronizationStateRepositoryImpl.java delete mode 100644 openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionDaoFactoryImpl.java delete mode 100644 openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionDaoImpl.java delete mode 100644 openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionStageRepositoryFactoryImpl.java delete mode 100644 openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionStageRepositoryImpl.java delete mode 100644 openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionSynchronizationStateRepositoryFactoryImpl.java delete mode 100644 openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionSynchronizationStateRepositoryImpl.java (limited to 'openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra') diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/CassandraDaoUtils.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/CassandraDaoUtils.java deleted file mode 100644 index b6cb9e4070..0000000000 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/CassandraDaoUtils.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.openecomp.core.zusammen.plugin.dao.impl.cassandra; - -import com.amdocs.zusammen.commons.db.api.cassandra.CassandraConnectorFactory; -import com.amdocs.zusammen.commons.db.api.cassandra.types.CassandraContext; -import com.amdocs.zusammen.datatypes.SessionContext; -import com.datastax.driver.core.Session; - -class CassandraDaoUtils { - - static T getAccessor(SessionContext context, Class classOfT) { - return CassandraConnectorFactory.getInstance().createInterface(getCassandraContext(context)) - .getMappingManager() - .createAccessor(classOfT); - } - - static Session getSession(SessionContext context) { - return CassandraConnectorFactory.getInstance().createInterface(getCassandraContext(context)) - .getMappingManager() - .getSession(); - } - - private static CassandraContext getCassandraContext(SessionContext context) { - CassandraContext cassandraContext = new CassandraContext(); - cassandraContext.setTenant(context.getTenant()); - return cassandraContext; - } -} diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementRepositoryFactoryImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementRepositoryFactoryImpl.java deleted file mode 100644 index 8540816f00..0000000000 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementRepositoryFactoryImpl.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright © 2016-2017 European Support Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openecomp.core.zusammen.plugin.dao.impl.cassandra; - -import com.amdocs.zusammen.datatypes.SessionContext; -import org.openecomp.core.zusammen.plugin.dao.ElementRepository; -import org.openecomp.core.zusammen.plugin.dao.ElementRepositoryFactory; - -public class ElementRepositoryFactoryImpl extends ElementRepositoryFactory { - - private static final ElementRepository INSTANCE = new ElementRepositoryImpl(); - - @Override - public ElementRepository createInterface(SessionContext context) { - return INSTANCE; - } -} diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementRepositoryImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementRepositoryImpl.java deleted file mode 100644 index bb3b1cfa7c..0000000000 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementRepositoryImpl.java +++ /dev/null @@ -1,565 +0,0 @@ -/* - * Copyright © 2016-2017 European Support Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openecomp.core.zusammen.plugin.dao.impl.cassandra; - -import com.amdocs.zusammen.datatypes.Id; -import com.amdocs.zusammen.datatypes.Namespace; -import com.amdocs.zusammen.datatypes.SessionContext; -import com.amdocs.zusammen.datatypes.item.Info; -import com.amdocs.zusammen.datatypes.item.Relation; -import com.amdocs.zusammen.plugin.statestore.cassandra.dao.types.ElementEntityContext; -import com.amdocs.zusammen.utils.fileutils.json.JsonUtil; -import com.datastax.driver.core.ResultSet; -import com.datastax.driver.core.Row; -import com.datastax.driver.mapping.annotations.Accessor; -import com.datastax.driver.mapping.annotations.Param; -import com.datastax.driver.mapping.annotations.Query; -import com.google.gson.reflect.TypeToken; -import org.openecomp.core.zusammen.plugin.ZusammenPluginConstants; -import org.openecomp.core.zusammen.plugin.dao.ElementRepository; -import org.openecomp.core.zusammen.plugin.dao.types.ElementEntity; - -import java.lang.reflect.Type; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.TreeMap; -import java.util.stream.Collectors; - -public class ElementRepositoryImpl implements ElementRepository { - - @Override - public Map listIds(SessionContext context, ElementEntityContext elementContext) { - - if (elementContext.getRevisionId() == null) { - String revisionId = calculateLastRevisionId(context, elementContext); - if (revisionId == null) { - return new HashMap<>(); - } - - elementContext.setRevisionId(new Id(revisionId)); - } - return getVersionElementIds(context, elementContext).entrySet().stream().collect(Collectors - .toMap(entry -> new Id(entry.getKey()), entry -> new Id(entry.getValue()))); - - /* return getVersionElementIds(context, elementContext).stream() - .map(Id::new) - .collect(Collectors.toList());*/ - - } - - @Override - public void create(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - createElement(context, elementContext, element); - addElementToParent(context, elementContext, element); - } - - @Override - public void update(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - - Id elementRevisionId = getElementRevision(context, elementContext, element.getId()); - if (elementRevisionId.equals(elementContext.getRevisionId())) { - updateElement(context, elementContext, element); - } else { - createElement(context, elementContext, element); - } - } - - @Override - public void delete(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - removeElementFromParent(context, elementContext, element); - deleteElement(context, elementContext, element); - } - - @Override - public Optional get(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - String revisionId = calculateElementRevisionId(context, elementContext, element); - if (revisionId == null) { - return Optional.empty(); - } - - Row row = getElementAccessor(context).get( - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - element.getId().toString(), - revisionId).one(); - - return row == null ? Optional.empty() : Optional.of(getElementEntity(element, row)); - } - - @Override - public Optional getDescriptor(SessionContext context, - ElementEntityContext elementContext, - ElementEntity element) { - String revisionId = calculateElementRevisionId(context, elementContext, element); - if (revisionId == null) { - return Optional.empty(); - } - - Row row = getElementAccessor(context).getDescriptor( - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - element.getId().toString(), - revisionId).one(); - - return row == null ? Optional.empty() : Optional.of(getElementEntityDescriptor(element, row)); - } - - @Override - public void createNamespace(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - getElementNamespaceAccessor(context).create(elementContext.getItemId().toString(), - element.getId().toString(), - element.getNamespace().toString()); - } - - @Override - public Optional getHash(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - String revisionId = calculateElementRevisionId(context, elementContext, element); - if (revisionId == null) { - return Optional.empty(); - } - - Row row = getElementAccessor(context).getHash( - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - element.getId().toString(), - revisionId).one(); - - return row == null ? Optional.empty() : Optional.of(getElementHash(row)); - } - - private String calculateElementRevisionId(SessionContext context, - ElementEntityContext elementContext, - ElementEntity element) { - - if (elementContext.getSpace().equals(ZusammenPluginConstants.PUBLIC_SPACE)) { - - String versionRevision; - if (elementContext.getRevisionId() == null) { - versionRevision = calculateLastRevisionId(context, elementContext); - } else { - versionRevision = elementContext.getRevisionId().getValue(); - } - - elementContext.setRevisionId(new Id(versionRevision)); - Map elementIds = getVersionElementIds(context, elementContext); - if (elementIds.containsKey(element.getId().getValue())) { - return elementIds.get(element.getId().getValue()); - } else { - return null; - } - - } else { - return Id.ZERO.getValue(); - } - } - - private String calculateLastRevisionId(SessionContext context, ElementEntityContext - elementContext) { - List rows = getVersionElementsAccessor(context).listRevisions(elementContext.getSpace(), - elementContext - .getItemId().toString(), elementContext.getVersionId().toString()).all(); - if (rows == null || rows.size() == 0) { - return null; - } - rows.sort((o1, o2) -> o1.getDate(VersionElementsField.PUBLISH_TIME) - .after(o2.getDate(VersionElementsField.PUBLISH_TIME)) ? -1 : 1); - return rows.get(0).getString(VersionElementsField.REVISION_ID); - } - - /*private static String getVersionId(ElementEntityContext elementContext) { - return elementContext.getRevisionId() == null - ? elementContext.getVersionId().toString() - : elementContext.getRevisionId().getValue(); - }*/ - - private ElementNamespaceAccessor getElementNamespaceAccessor(SessionContext context) { - return CassandraDaoUtils.getAccessor(context, ElementNamespaceAccessor.class); - } - - private ElementAccessor getElementAccessor(SessionContext context) { - return CassandraDaoUtils.getAccessor(context, ElementAccessor.class); - } - - private VersionElementsAccessor getVersionElementsAccessor(SessionContext context) { - return CassandraDaoUtils.getAccessor(context, VersionElementsAccessor.class); - } - - private void createElement(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - createElementRow(context, elementContext, element); - - Map elementIds = new TreeMap<>(); - elementIds.put(element.getId().toString(), elementContext.getRevisionId().getValue()); - getVersionElementsAccessor(context).addElements( - elementIds, - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - elementContext.getRevisionId().getValue()); - } - - private void createElementRow(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - Set subElementIds = - element.getSubElementIds().stream().map(Id::toString).collect(Collectors.toSet()); - - getElementAccessor(context).create( - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - element.getId().toString(), - elementContext.getRevisionId().getValue(), - element.getParentId() == null ? null : element.getParentId().toString(), - element.getNamespace() == null ? null : element.getNamespace().toString(), - JsonUtil.object2Json(element.getInfo()), - JsonUtil.object2Json(element.getRelations()), - element.getData(), - element.getSearchableData(), - element.getVisualization(), - subElementIds, - element.getElementHash().getValue()); - } - - private void updateElement(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - - - if (element.getParentId() == null) { - getElementAccessor(context).update( - JsonUtil.object2Json(element.getInfo()), - JsonUtil.object2Json(element.getRelations()), - element.getData(), - element.getSearchableData(), - element.getVisualization(), - element.getElementHash().getValue(), - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - element.getId().toString(), - elementContext.getRevisionId().getValue()); - } else { - getElementAccessor(context).update( - JsonUtil.object2Json(element.getInfo()), - JsonUtil.object2Json(element.getRelations()), - element.getData(), - element.getSearchableData(), - element.getVisualization(), - element.getElementHash().getValue(), - element.getParentId().getValue(), - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - element.getId().getValue(), - elementContext.getRevisionId().getValue()); - } - - Map elementIds = new TreeMap<>(); - elementIds.put(element.getId().getValue(), elementContext.getRevisionId().getValue()); - getVersionElementsAccessor(context).addElements( - elementIds, - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - elementContext.getRevisionId().getValue()); - } - - private void deleteElement(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - - - getElementAccessor(context).delete( - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - element.getId().toString(), - elementContext.getRevisionId().getValue()); - - getVersionElementsAccessor(context).removeElements( - Collections.singleton(element.getId().toString()), - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - elementContext.getRevisionId().getValue()); - } - - private void addElementToParent(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - if (element.getParentId() == null) { - return; - } - - - getElementAccessor(context).addSubElements( - Collections.singleton(element.getId().toString()), - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - element.getParentId().toString(), - elementContext.getRevisionId().getValue()); - - Map elementIds = new TreeMap<>(); - elementIds.put(element.getParentId().toString(), elementContext.getRevisionId().getValue()); - getVersionElementsAccessor(context).addElements(elementIds, elementContext.getSpace(), - elementContext.getItemId().getValue(), elementContext.getVersionId().getValue(), - elementContext.getRevisionId().getValue()); - } - - private void removeElementFromParent(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - - if (element.getParentId() == null) { - return; - } - - Optional parentElement = - get(context, elementContext, new ElementEntity(element.getParentId())); - if (!parentElement.isPresent()) { - return; - } - getElementAccessor(context).removeSubElements( - Collections.singleton(element.getId().toString()), - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - element.getParentId().toString(), - elementContext.getRevisionId().getValue()); - - getVersionElementsAccessor(context) - .removeElements(Collections.singleton(element.getId().toString()), - elementContext.getSpace(), - elementContext.getItemId().getValue(), elementContext.getVersionId().getValue(), - elementContext.getRevisionId().getValue()); - - Map elementIds = new TreeMap<>(); - elementIds.put(element.getParentId().toString(), elementContext.getRevisionId().getValue()); - getVersionElementsAccessor(context).addElements(elementIds, elementContext.getSpace(), - elementContext.getItemId().getValue(), elementContext.getVersionId().getValue(), - elementContext.getRevisionId().getValue()); - } - - static ElementEntity getElementEntityDescriptor(ElementEntity element, Row row) { - element.setNamespace(getNamespace(row.getString(ElementField.NAMESPACE))); - element.setParentId(getParentId(row.getString(ElementField.PARENT_ID))); - element.setInfo(json2Object(row.getString(ElementField.INFO), Info.class)); - element.setRelations( - json2Object(row.getString(ElementField.RELATIONS), new TypeToken>() { - }.getType())); - - element.setSubElementIds(row.getSet(ElementField.SUB_ELEMENT_IDS, String.class) - .stream().map(Id::new).collect(Collectors.toSet())); - return element; - } - - static ElementEntity getElementEntity(ElementEntity element, Row row) { - getElementEntityDescriptor(element, row); - - element.setData(row.getBytes(ElementField.DATA)); - element.setSearchableData(row.getBytes(ElementField.SEARCHABLE_DATA)); - element.setVisualization(row.getBytes(ElementField.VISUALIZATION)); - element.setElementHash(new Id(row.getString(ElementField.ELEMENT_HASH))); - return element; - } - - private Id getElementHash(Row row) { - return new Id(row.getString(ElementField.ELEMENT_HASH)); - } - - private static Id getParentId(String parentIdStr) { - return parentIdStr == null ? null : new Id(parentIdStr); - } - - private static Namespace getNamespace(String namespaceStr) { - Namespace namespace = new Namespace(); - if (namespaceStr != null) { - namespace.setValue(namespaceStr); - } - return namespace; - } - - private static T json2Object(String json, Type typeOfT) { - return json == null ? null : JsonUtil.json2Object(json, typeOfT); - } - - private Map getVersionElementIds(SessionContext context, - ElementEntityContext elementContext) { - Row row = getVersionElementsAccessor(context).get( - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - elementContext.getRevisionId().getValue()).one(); - return row == null - ? new HashMap<>() - : row.getMap(ElementRepositoryImpl.VersionElementsField.ELEMENT_IDS, String.class, String - .class); - } - - private Id getElementRevision(SessionContext context, ElementEntityContext elementContext - , Id elementId) { - Map versionElementIds = - listIds(context, new ElementEntityContext - (elementContext.getSpace(), elementContext.getItemId(), elementContext.getVersionId(), - elementContext.getRevisionId())); - return versionElementIds.get(elementId); - - } - - - /* -CREATE TABLE IF NOT EXISTS element_namespace ( - item_id text, - element_id text, - namespace text, - PRIMARY KEY (( item_id, element_id )) -); - */ - @Accessor - interface ElementNamespaceAccessor { - @Query("UPDATE element_namespace SET namespace=:ns " + - "WHERE item_id=:item AND element_id=:id ") - void create(@Param("item") String itemId, - @Param("id") String elementId, - @Param("ns") String namespace); - } - - @Accessor - interface ElementAccessor { - @Query( - "UPDATE element SET parent_id=:parentId, namespace=:ns, info=:info, relations=:rels, " + - "data=:data, searchable_data=:searchableData, visualization=:visualization, " + - "sub_element_ids=sub_element_ids+:subs , element_hash=:elementHash " + - " WHERE space=:space AND item_id=:item AND version_id=:ver AND element_id=:id AND " + - "revision_id=:rev ") - void create(@Param("space") String space, - @Param("item") String itemId, - @Param("ver") String versionId, - @Param("id") String elementId, - @Param("rev") String revisionId, - @Param("parentId") String parentElementId, - @Param("ns") String namespace, - @Param("info") String info, - @Param("rels") String relations, - @Param("data") ByteBuffer data, - @Param("searchableData") ByteBuffer searchableData, - @Param("visualization") ByteBuffer visualization, - @Param("subs") Set subElementIds, - @Param("elementHash") String elementHash); - - - @Query("UPDATE element SET info=?, relations=?, data=?, searchable_data=?, visualization=? ," + - "element_hash=? , parent_id=? " + - " WHERE space=? AND item_id=? AND version_id=? AND element_id=? AND revision_id=? ") - void update(String info, String relations, ByteBuffer data, ByteBuffer searchableData, - ByteBuffer visualization, String elementHash, String parentId, String space, String - itemId, String - versionId, String elementId, String revisionId); - - @Query("UPDATE element SET info=?, relations=?, data=?, searchable_data=?, visualization=? ," + - "element_hash=? " + - " WHERE space=? AND item_id=? AND version_id=? AND element_id=? AND revision_id=? ") - void update(String info, String relations, ByteBuffer data, ByteBuffer searchableData, - ByteBuffer visualization, String elementHash, String space, String - itemId, String - versionId, String elementId, String revisionId); - - @Query( - "DELETE FROM element WHERE space=? AND item_id=? AND version_id=? AND element_id=? AND revision_id=? ") - void delete(String space, String itemId, String versionId, String elementId, String revisionId); - - @Query("SELECT parent_id, namespace, info, relations, data, searchable_data, visualization, " + - "sub_element_ids,element_hash FROM element " + - "WHERE space=? AND item_id=? AND version_id=? AND element_id=? AND revision_id=? ") - ResultSet get(String space, String itemId, String versionId, String elementId, String - revisionId); - - @Query("SELECT parent_id, namespace, info, relations, sub_element_ids FROM element " + - "WHERE space=? AND item_id=? AND version_id=? AND element_id=? AND revision_id=? ") - ResultSet getDescriptor(String space, String itemId, String versionId, String elementId, - String revisionId); - - @Query("UPDATE element SET sub_element_ids=sub_element_ids+? " + - " WHERE space=? AND item_id=? AND version_id=? AND element_id=? AND revision_id=? ") - void addSubElements(Set subElementIds, String space, String itemId, String versionId, - String elementId, String revisionId); - - @Query("UPDATE element SET sub_element_ids=sub_element_ids-? " + - " WHERE space=? AND item_id=? AND version_id=? AND element_id=? AND revision_id=? ") - void removeSubElements(Set subElementIds, String space, String itemId, String versionId, - String elementId, String revisionId); - - @Query("SELECT element_hash FROM element " + - "WHERE space=? AND item_id=? AND version_id=? AND element_id=? AND revision_id=? ") - ResultSet getHash(String space, String itemId, String versionId, String elementId, String - revisionId); - } - - private static final class ElementField { - private static final String NAMESPACE = "namespace"; - private static final String PARENT_ID = "parent_id"; - private static final String INFO = "info"; - private static final String RELATIONS = "relations"; - private static final String DATA = "data"; - private static final String SEARCHABLE_DATA = "searchable_data"; - private static final String VISUALIZATION = "visualization"; - private static final String SUB_ELEMENT_IDS = "sub_element_ids"; - private static final String ELEMENT_HASH = "element_hash"; - } - - @Accessor - interface VersionElementsAccessor { - - @Query("UPDATE version_elements SET element_ids=element_ids+ ? " + - "WHERE space=? AND item_id=? AND version_id=? AND revision_id=? ") - void addElements(Map elementIds, String space, String itemId, String versionId, - String versionRevisionId); - - @Query("UPDATE version_elements SET element_ids=element_ids-? " + - "WHERE space=? AND item_id=? AND version_id=? AND revision_id=?") - void removeElements(Set elementIds, String space, String itemId, String versionId, - String revisionId); - - @Query( - "SELECT element_ids FROM version_elements WHERE space=? AND item_id=? AND version_id=? AND revision_id=? ") - ResultSet get(String space, String itemId, String versionId, String revisionId); - - @Query( - "SELECT revision_id,publish_time FROM version_elements WHERE space=? AND item_id=? AND " + - "version_id=? ") - ResultSet listRevisions(String space, String itemId, String versionId); - - } - - private static final class VersionElementsField { - private static final String ELEMENT_IDS = "element_ids"; - private static final String REVISION_ID = "revision_id"; - private static final String PUBLISH_TIME = "publish_time"; - } -} diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementStageRepositoryFactoryImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementStageRepositoryFactoryImpl.java deleted file mode 100644 index 02bec12302..0000000000 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementStageRepositoryFactoryImpl.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright © 2016-2017 European Support Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openecomp.core.zusammen.plugin.dao.impl.cassandra; - -import com.amdocs.zusammen.datatypes.SessionContext; -import org.openecomp.core.zusammen.plugin.dao.ElementStageRepository; -import org.openecomp.core.zusammen.plugin.dao.ElementStageRepositoryFactory; - -public class ElementStageRepositoryFactoryImpl extends ElementStageRepositoryFactory { - - private static final ElementStageRepository INSTANCE = new ElementStageRepositoryImpl(); - - @Override - public ElementStageRepository createInterface(SessionContext context) { - return INSTANCE; - } -} diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementStageRepositoryImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementStageRepositoryImpl.java deleted file mode 100644 index c215f825a6..0000000000 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementStageRepositoryImpl.java +++ /dev/null @@ -1,423 +0,0 @@ -/* - * Copyright © 2016-2017 European Support Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openecomp.core.zusammen.plugin.dao.impl.cassandra; - -import com.amdocs.zusammen.datatypes.Id; -import com.amdocs.zusammen.datatypes.SessionContext; -import com.amdocs.zusammen.datatypes.item.Action; -import com.amdocs.zusammen.plugin.statestore.cassandra.dao.types.ElementEntityContext; -import com.amdocs.zusammen.utils.fileutils.json.JsonUtil; -import com.datastax.driver.core.ResultSet; -import com.datastax.driver.core.Row; -import com.datastax.driver.mapping.annotations.Accessor; -import com.datastax.driver.mapping.annotations.Param; -import com.datastax.driver.mapping.annotations.Query; -import org.openecomp.core.zusammen.plugin.dao.ElementStageRepository; -import org.openecomp.core.zusammen.plugin.dao.types.ElementEntity; -import org.openecomp.core.zusammen.plugin.dao.types.StageEntity; - -import java.nio.ByteBuffer; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.HashSet; -import java.util.Optional; -import java.util.Set; -import java.util.stream.Collectors; - -public class ElementStageRepositoryImpl implements ElementStageRepository { - - @Override - public Collection listIds(SessionContext context, - ElementEntityContext elementContext) { - return getElements(getStageElementIds(context, elementContext)); - } - - @Override - public Collection listConflictedIds(SessionContext context, - ElementEntityContext elementContext) { - return getElements(getConflictedElementIds(context, elementContext)); - } - - @Override - public void create(SessionContext context, ElementEntityContext elementContext, - StageEntity elementStage) { - createElement(context, elementContext, elementStage); - addElementToParent(context, elementContext, elementStage.getEntity()); - } - - @Override - public void markAsNotConflicted(SessionContext context, ElementEntityContext elementContext, - ElementEntity element, Action action) { - getElementStageAccessor(context).updateState(action, false, - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - element.getId().toString()); - - getStageElementsAccessor(context).removeConflictElements( - Collections.singleton(element.getId().toString()), - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - elementContext.getRevisionId().getValue()); - } - - @Override - public void markAsNotConflicted(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - getElementStageAccessor(context).markAsNotConflicted( - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - element.getId().toString()); - - getStageElementsAccessor(context).removeConflictElements( - Collections.singleton(element.getId().toString()), - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - elementContext.getRevisionId().getValue()); - } - - @Override - public void update(SessionContext context, ElementEntityContext elementContext, - ElementEntity element, Action action, boolean conflicted) { - getElementStageAccessor(context).update( - JsonUtil.object2Json(element.getInfo()), - JsonUtil.object2Json(element.getRelations()), - element.getData(), - element.getSearchableData(), - element.getVisualization(), - element.getElementHash().getValue(), - action, - conflicted, - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - element.getId().toString()); - - if (!conflicted) { - getStageElementsAccessor(context).removeConflictElements( - Collections.singleton(element.getId().toString()), - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - elementContext.getRevisionId().getValue()); - } - } - - @Override - public void delete(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - removeElementFromParent(context, elementContext, element); - deleteElement(context, elementContext, element); - } - - @Override - public Optional> get(SessionContext context, - ElementEntityContext elementContext, - ElementEntity element) { - Row row = getElementStageAccessor(context).get( - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - element.getId().toString()).one(); - - return row == null ? Optional.empty() : Optional.of(getStageElement(row)); - } - - @Override - public Optional> getDescriptor(SessionContext context, - ElementEntityContext elementContext, - ElementEntity element) { - Row row = getElementStageAccessor(context).getDescriptor( - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - element.getId().toString()).one(); - - return row == null ? Optional.empty() : Optional.of(getStageElementDescriptor(row)); - } - - - - private Collection getElements(Set elementIds) { - return elementIds.stream() - .map(id -> new ElementEntity(new Id(id))) - .collect(Collectors.toList()); - } - - private void createElement(SessionContext context, ElementEntityContext elementContext, - StageEntity elementStage) { - - - ElementEntity element = elementStage.getEntity(); - Set subElementIds = - element.getSubElementIds().stream().map(Id::toString).collect(Collectors.toSet()); - Set conflictDependents = elementStage.getConflictDependents().stream() - .map(conflictDependent -> conflictDependent.getId().getValue()) - .collect(Collectors.toSet()); - - getElementStageAccessor(context).create( - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - element.getId().toString(), - element.getParentId() == null ? null : element.getParentId().toString(), - element.getNamespace() == null ? null : element.getNamespace().toString(), - JsonUtil.object2Json(element.getInfo()), - JsonUtil.object2Json(element.getRelations()), - element.getData(), - element.getSearchableData(), - element.getVisualization(), - subElementIds, - element.getElementHash() == null ? null : element.getElementHash().getValue(), - elementStage.getPublishTime(), - elementStage.getAction(), - elementStage.isConflicted(), - conflictDependents); - - getStageElementsAccessor(context).add( - Collections.singleton(element.getId().toString()), - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - elementContext.getRevisionId().getValue()); - - if (elementStage.isConflicted()) { - getStageElementsAccessor(context).addConflictElements( - Collections.singleton(element.getId().toString()), - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - elementContext.getRevisionId().getValue()); - } - } - - private void deleteElement(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - - - getElementStageAccessor(context).delete( - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - element.getId().toString()); - - getStageElementsAccessor(context).remove( - Collections.singleton(element.getId().toString()), - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - elementContext.getRevisionId().getValue()); - } - - private void addElementToParent(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - if (element.getParentId() == null) { - return; - } - getElementStageAccessor(context).addSubElements( - Collections.singleton(element.getId().toString()), - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - element.getParentId().toString()); - } - - private void removeElementFromParent(SessionContext context, ElementEntityContext elementContext, - ElementEntity element) { - if (element.getParentId() == null) { - return; - } - getElementStageAccessor(context).removeSubElements( - Collections.singleton(element.getId().toString()), - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - element.getParentId().toString()); - } - - private StageEntity getStageElementDescriptor(Row row) { - return buildStageElement(ElementRepositoryImpl.getElementEntityDescriptor( - new ElementEntity(new Id(row.getString(ElementStageField.ID))), row), row); - } - - private StageEntity getStageElement(Row row) { - return buildStageElement(ElementRepositoryImpl.getElementEntity( - new ElementEntity(new Id(row.getString(ElementStageField.ID))), row), row); - } - - - private StageEntity buildStageElement(ElementEntity element, Row row) { - StageEntity elementStage = - new StageEntity<>(element, row.getDate(ElementStageField.PUBLISH_TIME)); - elementStage.setAction(Action.valueOf(row.getString(ElementStageField.ACTION))); - elementStage.setConflicted(row.getBool(ElementStageField.CONFLICTED)); - elementStage.setConflictDependents( - row.getSet(ElementStageField.CONFLICT_DEPENDENTS, String.class).stream() - .map(conflictDependentId -> new ElementEntity(new Id(conflictDependentId))) - .collect(Collectors.toSet())); - return elementStage; - } - - private Set getStageElementIds(SessionContext context, - ElementEntityContext elementContext) { - Row row = getStageElementsAccessor(context).get( - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - elementContext.getRevisionId().getValue()).one(); - return row == null ? new HashSet<>() - : row.getSet(StageElementsField.STAGE_ELEMENT_IDS, String.class); - } - - private Set getConflictedElementIds(SessionContext context, - ElementEntityContext elementContext) { - Row row = getStageElementsAccessor(context).getConflicted( - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().getValue(), - elementContext.getRevisionId().getValue()).one(); - return row == null ? new HashSet<>() - : row.getSet(StageElementsField.CONFLICT_ELEMENT_IDS, String.class); - } - - private ElementStageAccessor getElementStageAccessor(SessionContext context) { - return CassandraDaoUtils.getAccessor(context, ElementStageAccessor.class); - } - - private StageElementsAccessor getStageElementsAccessor(SessionContext context) { - return CassandraDaoUtils.getAccessor(context, StageElementsAccessor.class); - } - - @Accessor - interface ElementStageAccessor { - @Query( - "UPDATE element_stage SET parent_id=:parentId, namespace=:ns, info=:info, relations=:rels, " + - "data=:data, searchable_data=:searchableData, visualization=:visualization, " + - "publish_time=:publishTime, action=:action, " + - "conflicted=:conflicted, conflict_dependent_ids=:conflictDependents, " + - "sub_element_ids=sub_element_ids+:subs, element_hash=:elementHash " + - "WHERE space=:space AND item_id=:item AND version_id=:ver AND element_id=:id ") - void create(@Param("space") String space, - @Param("item") String itemId, - @Param("ver") String versionId, - @Param("id") String elementId, - @Param("parentId") String parentElementId, - @Param("ns") String namespace, - @Param("info") String info, - @Param("rels") String relations, - @Param("data") ByteBuffer data, - @Param("searchableData") ByteBuffer searchableData, - @Param("visualization") ByteBuffer visualization, - @Param("subs") Set subElementIds, - @Param("elementHash") String elementHash, - @Param("publishTime") Date publishTime, - @Param("action") Action action, - @Param("conflicted") boolean conflicted, - @Param("conflictDependents") Set conflictDependents); - - @Query("UPDATE element_stage SET info=?, relations=?, data=?, searchable_data=?, " + - "visualization=?,element_hash=?, action=?, conflicted=? " + - " WHERE space=? AND item_id=? AND version_id=? AND element_id=? ") - void update(String info, String relations, ByteBuffer data, ByteBuffer searchableData, - ByteBuffer visualization, String elementHash, Action action, boolean conflicted, - String space, - String itemId, String versionId, String elementId); - - @Query("UPDATE element_stage SET action=?, conflicted=? " + - " WHERE space=? AND item_id=? AND version_id=? AND element_id=? ") - void updateState(Action action, boolean conflicted, String space, String itemId, - String versionId, String elementId); - - @Query("UPDATE element_stage SET conflicted=false " + - " WHERE space=? AND item_id=? AND version_id=? AND element_id=? ") - void markAsNotConflicted(String space, String itemId, String versionId, String elementId); - - @Query( - "DELETE FROM element_stage WHERE space=? AND item_id=? AND version_id=? AND element_id=?") - void delete(String space, String itemId, String versionId, String elementId); - - @Query("SELECT element_id, parent_id, namespace, info, relations, data, searchable_data, " + - "visualization, sub_element_ids,element_hash, publish_time, action, " + - "conflicted, conflict_dependent_ids FROM element_stage " + - "WHERE space=? AND item_id=? AND version_id=? AND element_id=? ") - ResultSet get(String space, String itemId, String versionId, String elementId); - - @Query("SELECT element_id, parent_id, namespace, info, relations, " + - "sub_element_ids, publish_time, action, conflicted, conflict_dependent_ids " + - "FROM element_stage WHERE space=? AND item_id=? AND version_id=? AND element_id=? ") - ResultSet getDescriptor(String space, String itemId, String versionId, String elementId); - - @Query("UPDATE element_stage SET sub_element_ids=sub_element_ids+? " + - " WHERE space=? AND item_id=? AND version_id=? AND element_id=? ") - void addSubElements(Set subElementIds, String space, String itemId, String versionId, - String elementId); - - @Query("UPDATE element_stage SET sub_element_ids=sub_element_ids-? " + - " WHERE space=? AND item_id=? AND version_id=? AND element_id=? ") - void removeSubElements(Set subElementIds, String space, String itemId, String versionId, - String elementId); - } - - private static final class ElementStageField { - private static final String ID = "element_id"; - private static final String PUBLISH_TIME = "publish_time"; - private static final String ACTION = "action"; - private static final String CONFLICTED = "conflicted"; - private static final String CONFLICT_DEPENDENTS = "conflict_dependent_ids"; - } - - @Accessor - interface StageElementsAccessor { - - @Query("UPDATE version_elements SET stage_element_ids=stage_element_ids+? " + - "WHERE space=? AND item_id=? AND version_id=? AND revision_id=? ") - void add(Set elementIds, String space, String itemId, String versionId, String - revisionId); - - @Query("UPDATE version_elements SET stage_element_ids=stage_element_ids-? " + - "WHERE space=? AND item_id=? AND version_id=? AND revision_id=? ") - void remove(Set elementIds, String space, String itemId, String versionId, String - revisionId); - - @Query("SELECT stage_element_ids FROM version_elements " + - "WHERE space=? AND item_id=? AND version_id=? AND revision_id=?") - ResultSet get(String space, String itemId, String versionId, String revisionId); - - @Query("UPDATE version_elements SET conflict_element_ids=conflict_element_ids+? " + - "WHERE space=? AND item_id=? AND version_id=? AND revision_id=? ") - void addConflictElements(Set elementIds, String space, String itemId, String - versionId, String revisionId); - - @Query("UPDATE version_elements SET conflict_element_ids=conflict_element_ids-? " + - "WHERE space=? AND item_id=? AND version_id=? AND revision_id=? ") - void removeConflictElements(Set elementIds, String space, String itemId, - String versionId, String revisionId); - - @Query("SELECT conflict_element_ids FROM version_elements " + - "WHERE space=? AND item_id=? AND version_id=? AND revision_id=? ") - ResultSet getConflicted(String space, String itemId, String versionId, String revisionId); - } - - private static final class StageElementsField { - private static final String STAGE_ELEMENT_IDS = "stage_element_ids"; - private static final String CONFLICT_ELEMENT_IDS = "conflict_element_ids"; - } -} diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementSynchronizationStateRepositoryFactoryImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementSynchronizationStateRepositoryFactoryImpl.java deleted file mode 100644 index ec7e1c30ae..0000000000 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementSynchronizationStateRepositoryFactoryImpl.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright © 2016-2017 European Support Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openecomp.core.zusammen.plugin.dao.impl.cassandra; - -import com.amdocs.zusammen.datatypes.SessionContext; -import org.openecomp.core.zusammen.plugin.dao.ElementSynchronizationStateRepository; -import org.openecomp.core.zusammen.plugin.dao.ElementSynchronizationStateRepositoryFactory; - -public class ElementSynchronizationStateRepositoryFactoryImpl - extends ElementSynchronizationStateRepositoryFactory { - - private static final ElementSynchronizationStateRepository INSTANCE = - new ElementSynchronizationStateRepositoryImpl(); - - @Override - public ElementSynchronizationStateRepository createInterface(SessionContext context) { - return INSTANCE; - } -} diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementSynchronizationStateRepositoryImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementSynchronizationStateRepositoryImpl.java deleted file mode 100644 index d41d3d73b1..0000000000 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/ElementSynchronizationStateRepositoryImpl.java +++ /dev/null @@ -1,209 +0,0 @@ -package org.openecomp.core.zusammen.plugin.dao.impl.cassandra; - -import com.amdocs.zusammen.datatypes.Id; -import com.amdocs.zusammen.datatypes.SessionContext; -import com.amdocs.zusammen.plugin.statestore.cassandra.dao.types.ElementEntityContext; -import com.datastax.driver.core.ResultSet; -import com.datastax.driver.core.Row; -import com.datastax.driver.mapping.annotations.Accessor; -import com.datastax.driver.mapping.annotations.Query; -import org.openecomp.core.zusammen.plugin.dao.ElementSynchronizationStateRepository; -import org.openecomp.core.zusammen.plugin.dao.types.SynchronizationStateEntity; - -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.HashSet; -import java.util.List; -import java.util.Optional; -import java.util.Set; -import java.util.stream.Collectors; - -public class ElementSynchronizationStateRepositoryImpl - implements ElementSynchronizationStateRepository { - - @Override - public Collection list(SessionContext context, - ElementEntityContext elementContext) { - List rows = getAccessor(context) - .list(elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString()).all(); - return rows == null ? new HashSet<>() - : rows.stream().map(this::getSynchronizationStateEntity).collect(Collectors.toSet()); - - } - - @Override - public void create(SessionContext context, ElementEntityContext elementContext, - SynchronizationStateEntity elementSyncState) { - update(context, elementContext.getSpace(), - elementContext.getItemId(), - elementContext.getVersionId(), - elementContext.getRevisionId(), - elementSyncState.getRevisionId(), - elementSyncState.getId(), - elementSyncState.getPublishTime(), - elementSyncState.isDirty() - - ); - } - - @Override - public void update(SessionContext context, ElementEntityContext elementContext, - SynchronizationStateEntity elementSyncState) { - update(context, elementContext.getSpace(), - elementContext.getItemId(), - elementContext.getVersionId(), - elementContext.getRevisionId(), - elementSyncState.getRevisionId(), - elementSyncState.getId(), - elementSyncState.getPublishTime(), - elementSyncState.isDirty() - - ); - } - - @Override - public void markAsDirty(SessionContext context, ElementEntityContext elementContext, - SynchronizationStateEntity elementSyncState) { - - - getAccessor(context).updateDirty(true, - elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - elementSyncState.getId().toString(), - elementContext.getRevisionId().getValue()); - - getVersionElementsAccessor(context).addDirtyElements( - Collections.singleton(elementSyncState.getId().toString()), elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - elementContext.getRevisionId().getValue()); - } - - @Override - public void delete(SessionContext context, ElementEntityContext elementContext, - SynchronizationStateEntity elementSyncState) { - getAccessor(context).delete(elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - elementSyncState.getId().toString(), - elementContext.getRevisionId().getValue()); - - getVersionElementsAccessor(context).removeDirtyElements( - Collections.singleton(elementSyncState.getId().toString()), elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - elementContext.getRevisionId().getValue()); - } - - @Override - public Optional get(SessionContext context, - ElementEntityContext elementContext, - SynchronizationStateEntity elementSyncState) { - - Row row = getAccessor(context) - .get(elementContext.getSpace(), - elementContext.getItemId().toString(), - elementContext.getVersionId().toString(), - elementSyncState.getId().toString(), - elementSyncState.getRevisionId().getValue()).one(); - - return row == null ? Optional.empty() : Optional.of(getSynchronizationStateEntity(row)); - } - - private void update(SessionContext context, String space, Id itemId, Id versionId, Id - versionRevisionId,Id elementRevisionId,Id elementId, Date publishTime, boolean isDirty) { - getAccessor(context).update(publishTime, - isDirty, - space, - itemId.toString(), - versionId.toString(), - elementId.toString(), - elementRevisionId.getValue()); - - if (isDirty) { - getVersionElementsAccessor(context).addDirtyElements( - Collections.singleton(elementId.toString()), space, - itemId.toString(), - versionId.toString(), - versionRevisionId.getValue()); - } else { - getVersionElementsAccessor(context).removeDirtyElements( - Collections.singleton(elementId.toString()), space, - itemId.toString(), - versionId.toString(), - versionRevisionId.getValue()); - } - } - - - private SynchronizationStateEntity getSynchronizationStateEntity(Row row) { - SynchronizationStateEntity entity = - new SynchronizationStateEntity(new Id(row.getString(SynchronizationStateField.ID)), - new Id(row.getString(SynchronizationStateField.REVISION_ID)), - row.getDate(SynchronizationStateField.PUBLISH_TIME), - row.getBool(SynchronizationStateField.DIRTY)); - entity.setRevisionId(new Id(row.getString(SynchronizationStateField.REVISION_ID))); - - return entity; - - } - - private ElementSynchronizationStateAccessor getAccessor(SessionContext context) { - return CassandraDaoUtils.getAccessor(context, ElementSynchronizationStateAccessor.class); - } - - private VersionElementsAccessor getVersionElementsAccessor(SessionContext context) { - return CassandraDaoUtils.getAccessor(context, VersionElementsAccessor.class); - } - - @Accessor - interface ElementSynchronizationStateAccessor { - @Query("UPDATE element_synchronization_state SET publish_time=?, dirty=? " + - "WHERE space=? AND item_id=? AND version_id=? AND element_id=? AND revision_id = ? ") - void update(Date publishTime, boolean dirty, String space, String itemId, String versionId, - String elementId, String revisionId); - - @Query("UPDATE element_synchronization_state SET dirty=? " + - "WHERE space=? AND item_id=? AND version_id=? AND element_id=? AND revision_id = ? ") - void updateDirty(boolean dirty, String space, String itemId, String versionId, - String elementId, String revisionId); - - @Query("DELETE FROM element_synchronization_state " + - "WHERE space=? AND item_id=? AND version_id=? AND element_id=? AND revision_id = ? ") - void delete(String space, String itemId, String versionId, String elementId, String revisionId); - - @Query("SELECT element_id,revision_id, publish_time, dirty FROM element_synchronization_state" + - " WHERE space=? AND item_id=? AND version_id=?") - ResultSet list(String space, String itemId, String versionId); - - @Query("SELECT element_id,revision_id, publish_time, dirty FROM element_synchronization_state" + - " WHERE space=? AND item_id=? AND version_id=? AND element_id=? AND revision_id = ? ") - ResultSet get(String space, String itemId, String versionId, String elementId, String - revisionId); - } - - private static final class SynchronizationStateField { - private static final String ID = "element_id"; - private static final String PUBLISH_TIME = "publish_time"; - private static final String DIRTY = "dirty"; - private static final String REVISION_ID = "revision_id"; - } - - @Accessor - interface VersionElementsAccessor { - - @Query("UPDATE version_elements SET dirty_element_ids=dirty_element_ids+? " + - "WHERE space=? AND item_id=? AND version_id=? AND revision_id=?") - void addDirtyElements(Set elementIds, String space, String itemId, String versionId, - String revisionId); - - @Query("UPDATE version_elements SET dirty_element_ids=dirty_element_ids-? " + - "WHERE space=? AND item_id=? AND version_id=? AND revision_id=? ") - void removeDirtyElements(Set elementIds, String space, String itemId, String - versionId, String revisionId); - } -} diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionDaoFactoryImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionDaoFactoryImpl.java deleted file mode 100644 index 60dc9d1765..0000000000 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionDaoFactoryImpl.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.openecomp.core.zusammen.plugin.dao.impl.cassandra; - -import com.amdocs.zusammen.datatypes.SessionContext; -import org.openecomp.core.zusammen.plugin.dao.VersionDao; -import org.openecomp.core.zusammen.plugin.dao.VersionDaoFactory; - -public class VersionDaoFactoryImpl extends VersionDaoFactory { - - private static final VersionDao INSTANCE = new VersionDaoImpl(); - - @Override - public VersionDao createInterface(SessionContext context) { - return INSTANCE; - } -} diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionDaoImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionDaoImpl.java deleted file mode 100644 index bba2ddf267..0000000000 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionDaoImpl.java +++ /dev/null @@ -1,185 +0,0 @@ -package org.openecomp.core.zusammen.plugin.dao.impl.cassandra; - -import com.amdocs.zusammen.datatypes.Id; -import com.amdocs.zusammen.datatypes.SessionContext; -import com.datastax.driver.core.ResultSet; -import com.datastax.driver.core.Row; -import com.datastax.driver.mapping.annotations.Accessor; -import com.datastax.driver.mapping.annotations.Query; -import org.openecomp.core.zusammen.plugin.dao.VersionDao; -import org.openecomp.core.zusammen.plugin.dao.types.VersionEntity; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.stream.Collectors; - -import static java.util.stream.Collectors.toMap; - -public class VersionDaoImpl implements VersionDao { - - @Override - public void create(SessionContext context, String space, Id itemId, VersionEntity version) { - String baseVersion = version.getBaseId() != null ? version.getBaseId().toString() : null; - - getAccessor(context) - .create(space, itemId.toString(), version.getId().toString(), - baseVersion, - version.getCreationTime(), version.getModificationTime()); - - } - - @Override - public void delete(SessionContext context, String space, Id itemId, Id versionId) { - - getAccessor(context).delete(space, itemId.toString(), versionId.toString()); - } - - @Override - public void updateModificationTime(SessionContext context, String space, Id itemId, - Id versionId, Date modificationTime) { - getAccessor(context) - .updateModificationTime(modificationTime, space, itemId.toString(), versionId.toString()); - } - - - @Override - public Collection list(SessionContext context, String space, Id itemId) { - List rows = getAccessor(context).list(space, itemId.toString()).all(); - return rows == null ? new ArrayList<>() : - rows.stream().map(VersionDaoImpl::convertToVersionEntity).collect(Collectors.toList()); - } - - - @Override - public Optional get(SessionContext context, String space, Id itemId, - Id versionId) { - Row row; - - row = getAccessor(context).get(space, itemId.toString(), versionId.toString()).one(); - - - return row == null ? Optional.empty() : Optional.of(convertToVersionEntity(row)); - } - - @Override - public boolean checkHealth(SessionContext context) { - return getAccessor(context).checkHealth().getColumnDefinitions() - .contains(VersionField.VERSION_ID); - } - - @Override - public void createVersionElements(SessionContext context, String space, Id itemId, - Id versionId, Id revisionId, Map versionElementIds, - Date publishTime, String message) { - Map elementIds = versionElementIds==null?null:versionElementIds. - entrySet(). - stream(). - collect(toMap((Map.Entryentry)->entry.getKey().getValue(), - (Map.Entryentry)->entry.getValue().getValue())); - - getVersionElementsAccessor(context).create(space,itemId.toString(),versionId.toString(), - revisionId.getValue(),elementIds,publishTime,message,context.getUser().getUserName()); - } - - - private static VersionEntity convertToVersionEntity(Row row) { - - /*Id revisionId = row.getColumnDefinitions().contains("revision_id")?new Id(row.getString - (VersionField.REVISION_ID)):null;*/ - - VersionEntity version = new VersionEntity(new Id(row.getString(VersionField.VERSION_ID))); - return enrichVersionEntity(version, row); - } - - static VersionEntity enrichVersionEntity(VersionEntity version, Row row) { - version.setBaseId(new Id(row.getString(VersionField.BASE_VERSION_ID))); - version.setCreationTime(row.getDate(VersionField.CREATION_TIME)); - version.setModificationTime(row.getDate(VersionField.MODIFICATION_TIME)); - return version; - } - - private VersionAccessor getAccessor(SessionContext context) { - return CassandraDaoUtils.getAccessor(context, VersionAccessor.class); - } - - private VersionElementsAccessor getVersionElementsAccessor(SessionContext context) { - return CassandraDaoUtils.getAccessor(context, VersionElementsAccessor.class); - } - - @Accessor - interface VersionAccessor { - - @Query( - "INSERT INTO version (space, item_id, version_id, base_version_id, " + - "creation_time, " + - "modification_time) " + - "VALUES (?, ?, ?, ?, ?, ?)") - void create(String space, String itemId, String versionId, String baseVersionId, - Date creationTime, Date modificationTime); - - @Query("UPDATE version SET modification_time=? WHERE space=? AND item_id=? AND version_id=? ") - void updateModificationTime(Date modificationTime, String space, String itemId, - String versionId); - - @Query("DELETE FROM version WHERE space=? AND item_id=? AND version_id=? ") - void delete(String space, String itemId, String versionId); - - @Query("SELECT version_id, base_version_id, creation_time, modification_time " + - "FROM version WHERE space=? AND item_id=? AND version_id=? ") - ResultSet get(String space, String itemId, String versionId); - - /*@Query("SELECT version_id, base_version_id, creation_time, modification_time " + - "FROM version WHERE space=? AND item_id=? AND version_id=? ") - ResultSet get(String space, String itemId, String versionId);*/ - - - @Query("SELECT version_id, base_version_id, creation_time, modification_time " + - "FROM version WHERE space=? AND item_id=?") - ResultSet list(String space, String itemId); - - @Query("SELECT version_id FROM version LIMIT 1") - ResultSet checkHealth(); - } - - private static final class VersionField { - private static final String VERSION_ID = "version_id"; - private static final String BASE_VERSION_ID = "base_version_id"; - private static final String CREATION_TIME = "creation_time"; - private static final String MODIFICATION_TIME = "modification_time"; - //private static final String REVISION_ID = "revision_id"; - } - - @Accessor - interface VersionElementsAccessor { - - @Query("INSERT INTO version_elements (space,item_id,version_id,revision_id,element_ids," + - "publish_time,message,user) " + - "VALUES (?,?,?,?,?,?,?,?)") - void create(String space, - String itemId, - String versionId, - String versionRevisionId, - Map elementIds, - Date publishTime, - String message, - String user); - - - - } - - /* public static final class VersionElementsField { - private static final String SPACE = "space"; - private static final String ITEM_ID = "item_id"; - private static final String VERSION_ID = "version_id"; - private static final String ELEMENT_IDS = "element_ids"; - private static final String REVISION_ID = "revision_id"; - - }*/ - - -} diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionStageRepositoryFactoryImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionStageRepositoryFactoryImpl.java deleted file mode 100644 index 547bf6a06c..0000000000 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionStageRepositoryFactoryImpl.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.openecomp.core.zusammen.plugin.dao.impl.cassandra; - -import com.amdocs.zusammen.datatypes.SessionContext; -import org.openecomp.core.zusammen.plugin.dao.VersionStageRepository; -import org.openecomp.core.zusammen.plugin.dao.VersionStageRepositoryFactory; - -public class VersionStageRepositoryFactoryImpl extends VersionStageRepositoryFactory { - - private static final VersionStageRepository INSTANCE = new VersionStageRepositoryImpl(); - - @Override - public VersionStageRepository createInterface(SessionContext context) { - return INSTANCE; - } -} diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionStageRepositoryImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionStageRepositoryImpl.java deleted file mode 100644 index 353f37b91b..0000000000 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionStageRepositoryImpl.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.openecomp.core.zusammen.plugin.dao.impl.cassandra; - -import com.amdocs.zusammen.datatypes.SessionContext; -import com.amdocs.zusammen.datatypes.item.Action; -import com.datastax.driver.core.ResultSet; -import com.datastax.driver.core.Row; -import com.datastax.driver.mapping.annotations.Accessor; -import com.datastax.driver.mapping.annotations.Query; -import org.openecomp.core.zusammen.plugin.dao.VersionStageRepository; -import org.openecomp.core.zusammen.plugin.dao.types.StageEntity; -import org.openecomp.core.zusammen.plugin.dao.types.VersionContext; -import org.openecomp.core.zusammen.plugin.dao.types.VersionEntity; - -import java.util.Date; -import java.util.Optional; - -public class VersionStageRepositoryImpl implements VersionStageRepository { - - @Override - public Optional> get(SessionContext context, - VersionContext entityContext, - VersionEntity entity) { - Row row = getAccessor(context) - .get(entityContext.getSpace(), entityContext.getItemId().toString(), - entity.getId().toString()).one(); - return row == null ? Optional.empty() : Optional.of(convertToVersionStage(entity, row)); - } - - @Override - public void create(SessionContext context, VersionContext entityContext, - StageEntity stageEntity) { - VersionEntity entity = stageEntity.getEntity(); - getAccessor(context).create(entityContext.getSpace(), - entityContext.getItemId().toString(), - entity.getId().toString(), - entity.getBaseId() == null ? null : entity.getBaseId().toString(), - entity.getCreationTime() == null ? null : entity.getCreationTime(), - entity.getModificationTime() == null ? null : entity.getModificationTime(), - stageEntity.getPublishTime(), - stageEntity.getAction()); - } - - @Override - public void delete(SessionContext context, VersionContext entityContext, VersionEntity entity) { - getAccessor(context).delete(entityContext.getSpace(), entityContext.getItemId().toString(), - entity.getId().toString()); - } - - private StageEntity convertToVersionStage(VersionEntity version, Row row) { - StageEntity versionStage = - new StageEntity<>(VersionDaoImpl.enrichVersionEntity(version, row), - row.getDate(VersionStageField.PUBLISH_TIME)); - versionStage.setAction(Action.valueOf(row.getString(VersionStageField.ACTION))); - return versionStage; - } - - private VersionStageAccessor getAccessor(SessionContext context) { - return CassandraDaoUtils.getAccessor(context, VersionStageAccessor.class); - } - - @Accessor - interface VersionStageAccessor { - - @Query("INSERT INTO version_stage (space, item_id, version_id, base_version_id, " + - "creation_time, modification_time, publish_time, action) " + - "VALUES (?, ?, ?, ?, ?, ?, ?, ?)") - void create(String space, String itemId, String versionId, String baseVersionId, - Date creationTime, Date modificationTime, Date publishTime, Action action); - - @Query("DELETE FROM version_stage WHERE space=? AND item_id=? AND version_id=?") - void delete(String space, String itemId, String versionId); - - @Query("SELECT base_version_id, creation_time, modification_time, publish_time, action " + - "FROM version_stage WHERE space=? AND item_id=? AND version_id=?") - ResultSet get(String space, String itemId, String versionId); - } - - private static final class VersionStageField { - private static final String PUBLISH_TIME = "publish_time"; - private static final String ACTION = "action"; - } -} diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionSynchronizationStateRepositoryFactoryImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionSynchronizationStateRepositoryFactoryImpl.java deleted file mode 100644 index 95c3ec2730..0000000000 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionSynchronizationStateRepositoryFactoryImpl.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright © 2016-2017 European Support Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openecomp.core.zusammen.plugin.dao.impl.cassandra; - -import com.amdocs.zusammen.datatypes.SessionContext; -import org.openecomp.core.zusammen.plugin.dao.VersionSynchronizationStateRepository; -import org.openecomp.core.zusammen.plugin.dao.VersionSynchronizationStateRepositoryFactory; - -public class VersionSynchronizationStateRepositoryFactoryImpl - extends VersionSynchronizationStateRepositoryFactory { - - private static final VersionSynchronizationStateRepository INSTANCE = - new VersionSynchronizationStateRepositoryImpl(); - - @Override - public VersionSynchronizationStateRepository createInterface(SessionContext context) { - return INSTANCE; - } -} diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionSynchronizationStateRepositoryImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionSynchronizationStateRepositoryImpl.java deleted file mode 100644 index 5fb9779bc2..0000000000 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/impl/cassandra/VersionSynchronizationStateRepositoryImpl.java +++ /dev/null @@ -1,137 +0,0 @@ -package org.openecomp.core.zusammen.plugin.dao.impl.cassandra; - -import com.amdocs.zusammen.datatypes.Id; -import com.amdocs.zusammen.datatypes.SessionContext; -import com.datastax.driver.core.ResultSet; -import com.datastax.driver.core.Row; -import com.datastax.driver.mapping.annotations.Accessor; -import com.datastax.driver.mapping.annotations.Query; -import org.openecomp.core.zusammen.plugin.dao.VersionSynchronizationStateRepository; -import org.openecomp.core.zusammen.plugin.dao.types.SynchronizationStateEntity; -import org.openecomp.core.zusammen.plugin.dao.types.VersionContext; -import org.openecomp.core.zusammen.plugin.dao.types.VersionEntity; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; - -public class VersionSynchronizationStateRepositoryImpl - implements VersionSynchronizationStateRepository { - - @Override - public void create(SessionContext context, VersionContext entityContext, - SynchronizationStateEntity syncStateEntity) { - updatePublishTime(context, entityContext, syncStateEntity); - } - - @Override - public void updatePublishTime(SessionContext context, VersionContext entityContext, - SynchronizationStateEntity syncStateEntity) { - getAccessor(context) - .updatePublishTime(syncStateEntity.getPublishTime(), entityContext.getSpace(), - entityContext.getItemId().toString(), syncStateEntity.getId().toString(), - syncStateEntity.getRevisionId().getValue()); - } - - @Override - public List list(SessionContext context, VersionContext - entityContext, VersionEntity versionEntity) { - - List rows = getAccessor(context).list(entityContext.getSpace(), entityContext.getItemId().toString - (),versionEntity.getId().toString()).all(); - return rows == null ? new ArrayList<>(): - rows.stream().map(VersionSynchronizationStateRepositoryImpl::getSynchronizationStateEntity).collect(Collectors.toList()); - } - - - - /*@Override - public List listRevisions(SessionContext context, - VersionContext entityContext, - SynchronizationStateEntity syncStateEntity) { - List rows = getAccessor(context).list(entityContext.getSpace(), entityContext.getItemId() - .toString(), syncStateEntity.getId().toString()).all(); - return rows == null ? new ArrayList<>() :rows.stream() - .map(VersionSynchronizationStateRepositoryImpl::getSynchronizationStateEntity) - .collect(Collectors.toList()); - - - - - //forEach(row -> getSynchronizationStateEntity(syncStateEntity.getId(), row)); - - - }*/ - - - @Override - public void delete(SessionContext context, VersionContext entityContext, - SynchronizationStateEntity syncStateEntity) { - // done by version dao - } - - @Override - public Optional get(SessionContext context, - VersionContext entityContext, - SynchronizationStateEntity syncStateEntity) { - Row row = - getAccessor(context).get(entityContext.getSpace(), entityContext.getItemId().toString(), - syncStateEntity.getId().toString(), syncStateEntity.getRevisionId().getValue()).one(); - - return row == null ? Optional.empty() - : Optional.of(getSynchronizationStateEntity(syncStateEntity.getId(), row)); - } - - private SynchronizationStateEntity getSynchronizationStateEntity(Id entityId, Row row) { - SynchronizationStateEntity syncStateEntity = new SynchronizationStateEntity(entityId, - new Id(row.getString(REVISION_ID_FIELD))); - syncStateEntity.setPublishTime(row.getDate(PUBLISH_TIME_FIELD)); - syncStateEntity.setDirty(!row.getSet(DIRTY_ELEMENT_FIELD, String.class).isEmpty()); - return syncStateEntity; - } - - private static SynchronizationStateEntity getSynchronizationStateEntity(Row row) { - Id entityId = new Id(row.getColumnDefinitions().contains("version_id") ? row.getString - ("version_id") : row.getString("element_id")); - SynchronizationStateEntity syncStateEntity = new SynchronizationStateEntity(entityId, - new Id(row.getString(REVISION_ID_FIELD))); - syncStateEntity.setPublishTime(row.getDate(PUBLISH_TIME_FIELD)); - syncStateEntity.setDirty(!row.getSet(DIRTY_ELEMENT_FIELD, String.class).isEmpty()); - syncStateEntity.setRevisionId(new Id(row.getString(REVISION_ID_FIELD))); - syncStateEntity.setUser(row.getString(USER)); - syncStateEntity.setMessage(row.getString(MESSAGE)); - return syncStateEntity; - } - - private VersionSyncStateAccessor getAccessor(SessionContext context) { - return CassandraDaoUtils.getAccessor(context, VersionSyncStateAccessor.class); - } - - @Accessor - interface VersionSyncStateAccessor { - @Query( - "UPDATE version_elements SET publish_time=? WHERE space=? AND item_id=? AND version_id=? " + - "AND revision_id=? ") - void updatePublishTime(Date publishTime, String space, String itemId, String versionId, String - revisionId); - - @Query("SELECT version_id,revision_id,publish_time, dirty_element_ids FROM version_elements " + - "WHERE space=? AND item_id=? AND version_id=? AND revision_id=? ") - ResultSet get(String space, String itemId, String versionId, String revisionId); - - @Query("SELECT version_id,revision_id,publish_time,user,message, dirty_element_ids FROM " + - "version_elements " + - "WHERE space=? AND item_id=? AND version_id=? ") - ResultSet list(String space, String itemId, String versionId); - - } - - - private static final String PUBLISH_TIME_FIELD = "publish_time"; - private static final String DIRTY_ELEMENT_FIELD = "dirty_element_ids"; - private static final String REVISION_ID_FIELD = "revision_id"; - private static final String USER = "user"; - private static final String MESSAGE = "message"; -} -- cgit 1.2.3-korg