aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao')
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/ItemDaoFactoryImpl.java13
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionDaoFactoryImpl.java13
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDaoFactoryImpl.java12
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDaoImpl.java61
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDeletedDaoFactoryImpl.java17
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDeletedDaoImpl.java54
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoCassandraImpl.java203
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoFactoryImpl.java43
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoZusammenImpl.java79
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImpl.java180
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/VersionZusammenDaoImpl.java312
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/convertor/ItemVersionToVersionConvertor.java57
12 files changed, 481 insertions, 563 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/ItemDaoFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/ItemDaoFactoryImpl.java
index 0f9c9065d4..d75cc35050 100644
--- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/ItemDaoFactoryImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/ItemDaoFactoryImpl.java
@@ -17,7 +17,6 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.versioning.dao.impl;
import org.openecomp.core.zusammen.api.ZusammenAdaptorFactory;
@@ -26,11 +25,11 @@ import org.openecomp.sdc.versioning.dao.ItemDaoFactory;
import org.openecomp.sdc.versioning.dao.impl.zusammen.ItemZusammenDaoImpl;
public class ItemDaoFactoryImpl extends ItemDaoFactory {
- private static ItemDao INSTANCE =
- new ItemZusammenDaoImpl(ZusammenAdaptorFactory.getInstance().createInterface());
- @Override
- public ItemDao createInterface() {
- return INSTANCE;
- }
+ private static ItemDao INSTANCE = new ItemZusammenDaoImpl(ZusammenAdaptorFactory.getInstance().createInterface());
+
+ @Override
+ public ItemDao createInterface() {
+ return INSTANCE;
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionDaoFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionDaoFactoryImpl.java
index f8b0d71eb7..80a385fd4b 100644
--- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionDaoFactoryImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionDaoFactoryImpl.java
@@ -17,7 +17,6 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.versioning.dao.impl;
import org.openecomp.core.zusammen.api.ZusammenAdaptorFactory;
@@ -26,11 +25,11 @@ import org.openecomp.sdc.versioning.dao.VersionDaoFactory;
import org.openecomp.sdc.versioning.dao.impl.zusammen.VersionZusammenDaoImpl;
public class VersionDaoFactoryImpl extends VersionDaoFactory {
- private static VersionDao INSTANCE =
- new VersionZusammenDaoImpl(ZusammenAdaptorFactory.getInstance().createInterface());
- @Override
- public VersionDao createInterface() {
- return INSTANCE;
- }
+ private static VersionDao INSTANCE = new VersionZusammenDaoImpl(ZusammenAdaptorFactory.getInstance().createInterface());
+
+ @Override
+ public VersionDao createInterface() {
+ return INSTANCE;
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDaoFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDaoFactoryImpl.java
index f26164a9d3..5e63a97a92 100644
--- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDaoFactoryImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDaoFactoryImpl.java
@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.versioning.dao.impl;
import org.openecomp.core.nosqldb.factory.NoSqlDbFactory;
@@ -21,10 +20,11 @@ import org.openecomp.sdc.versioning.dao.VersionInfoDao;
import org.openecomp.sdc.versioning.dao.VersionInfoDaoFactory;
public class VersionInfoDaoFactoryImpl extends VersionInfoDaoFactory {
- private static VersionInfoDao INSTANCE = new VersionInfoDaoImpl(NoSqlDbFactory.getInstance().createInterface());
- @Override
- public VersionInfoDao createInterface() {
- return INSTANCE;
- }
+ private static VersionInfoDao INSTANCE = new VersionInfoDaoImpl(NoSqlDbFactory.getInstance().createInterface());
+
+ @Override
+ public VersionInfoDao createInterface() {
+ return INSTANCE;
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDaoImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDaoImpl.java
index 4df67735be..e9bb17efd2 100644
--- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDaoImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDaoImpl.java
@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.versioning.dao.impl;
import com.datastax.driver.extras.codecs.enums.EnumNameCodec;
@@ -21,50 +20,46 @@ import com.datastax.driver.mapping.Mapper;
import com.datastax.driver.mapping.Result;
import com.datastax.driver.mapping.annotations.Accessor;
import com.datastax.driver.mapping.annotations.Query;
-
import java.util.Collection;
-
import org.openecomp.core.dao.impl.CassandraBaseDao;
import org.openecomp.core.nosqldb.api.NoSqlDb;
import org.openecomp.sdc.versioning.dao.VersionInfoDao;
import org.openecomp.sdc.versioning.dao.types.VersionInfoEntity;
import org.openecomp.sdc.versioning.dao.types.VersionStatus;
-public class VersionInfoDaoImpl extends CassandraBaseDao<VersionInfoEntity>
- implements VersionInfoDao {
+public class VersionInfoDaoImpl extends CassandraBaseDao<VersionInfoEntity> implements VersionInfoDao {
+ private final NoSqlDb noSqlDb;
+ private final Mapper<VersionInfoEntity> mapper;
+ private final VersionInfoAccessor accessor;
- private final NoSqlDb noSqlDb;
- private final Mapper<VersionInfoEntity> mapper;
- private final VersionInfoAccessor accessor;
-
-
- public VersionInfoDaoImpl(NoSqlDb noSqlDb) {
- this.noSqlDb = noSqlDb;
- this.mapper = this.noSqlDb.getMappingManager().mapper(VersionInfoEntity.class);
- this.accessor = this.noSqlDb.getMappingManager().createAccessor(VersionInfoAccessor.class);
- this.noSqlDb.getMappingManager().getSession().getCluster().getConfiguration().getCodecRegistry()
+ public VersionInfoDaoImpl(NoSqlDb noSqlDb) {
+ this.noSqlDb = noSqlDb;
+ this.mapper = this.noSqlDb.getMappingManager().mapper(VersionInfoEntity.class);
+ this.accessor = this.noSqlDb.getMappingManager().createAccessor(VersionInfoAccessor.class);
+ this.noSqlDb.getMappingManager().getSession().getCluster().getConfiguration().getCodecRegistry()
.register(new EnumNameCodec<>(VersionStatus.class));
- }
+ }
+
+ @Override
+ protected Mapper<VersionInfoEntity> getMapper() {
+ return mapper;
+ }
- @Override
- protected Mapper<VersionInfoEntity> getMapper() {
- return mapper;
- }
+ @Override
+ protected Object[] getKeys(VersionInfoEntity entity) {
+ return new Object[]{entity.getEntityType(), entity.getEntityId()};
+ }
- @Override
- protected Object[] getKeys(VersionInfoEntity entity) {
- return new Object[]{entity.getEntityType(), entity.getEntityId()};
- }
+ @Override
+ public Collection<VersionInfoEntity> list(VersionInfoEntity entity) {
+ return accessor.getAll(entity.getEntityType()).all();
+ }
- @Override
- public Collection<VersionInfoEntity> list(VersionInfoEntity entity) {
- return accessor.getAll(entity.getEntityType()).all();
- }
+ @Accessor
+ interface VersionInfoAccessor {
- @Accessor
- interface VersionInfoAccessor {
- @Query("select * from version_info where entity_type=?")
- Result<VersionInfoEntity> getAll(String entityType);
- }
+ @Query("select * from version_info where entity_type=?")
+ Result<VersionInfoEntity> getAll(String entityType);
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDeletedDaoFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDeletedDaoFactoryImpl.java
index 9163018a85..fb7c8131e4 100644
--- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDeletedDaoFactoryImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDeletedDaoFactoryImpl.java
@@ -7,9 +7,9 @@
* 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.
@@ -17,18 +17,17 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.versioning.dao.impl;
-
import org.openecomp.sdc.versioning.dao.VersionInfoDeletedDao;
import org.openecomp.sdc.versioning.dao.VersionInfoDeletedDaoFactory;
public class VersionInfoDeletedDaoFactoryImpl extends VersionInfoDeletedDaoFactory {
- private static VersionInfoDeletedDao INSTANCE = new VersionInfoDeletedDaoImpl();
- @Override
- public VersionInfoDeletedDao createInterface() {
- return INSTANCE;
- }
+ private static VersionInfoDeletedDao INSTANCE = new VersionInfoDeletedDaoImpl();
+
+ @Override
+ public VersionInfoDeletedDao createInterface() {
+ return INSTANCE;
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDeletedDaoImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDeletedDaoImpl.java
index af6b20252e..02945be400 100644
--- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDeletedDaoImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionInfoDeletedDaoImpl.java
@@ -7,9 +7,9 @@
* 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.
@@ -17,50 +17,44 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.versioning.dao.impl;
-
import com.datastax.driver.mapping.Mapper;
import com.datastax.driver.mapping.Result;
import com.datastax.driver.mapping.annotations.Accessor;
import com.datastax.driver.mapping.annotations.Query;
+import java.util.Collection;
import org.openecomp.core.dao.impl.CassandraBaseDao;
import org.openecomp.core.nosqldb.api.NoSqlDb;
import org.openecomp.core.nosqldb.factory.NoSqlDbFactory;
import org.openecomp.sdc.versioning.dao.VersionInfoDeletedDao;
import org.openecomp.sdc.versioning.dao.types.VersionInfoDeletedEntity;
-import java.util.Collection;
-
-public class VersionInfoDeletedDaoImpl extends CassandraBaseDao<VersionInfoDeletedEntity>
- implements VersionInfoDeletedDao {
+public class VersionInfoDeletedDaoImpl extends CassandraBaseDao<VersionInfoDeletedEntity> implements VersionInfoDeletedDao {
- private static NoSqlDb noSqlDb = NoSqlDbFactory.getInstance().createInterface();
- private static Mapper<VersionInfoDeletedEntity> mapper =
- noSqlDb.getMappingManager().mapper(VersionInfoDeletedEntity.class);
- private static VersionInfoAccessor accessor =
- noSqlDb.getMappingManager().createAccessor(VersionInfoAccessor.class);
+ private static NoSqlDb noSqlDb = NoSqlDbFactory.getInstance().createInterface();
+ private static Mapper<VersionInfoDeletedEntity> mapper = noSqlDb.getMappingManager().mapper(VersionInfoDeletedEntity.class);
+ private static VersionInfoAccessor accessor = noSqlDb.getMappingManager().createAccessor(VersionInfoAccessor.class);
+ @Override
+ protected Mapper<VersionInfoDeletedEntity> getMapper() {
+ return mapper;
+ }
- @Override
- protected Mapper<VersionInfoDeletedEntity> getMapper() {
- return mapper;
- }
+ @Override
+ protected Object[] getKeys(VersionInfoDeletedEntity entity) {
+ return new Object[]{entity.getEntityType(), entity.getEntityId()};
+ }
- @Override
- protected Object[] getKeys(VersionInfoDeletedEntity entity) {
- return new Object[]{entity.getEntityType(), entity.getEntityId()};
- }
+ @Override
+ public Collection<VersionInfoDeletedEntity> list(VersionInfoDeletedEntity entity) {
+ return accessor.getAll(entity.getEntityType()).all();
+ }
- @Override
- public Collection<VersionInfoDeletedEntity> list(VersionInfoDeletedEntity entity) {
- return accessor.getAll(entity.getEntityType()).all();
- }
+ @Accessor
+ interface VersionInfoAccessor {
- @Accessor
- interface VersionInfoAccessor {
- @Query("select * from version_info_deleted where entity_type=?")
- Result<VersionInfoDeletedEntity> getAll(String entityType);
- }
+ @Query("select * from version_info_deleted where entity_type=?")
+ Result<VersionInfoDeletedEntity> getAll(String entityType);
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoCassandraImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoCassandraImpl.java
index 19c62ab43c..fcbbaf77aa 100644
--- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoCassandraImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoCassandraImpl.java
@@ -7,9 +7,9 @@
* 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.
@@ -17,12 +17,17 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.versioning.dao.impl;
import com.datastax.driver.core.ColumnDefinitions;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
import org.openecomp.core.dao.UniqueValueDao;
import org.openecomp.core.nosqldb.api.NoSqlDb;
import org.openecomp.core.nosqldb.factory.NoSqlDbFactory;
@@ -35,135 +40,103 @@ import org.openecomp.sdc.versioning.dao.types.Version;
import org.openecomp.sdc.versioning.types.UniqueValueMetadata;
import org.openecomp.sdc.versioning.types.VersionableEntityMetadata;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
class VersionableEntityDaoCassandraImpl implements VersionableEntityDao {
- private final UniqueValueUtil uniqueValueUtil;
- private static final NoSqlDb noSqlDb = NoSqlDbFactory.getInstance().createInterface();
- private static Logger Logger =
- (Logger) LoggerFactory.getLogger(VersionableEntityDaoCassandraImpl.class);
-
- public VersionableEntityDaoCassandraImpl(
- UniqueValueDao uniqueValueDao) {
- this.uniqueValueUtil = new UniqueValueUtil(uniqueValueDao);
- }
+ private static final NoSqlDb noSqlDb = NoSqlDbFactory.getInstance().createInterface();
+ private static Logger Logger = (Logger) LoggerFactory.getLogger(VersionableEntityDaoCassandraImpl.class);
+ private final UniqueValueUtil uniqueValueUtil;
- private static String commaSeparatedQuestionMarks(int size) {
- StringBuilder sb = new StringBuilder(size * 2 - 1);
- for (int i = 0; i < size; i++) {
- if (i > 0) {
- sb.append(',');
- }
- sb.append('?');
+ public VersionableEntityDaoCassandraImpl(UniqueValueDao uniqueValueDao) {
+ this.uniqueValueUtil = new UniqueValueUtil(uniqueValueDao);
}
- return sb.toString();
- }
+ private static String commaSeparatedQuestionMarks(int size) {
+ StringBuilder sb = new StringBuilder(size * 2 - 1);
+ for (int i = 0; i < size; i++) {
+ if (i > 0) {
+ sb.append(',');
+ }
+ sb.append('?');
+ }
+ return sb.toString();
+ }
- @Override
- public void initVersion(VersionableEntityMetadata metadata, String entityId, Version baseVersion,
- Version newVersion) {
- ResultSet rows = loadVersionRows(metadata, entityId, baseVersion);
- List<String> columnNames =
- rows.getColumnDefinitions().asList().stream().map(ColumnDefinitions.Definition::getName)
+ @Override
+ public void initVersion(VersionableEntityMetadata metadata, String entityId, Version baseVersion, Version newVersion) {
+ ResultSet rows = loadVersionRows(metadata, entityId, baseVersion);
+ List<String> columnNames = rows.getColumnDefinitions().asList().stream().map(ColumnDefinitions.Definition::getName)
.collect(Collectors.toList());
-
- String insertCql = String.format("insert into %s (%s) values (%s)", metadata.getName(),
- CommonMethods.listToSeparatedString(columnNames, ','),
- commaSeparatedQuestionMarks(columnNames.size()));
- Logger.debug("insertCql", insertCql);
-
- for (Row row : rows) {
- List<Object> columnValues = new ArrayList<>();
- Map<String, Object> columnNameToValue = new HashMap<>();
-
- for (String columnName : columnNames) {
- if (metadata.getVersionIdentifierName().equals(columnName)) {
- columnValues.add(newVersion);
- columnNameToValue.put(columnName, newVersion.toString());
- } else {
- Object value = row.getObject(columnName);
- columnValues.add(value);
- columnNameToValue.put(columnName, value);
+ String insertCql = String.format("insert into %s (%s) values (%s)", metadata.getName(), CommonMethods.listToSeparatedString(columnNames, ','),
+ commaSeparatedQuestionMarks(columnNames.size()));
+ Logger.debug("insertCql", insertCql);
+ for (Row row : rows) {
+ List<Object> columnValues = new ArrayList<>();
+ Map<String, Object> columnNameToValue = new HashMap<>();
+ for (String columnName : columnNames) {
+ if (metadata.getVersionIdentifierName().equals(columnName)) {
+ columnValues.add(newVersion);
+ columnNameToValue.put(columnName, newVersion.toString());
+ } else {
+ Object value = row.getObject(columnName);
+ columnValues.add(value);
+ columnNameToValue.put(columnName, value);
+ }
+ }
+ initRowUniqueValues(metadata.getUniqueValuesMetadata(), columnNameToValue);
+ noSqlDb.execute(insertCql, columnValues.toArray());
}
- }
-
- initRowUniqueValues(metadata.getUniqueValuesMetadata(), columnNameToValue);
-
- noSqlDb.execute(insertCql, columnValues.toArray());
}
- }
-
- @Override
- public void deleteVersion(VersionableEntityMetadata metadata, String entityId,
- Version versionToDelete, Version backToVersion) {
- deleteRowsUniqueValues(metadata, entityId, versionToDelete);
-
- String deleteCql = String.format("delete from %s where %s=? and %s=?", metadata.getName(),
- metadata.getIdentifierName(), metadata.getVersionIdentifierName());
- noSqlDb.execute(deleteCql, entityId, versionToDelete);
- }
-
- @Override
- public void closeVersion(VersionableEntityMetadata versionableTableMetadata, String entityId,
- Version versionToClose) {
- // redundant in cassandra impl.
- }
- private ResultSet loadVersionRows(VersionableEntityMetadata metadata, String entityId,
- Version version) {
- String selectCql = String.format("select * from %s where %s=? and %s=?", metadata.getName(),
- metadata.getIdentifierName(), metadata.getVersionIdentifierName());
- Logger.debug("selectCql", selectCql);
- Logger.debug("entityId", entityId);
- Logger.debug("version", version);
+ @Override
+ public void deleteVersion(VersionableEntityMetadata metadata, String entityId, Version versionToDelete, Version backToVersion) {
+ deleteRowsUniqueValues(metadata, entityId, versionToDelete);
+ String deleteCql = String
+ .format("delete from %s where %s=? and %s=?", metadata.getName(), metadata.getIdentifierName(), metadata.getVersionIdentifierName());
+ noSqlDb.execute(deleteCql, entityId, versionToDelete);
+ }
- return noSqlDb.execute(selectCql, entityId, version);
- }
+ @Override
+ public void closeVersion(VersionableEntityMetadata versionableTableMetadata, String entityId, Version versionToClose) {
+ // redundant in cassandra impl.
+ }
- private void initRowUniqueValues(List<UniqueValueMetadata> metadata,
- Map<String, Object> columnNameToValue) {
- for (UniqueValueMetadata uniqueMetadata : metadata) {
- List<String> uniqueValueCombination = uniqueMetadata.getUniqueConstraintIdentifiers().stream()
- .map(colName -> (String) columnNameToValue.get(colName)).collect(Collectors.toList());
- uniqueValueUtil.createUniqueValue(uniqueMetadata.getType(),
- uniqueValueCombination.toArray(new String[uniqueValueCombination.size()]));
+ private ResultSet loadVersionRows(VersionableEntityMetadata metadata, String entityId, Version version) {
+ String selectCql = String
+ .format("select * from %s where %s=? and %s=?", metadata.getName(), metadata.getIdentifierName(), metadata.getVersionIdentifierName());
+ Logger.debug("selectCql", selectCql);
+ Logger.debug("entityId", entityId);
+ Logger.debug("version", version);
+ return noSqlDb.execute(selectCql, entityId, version);
}
- }
- private void deleteRowUniqueValues(List<UniqueValueMetadata> metadata,
- Map<String, Object> columnNameToValue) {
- for (UniqueValueMetadata uniqueMetadata : metadata) {
- List<String> uniqueValueCombination = uniqueMetadata.getUniqueConstraintIdentifiers().stream()
- .map(colName -> (String) columnNameToValue.get(colName)).collect(Collectors.toList());
- uniqueValueUtil.deleteUniqueValue(uniqueMetadata.getType(),
- uniqueValueCombination.toArray(new String[uniqueValueCombination.size()]));
+ private void initRowUniqueValues(List<UniqueValueMetadata> metadata, Map<String, Object> columnNameToValue) {
+ for (UniqueValueMetadata uniqueMetadata : metadata) {
+ List<String> uniqueValueCombination = uniqueMetadata.getUniqueConstraintIdentifiers().stream()
+ .map(colName -> (String) columnNameToValue.get(colName)).collect(Collectors.toList());
+ uniqueValueUtil.createUniqueValue(uniqueMetadata.getType(), uniqueValueCombination.toArray(new String[uniqueValueCombination.size()]));
+ }
}
- }
- private void deleteRowsUniqueValues(VersionableEntityMetadata metadata, String entityId,
- Version version) {
- if (metadata.getUniqueValuesMetadata().isEmpty()) {
- return;
+ private void deleteRowUniqueValues(List<UniqueValueMetadata> metadata, Map<String, Object> columnNameToValue) {
+ for (UniqueValueMetadata uniqueMetadata : metadata) {
+ List<String> uniqueValueCombination = uniqueMetadata.getUniqueConstraintIdentifiers().stream()
+ .map(colName -> (String) columnNameToValue.get(colName)).collect(Collectors.toList());
+ uniqueValueUtil.deleteUniqueValue(uniqueMetadata.getType(), uniqueValueCombination.toArray(new String[uniqueValueCombination.size()]));
+ }
}
- ResultSet rows = loadVersionRows(metadata, entityId, version);
- List<String> columnNames =
- rows.getColumnDefinitions().asList().stream().map(ColumnDefinitions.Definition::getName)
- .collect(Collectors.toList());
- for (Row row : rows) {
- Map<String, Object> columnNameToValue =
- columnNames.stream().filter(name -> row.getObject(name) != null).collect(Collectors
- .toMap(Function.identity(),
- columnName -> metadata.getVersionIdentifierName().equals(columnName) ? version
- .toString() : row.getObject(columnName)));
- deleteRowUniqueValues(metadata.getUniqueValuesMetadata(), columnNameToValue);
+ private void deleteRowsUniqueValues(VersionableEntityMetadata metadata, String entityId, Version version) {
+ if (metadata.getUniqueValuesMetadata().isEmpty()) {
+ return;
+ }
+ ResultSet rows = loadVersionRows(metadata, entityId, version);
+ List<String> columnNames = rows.getColumnDefinitions().asList().stream().map(ColumnDefinitions.Definition::getName)
+ .collect(Collectors.toList());
+ for (Row row : rows) {
+ Map<String, Object> columnNameToValue = columnNames.stream().filter(name -> row.getObject(name) != null).collect(Collectors
+ .toMap(Function.identity(),
+ columnName -> metadata.getVersionIdentifierName().equals(columnName) ? version.toString() : row.getObject(columnName)));
+ deleteRowUniqueValues(metadata.getUniqueValuesMetadata(), columnNameToValue);
+ }
}
- }
}
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoFactoryImpl.java
index d9300a007b..806d77ecd2 100644
--- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoFactoryImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoFactoryImpl.java
@@ -7,9 +7,9 @@
* 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.
@@ -17,7 +17,6 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.versioning.dao.impl;
import org.openecomp.core.dao.UniqueValueDaoFactory;
@@ -27,26 +26,26 @@ import org.openecomp.sdc.versioning.dao.VersionableEntityDaoFactory;
import org.openecomp.sdc.versioning.types.VersionableEntityStoreType;
public class VersionableEntityDaoFactoryImpl extends VersionableEntityDaoFactory {
- private static VersionableEntityDao CASSANDRA_INSTANCE = new VersionableEntityDaoCassandraImpl(
- UniqueValueDaoFactory.getInstance().createInterface());
- private static VersionableEntityDao ZUSAMMEN_INSTANCE =
- new VersionableEntityDaoZusammenImpl(ZusammenAdaptorFactory.getInstance().createInterface());
- @Override
- public VersionableEntityDao createInterface() {
- throw new UnsupportedOperationException
- ("Please use createInterface api with VersionableEntityStoreType argument.");
- }
+ private static VersionableEntityDao CASSANDRA_INSTANCE = new VersionableEntityDaoCassandraImpl(
+ UniqueValueDaoFactory.getInstance().createInterface());
+ private static VersionableEntityDao ZUSAMMEN_INSTANCE = new VersionableEntityDaoZusammenImpl(
+ ZusammenAdaptorFactory.getInstance().createInterface());
+
+ @Override
+ public VersionableEntityDao createInterface() {
+ throw new UnsupportedOperationException("Please use createInterface api with VersionableEntityStoreType argument.");
+ }
- @Override
- public VersionableEntityDao createInterface(VersionableEntityStoreType storeType) {
- switch (storeType) {
- case Cassandra:
- return CASSANDRA_INSTANCE;
- case Zusammen:
- return ZUSAMMEN_INSTANCE;
- default:
- throw new IllegalArgumentException("Unssported state store");
+ @Override
+ public VersionableEntityDao createInterface(VersionableEntityStoreType storeType) {
+ switch (storeType) {
+ case Cassandra:
+ return CASSANDRA_INSTANCE;
+ case Zusammen:
+ return ZUSAMMEN_INSTANCE;
+ default:
+ throw new IllegalArgumentException("Unssported state store");
+ }
}
- }
}
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoZusammenImpl.java
index f90ef79290..f8c479eb5b 100644
--- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoZusammenImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/VersionableEntityDaoZusammenImpl.java
@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.versioning.dao.impl;
import com.amdocs.zusammen.datatypes.Id;
@@ -32,53 +31,47 @@ import org.openecomp.sdc.versioning.types.VersionableEntityMetadata;
public class VersionableEntityDaoZusammenImpl implements VersionableEntityDao {
- private ZusammenAdaptor zusammenAdaptor;
+ private ZusammenAdaptor zusammenAdaptor;
- public VersionableEntityDaoZusammenImpl(ZusammenAdaptor zusammenAdaptor) {
- this.zusammenAdaptor = zusammenAdaptor;
- }
+ public VersionableEntityDaoZusammenImpl(ZusammenAdaptor zusammenAdaptor) {
+ this.zusammenAdaptor = zusammenAdaptor;
+ }
- @Override
- public void initVersion(VersionableEntityMetadata versionableTableMetadata, String entityId,
- Version baseVersion, Version newVersion) {
- // redundant in zusammen impl.
- }
+ private static Comparator<ItemVersion> getVersionModificationTimeDescComparator() {
+ return (o1, o2) -> Integer.compare(o2.getId().getValue().length(), o1.getId().getValue().length());
+ }
- @Override
- public void deleteVersion(VersionableEntityMetadata versionableTableMetadata, String entityId,
- Version versionToDelete, Version backToVersion) {
- SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(entityId);
- Id versionId = getItemVersionId(itemId, context);
- zusammenAdaptor.resetVersionHistory(context, itemId, versionId, backToVersion.toString());
- }
+ @Override
+ public void initVersion(VersionableEntityMetadata versionableTableMetadata, String entityId, Version baseVersion, Version newVersion) {
+ // redundant in zusammen impl.
+ }
- @Override
- public void closeVersion(VersionableEntityMetadata versionableTableMetadata, String entityId,
- Version versionToClose) {
- SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(entityId);
- Id versionId = getItemVersionId(itemId, context);
- zusammenAdaptor
- .tagVersion(context, itemId, versionId, new Tag(versionToClose.toString(), null));
- }
+ @Override
+ public void deleteVersion(VersionableEntityMetadata versionableTableMetadata, String entityId, Version versionToDelete, Version backToVersion) {
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(entityId);
+ Id versionId = getItemVersionId(itemId, context);
+ zusammenAdaptor.resetVersionHistory(context, itemId, versionId, backToVersion.toString());
+ }
- // TODO: 3/19/2017 move to a common util
- private Id getItemVersionId(Id itemId, SessionContext context) {
- Optional<ItemVersion> itemVersionOptional = getFirstVersion(context, itemId);
- ItemVersion itemVersion = itemVersionOptional.orElseThrow(() ->
- new RuntimeException(String.format("No version was found for item %s.", itemId)));
- return itemVersion.getId();
- }
+ @Override
+ public void closeVersion(VersionableEntityMetadata versionableTableMetadata, String entityId, Version versionToClose) {
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(entityId);
+ Id versionId = getItemVersionId(itemId, context);
+ zusammenAdaptor.tagVersion(context, itemId, versionId, new Tag(versionToClose.toString(), null));
+ }
- private Optional<ItemVersion> getFirstVersion(SessionContext context, Id itemId) {
- Collection<ItemVersion> versions = zusammenAdaptor.listPublicVersions(context, itemId);
- return CollectionUtils.isEmpty(versions)
- ? Optional.empty()
- : versions.stream().min(getVersionModificationTimeDescComparator());
- }
+ // TODO: 3/19/2017 move to a common util
+ private Id getItemVersionId(Id itemId, SessionContext context) {
+ Optional<ItemVersion> itemVersionOptional = getFirstVersion(context, itemId);
+ ItemVersion itemVersion = itemVersionOptional
+ .orElseThrow(() -> new RuntimeException(String.format("No version was found for item %s.", itemId)));
+ return itemVersion.getId();
+ }
- private static Comparator<ItemVersion> getVersionModificationTimeDescComparator() {
- return (o1, o2) -> Integer.compare(o2.getId().getValue().length(), o1.getId().getValue().length());
- }
+ private Optional<ItemVersion> getFirstVersion(SessionContext context, Id itemId) {
+ Collection<ItemVersion> versions = zusammenAdaptor.listPublicVersions(context, itemId);
+ return CollectionUtils.isEmpty(versions) ? Optional.empty() : versions.stream().min(getVersionModificationTimeDescComparator());
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImpl.java
index b631663813..6ac18d9ff9 100644
--- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImpl.java
@@ -21,6 +21,9 @@ package org.openecomp.sdc.versioning.dao.impl.zusammen;
import com.amdocs.zusammen.datatypes.Id;
import com.amdocs.zusammen.datatypes.item.Info;
+import java.util.Collection;
+import java.util.Map;
+import java.util.stream.Collectors;
import org.openecomp.core.zusammen.api.ZusammenAdaptor;
import org.openecomp.core.zusammen.api.ZusammenUtil;
import org.openecomp.sdc.versioning.dao.ItemDao;
@@ -28,120 +31,103 @@ import org.openecomp.sdc.versioning.dao.types.VersionStatus;
import org.openecomp.sdc.versioning.types.Item;
import org.openecomp.sdc.versioning.types.ItemStatus;
-import java.util.Collection;
-import java.util.Map;
-import java.util.stream.Collectors;
-
public class ItemZusammenDaoImpl implements ItemDao {
- private ZusammenAdaptor zusammenAdaptor;
-
- public ItemZusammenDaoImpl(ZusammenAdaptor zusammenAdaptor) {
- this.zusammenAdaptor = zusammenAdaptor;
- }
-
- @Override
- public Collection<Item> list() {
- return zusammenAdaptor.listItems(ZusammenUtil.createSessionContext())
- .stream().map(this::mapFromZusammenItem)
- .collect(Collectors.toList());
- }
-
- @Override
- public Item get(Item item) {
- return mapFromZusammenItem(
- zusammenAdaptor.getItem(ZusammenUtil.createSessionContext(), new Id(item.getId())));
- }
-
- @Override
- public Item create(Item item) {
- Id itemId = zusammenAdaptor
- .createItem(ZusammenUtil.createSessionContext(), mapToZusammenItemInfo(item));
- item.setId(itemId.getValue());
- return item;
- }
+ private ZusammenAdaptor zusammenAdaptor;
- @Override
- public void delete(Item item){
- zusammenAdaptor.deleteItem(ZusammenUtil.createSessionContext(),new Id(item.getId()));
- }
+ public ItemZusammenDaoImpl(ZusammenAdaptor zusammenAdaptor) {
+ this.zusammenAdaptor = zusammenAdaptor;
+ }
- @Override
- public void update(Item item) {
- zusammenAdaptor
- .updateItem(ZusammenUtil.createSessionContext(), new Id(item.getId()),
- mapToZusammenItemInfo(item));
- }
+ @Override
+ public Collection<Item> list() {
+ return zusammenAdaptor.listItems(ZusammenUtil.createSessionContext()).stream().map(this::mapFromZusammenItem).collect(Collectors.toList());
+ }
- private Item mapFromZusammenItem(com.amdocs.zusammen.datatypes.item.Item zusammenItem) {
- if (zusammenItem == null) {
- return null;
+ @Override
+ public Item get(Item item) {
+ return mapFromZusammenItem(zusammenAdaptor.getItem(ZusammenUtil.createSessionContext(), new Id(item.getId())));
}
- Item item = new Item();
- item.setId(zusammenItem.getId().getValue());
- item.setName(zusammenItem.getInfo().getName());
- item.setDescription(zusammenItem.getInfo().getDescription());
- zusammenItem.getInfo().getProperties().entrySet()
- .forEach(property -> addPropertyToItem(property.getKey(), property.getValue(), item));
+ @Override
+ public Item create(Item item) {
+ Id itemId = zusammenAdaptor.createItem(ZusammenUtil.createSessionContext(), mapToZusammenItemInfo(item));
+ item.setId(itemId.getValue());
+ return item;
+ }
- item.setCreationTime(zusammenItem.getCreationTime());
- item.setModificationTime(zusammenItem.getModificationTime());
+ @Override
+ public void delete(Item item) {
+ zusammenAdaptor.deleteItem(ZusammenUtil.createSessionContext(), new Id(item.getId()));
+ }
- if(item.getStatus() == null){
- item.setStatus(ItemStatus.ACTIVE);
- update(item);
+ @Override
+ public void update(Item item) {
+ zusammenAdaptor.updateItem(ZusammenUtil.createSessionContext(), new Id(item.getId()), mapToZusammenItemInfo(item));
}
- return item;
- }
+ private Item mapFromZusammenItem(com.amdocs.zusammen.datatypes.item.Item zusammenItem) {
+ if (zusammenItem == null) {
+ return null;
+ }
+ Item item = new Item();
+ item.setId(zusammenItem.getId().getValue());
+ item.setName(zusammenItem.getInfo().getName());
+ item.setDescription(zusammenItem.getInfo().getDescription());
+ zusammenItem.getInfo().getProperties().entrySet().forEach(property -> addPropertyToItem(property.getKey(), property.getValue(), item));
+ item.setCreationTime(zusammenItem.getCreationTime());
+ item.setModificationTime(zusammenItem.getModificationTime());
+ if (item.getStatus() == null) {
+ item.setStatus(ItemStatus.ACTIVE);
+ update(item);
+ }
+ return item;
+ }
- private void addPropertyToItem(String propertyKey, Object propertyValue, Item item) {
- switch (propertyKey) {
- case InfoPropertyName.ITEM_TYPE:
- item.setType((String) propertyValue);
- break;
- case InfoPropertyName.ITEM_OWNER:
- item.setOwner((String) propertyValue);
- break;
- case InfoPropertyName.ITEM_STATUS:
- item.setStatus(ItemStatus.valueOf((String)propertyValue));
- break;
- case InfoPropertyName.ITEM_VERSIONS_STATUSES:
- for (Map.Entry<String, Number> statusCounter :
- ((Map<String, Number>) propertyValue).entrySet()) {
- item.getVersionStatusCounters().put(VersionStatus.valueOf(statusCounter.getKey()),
- statusCounter.getValue().intValue());
+ private void addPropertyToItem(String propertyKey, Object propertyValue, Item item) {
+ switch (propertyKey) {
+ case InfoPropertyName.ITEM_TYPE:
+ item.setType((String) propertyValue);
+ break;
+ case InfoPropertyName.ITEM_OWNER:
+ item.setOwner((String) propertyValue);
+ break;
+ case InfoPropertyName.ITEM_STATUS:
+ item.setStatus(ItemStatus.valueOf((String) propertyValue));
+ break;
+ case InfoPropertyName.ITEM_VERSIONS_STATUSES:
+ for (Map.Entry<String, Number> statusCounter : ((Map<String, Number>) propertyValue).entrySet()) {
+ item.getVersionStatusCounters().put(VersionStatus.valueOf(statusCounter.getKey()), statusCounter.getValue().intValue());
+ }
+ break;
+ default:
+ item.addProperty(propertyKey, propertyValue);
}
- break;
- default:
- item.addProperty(propertyKey, propertyValue);
}
- }
- private Info mapToZusammenItemInfo(Item item) {
- Info info = new Info();
- info.setName(item.getName());
- info.setDescription(item.getDescription());
- info.addProperty(InfoPropertyName.ITEM_TYPE, item.getType());
- info.addProperty(InfoPropertyName.ITEM_OWNER,item.getOwner());
- if (item.getStatus() != null) {
- info.addProperty(InfoPropertyName.ITEM_STATUS, item.getStatus());
+ private Info mapToZusammenItemInfo(Item item) {
+ Info info = new Info();
+ info.setName(item.getName());
+ info.setDescription(item.getDescription());
+ info.addProperty(InfoPropertyName.ITEM_TYPE, item.getType());
+ info.addProperty(InfoPropertyName.ITEM_OWNER, item.getOwner());
+ if (item.getStatus() != null) {
+ info.addProperty(InfoPropertyName.ITEM_STATUS, item.getStatus());
+ }
+ info.addProperty(InfoPropertyName.ITEM_VERSIONS_STATUSES, item.getVersionStatusCounters());
+ item.getProperties().entrySet().forEach(property -> info.addProperty(property.getKey(), property.getValue()));
+ return info;
}
- info.addProperty(InfoPropertyName.ITEM_VERSIONS_STATUSES, item.getVersionStatusCounters());
- item.getProperties().entrySet()
- .forEach(property -> info.addProperty(property.getKey(), property.getValue()));
- return info;
- }
- private static final class InfoPropertyName {
- private static final String ITEM_TYPE = "item_type";
- private static final String ITEM_VERSIONS_STATUSES = "item_versions_statuses";
- private static final String ITEM_OWNER = "Owner";
- private static final String ITEM_STATUS = "status";
+ private static final class InfoPropertyName {
- private InfoPropertyName() {
- throw new IllegalStateException("Constants class");
+ private static final String ITEM_TYPE = "item_type";
+ private static final String ITEM_VERSIONS_STATUSES = "item_versions_statuses";
+ private static final String ITEM_OWNER = "Owner";
+ private static final String ITEM_STATUS = "status";
+
+ private InfoPropertyName() {
+ throw new IllegalStateException("Constants class");
+ }
}
- }
}
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/VersionZusammenDaoImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/VersionZusammenDaoImpl.java
index dfefc7273d..044359a165 100644
--- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/VersionZusammenDaoImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/VersionZusammenDaoImpl.java
@@ -23,7 +23,11 @@ import static org.openecomp.core.zusammen.api.ZusammenUtil.createSessionContext;
import com.amdocs.zusammen.datatypes.Id;
import com.amdocs.zusammen.datatypes.SessionContext;
-import com.amdocs.zusammen.datatypes.item.*;
+import com.amdocs.zusammen.datatypes.item.Info;
+import com.amdocs.zusammen.datatypes.item.ItemVersion;
+import com.amdocs.zusammen.datatypes.item.ItemVersionData;
+import com.amdocs.zusammen.datatypes.item.ItemVersionStatus;
+import com.amdocs.zusammen.datatypes.item.SynchronizationStatus;
import com.amdocs.zusammen.datatypes.itemversion.ItemVersionRevisions;
import java.util.ArrayList;
import java.util.List;
@@ -42,168 +46,148 @@ import org.openecomp.sdc.versioning.dao.types.VersionState;
public class VersionZusammenDaoImpl implements VersionDao {
- public static final class ZusammenProperty {
- public static final String LABEL = "label";
- public static final String STATUS = "status";
-
- private ZusammenProperty() {
- throw new IllegalStateException("Constants class");
- }
- }
-
- private ZusammenAdaptor zusammenAdaptor;
-
- public VersionZusammenDaoImpl(ZusammenAdaptor zusammenAdaptor) {
- this.zusammenAdaptor = zusammenAdaptor;
- }
-
- @Override
- public List<Version> list(String itemId) {
- ItemVersionToVersionConvertor convertor = new ItemVersionToVersionConvertor();
- return zusammenAdaptor.listPublicVersions(createSessionContext(), new Id(itemId)).stream()
- .map(convertor::convert)
- .collect(Collectors.toList());
- }
-
- @Override
- public void create(String itemId, Version version) {
- Id versionId =
- zusammenAdaptor.createVersion(createSessionContext(), new Id(itemId),
- version.getBaseId() == null ? null : new Id(version.getBaseId()),
- mapToZusammenVersion(version));
-
- version.setId(versionId.getValue());
- }
-
- @Override
- public void update(String itemId, Version version) {
- zusammenAdaptor.updateVersion(createSessionContext(), new Id(itemId), new Id(version.getId()),
- mapToZusammenVersion(version));
- }
-
- @Override
- public Optional<Version> get(String itemId, Version version) {
- SessionContext context = createSessionContext();
- Id itemIdObj = new Id(itemId);
- Id versionId = new Id(version.getId());
- ItemVersion itemVersion = zusammenAdaptor.getVersion(context, itemIdObj, versionId);
-
- if (itemVersion == null) {
- return Optional.empty();
- }
-
- VersionState versionState =
- convertState(zusammenAdaptor.getVersionStatus(context, itemIdObj, versionId));
- updateVersionStatus(context, itemIdObj, versionId, versionState, itemVersion);
-
- Version result = new ItemVersionToVersionConvertor().convert(itemVersion);
- result.setState(versionState);
- return Optional.of(result);
- }
-
- @Override
- public void delete(String itemId, Version version) {
- throw new UnsupportedOperationException("Delete version operation is not yet supported.");
- }
-
- @Override
- public void publish(String itemId, Version version, String message) {
- zusammenAdaptor
- .publishVersion(createSessionContext(), new Id(itemId), new Id(version.getId()), message);
- }
-
- @Override
- public void sync(String itemId, Version version) {
- zusammenAdaptor
- .syncVersion(createSessionContext(), new Id(itemId), new Id(version.getId()));
- }
-
- @Override
- public void forceSync(String itemId, Version version) {
- zusammenAdaptor
- .forceSyncVersion(createSessionContext(), new Id(itemId), new Id(version.getId()));
- }
-
- @Override
- public void clean(String itemId, Version version) {
- zusammenAdaptor.cleanVersion(createSessionContext(), new Id(itemId), new Id(version.getId()));
- }
-
- @Override
- public void revert(String itemId, Version version, String revisionId) {
- zusammenAdaptor.revert(createSessionContext(), new Id(itemId), new Id(version.getId()),
- new Id(revisionId));
- }
-
- @Override
- public List<Revision> listRevisions(String itemId, Version version) {
- ItemVersionRevisions itemVersionRevisions = zusammenAdaptor
- .listRevisions(createSessionContext(), new Id(itemId), new Id(version.getId()));
-
- return itemVersionRevisions == null || itemVersionRevisions.getItemVersionRevisions() == null ||
- itemVersionRevisions.getItemVersionRevisions().isEmpty()
- ? new ArrayList<>()
- : itemVersionRevisions.getItemVersionRevisions().stream()
- .map(this::convertRevision)
- .sorted(this::compareRevisionsTime)
+ private ZusammenAdaptor zusammenAdaptor;
+
+ public VersionZusammenDaoImpl(ZusammenAdaptor zusammenAdaptor) {
+ this.zusammenAdaptor = zusammenAdaptor;
+ }
+
+ @Override
+ public List<Version> list(String itemId) {
+ ItemVersionToVersionConvertor convertor = new ItemVersionToVersionConvertor();
+ return zusammenAdaptor.listPublicVersions(createSessionContext(), new Id(itemId)).stream().map(convertor::convert)
.collect(Collectors.toList());
- }
-
- private void updateVersionStatus(SessionContext context, Id itemId, Id versionId,
- VersionState versionState, ItemVersion itemVersion) {
- if (versionState.getSynchronizationState() != SynchronizationState.UpToDate) {
- String versionStatus = zusammenAdaptor.getPublicVersion(context, itemId, versionId)
- .getData().getInfo().getProperty(ZusammenProperty.STATUS);
- itemVersion.getData().getInfo().addProperty(ZusammenProperty.STATUS, versionStatus);
- }
- }
-
- private ItemVersionData mapToZusammenVersion(Version version) {
- Info info = new Info();
- info.addProperty(ZusammenProperty.LABEL, version.toString());
- info.addProperty(ZusammenProperty.STATUS, version.getStatus().name());
- info.setName(version.getName());
- info.setDescription(version.getDescription());
-
- ItemVersionData itemVersionData = new ItemVersionData();
- itemVersionData.setInfo(info);
- return itemVersionData;
- }
-
- private VersionState convertState(ItemVersionStatus versionStatus) {
- VersionState state = new VersionState();
- state.setSynchronizationState(getSyncState(versionStatus.getSynchronizationStatus()));
- state.setDirty(versionStatus.isDirty());
- return state;
- }
-
- private SynchronizationState getSyncState(SynchronizationStatus synchronizationStatus) {
- switch (synchronizationStatus) {
- case UP_TO_DATE:
- return SynchronizationState.UpToDate;
- case OUT_OF_SYNC:
- return SynchronizationState.OutOfSync;
- case MERGING:
- return SynchronizationState.Merging;
- default:
- throw new CoreException(new ErrorCode.ErrorCodeBuilder()
- .withCategory(ErrorCategory.APPLICATION)
- .withId("UNKNOWN_VERSION_STATE")
- .withMessage("Version state is unknown").build());
- }
- }
-
- private Revision convertRevision(
- com.amdocs.zusammen.datatypes.itemversion.Revision zusammenRevision) {
- Revision revision = new Revision();
- revision.setId(zusammenRevision.getRevisionId().getValue());
- revision.setTime(zusammenRevision.getTime());
- revision.setUser(zusammenRevision.getUser());
- revision.setMessage(zusammenRevision.getMessage());
- return revision;
- }
-
- private int compareRevisionsTime(Revision revision1, Revision revision2) {
- return revision1.getTime().before(revision2.getTime()) ? 1 : -1;
- }
+ }
+
+ @Override
+ public void create(String itemId, Version version) {
+ Id versionId = zusammenAdaptor
+ .createVersion(createSessionContext(), new Id(itemId), version.getBaseId() == null ? null : new Id(version.getBaseId()),
+ mapToZusammenVersion(version));
+ version.setId(versionId.getValue());
+ }
+
+ @Override
+ public void update(String itemId, Version version) {
+ zusammenAdaptor.updateVersion(createSessionContext(), new Id(itemId), new Id(version.getId()), mapToZusammenVersion(version));
+ }
+
+ @Override
+ public Optional<Version> get(String itemId, Version version) {
+ SessionContext context = createSessionContext();
+ Id itemIdObj = new Id(itemId);
+ Id versionId = new Id(version.getId());
+ ItemVersion itemVersion = zusammenAdaptor.getVersion(context, itemIdObj, versionId);
+ if (itemVersion == null) {
+ return Optional.empty();
+ }
+ VersionState versionState = convertState(zusammenAdaptor.getVersionStatus(context, itemIdObj, versionId));
+ updateVersionStatus(context, itemIdObj, versionId, versionState, itemVersion);
+ Version result = new ItemVersionToVersionConvertor().convert(itemVersion);
+ result.setState(versionState);
+ return Optional.of(result);
+ }
+
+ @Override
+ public void delete(String itemId, Version version) {
+ throw new UnsupportedOperationException("Delete version operation is not yet supported.");
+ }
+
+ @Override
+ public void publish(String itemId, Version version, String message) {
+ zusammenAdaptor.publishVersion(createSessionContext(), new Id(itemId), new Id(version.getId()), message);
+ }
+
+ @Override
+ public void sync(String itemId, Version version) {
+ zusammenAdaptor.syncVersion(createSessionContext(), new Id(itemId), new Id(version.getId()));
+ }
+
+ @Override
+ public void forceSync(String itemId, Version version) {
+ zusammenAdaptor.forceSyncVersion(createSessionContext(), new Id(itemId), new Id(version.getId()));
+ }
+
+ @Override
+ public void clean(String itemId, Version version) {
+ zusammenAdaptor.cleanVersion(createSessionContext(), new Id(itemId), new Id(version.getId()));
+ }
+
+ @Override
+ public void revert(String itemId, Version version, String revisionId) {
+ zusammenAdaptor.revert(createSessionContext(), new Id(itemId), new Id(version.getId()), new Id(revisionId));
+ }
+
+ @Override
+ public List<Revision> listRevisions(String itemId, Version version) {
+ ItemVersionRevisions itemVersionRevisions = zusammenAdaptor.listRevisions(createSessionContext(), new Id(itemId), new Id(version.getId()));
+ return
+ itemVersionRevisions == null || itemVersionRevisions.getItemVersionRevisions() == null || itemVersionRevisions.getItemVersionRevisions()
+ .isEmpty() ? new ArrayList<>()
+ : itemVersionRevisions.getItemVersionRevisions().stream().map(this::convertRevision).sorted(this::compareRevisionsTime)
+ .collect(Collectors.toList());
+ }
+
+ private void updateVersionStatus(SessionContext context, Id itemId, Id versionId, VersionState versionState, ItemVersion itemVersion) {
+ if (versionState.getSynchronizationState() != SynchronizationState.UpToDate) {
+ String versionStatus = zusammenAdaptor.getPublicVersion(context, itemId, versionId).getData().getInfo()
+ .getProperty(ZusammenProperty.STATUS);
+ itemVersion.getData().getInfo().addProperty(ZusammenProperty.STATUS, versionStatus);
+ }
+ }
+
+ private ItemVersionData mapToZusammenVersion(Version version) {
+ Info info = new Info();
+ info.addProperty(ZusammenProperty.LABEL, version.toString());
+ info.addProperty(ZusammenProperty.STATUS, version.getStatus().name());
+ info.setName(version.getName());
+ info.setDescription(version.getDescription());
+ ItemVersionData itemVersionData = new ItemVersionData();
+ itemVersionData.setInfo(info);
+ return itemVersionData;
+ }
+
+ private VersionState convertState(ItemVersionStatus versionStatus) {
+ VersionState state = new VersionState();
+ state.setSynchronizationState(getSyncState(versionStatus.getSynchronizationStatus()));
+ state.setDirty(versionStatus.isDirty());
+ return state;
+ }
+
+ private SynchronizationState getSyncState(SynchronizationStatus synchronizationStatus) {
+ switch (synchronizationStatus) {
+ case UP_TO_DATE:
+ return SynchronizationState.UpToDate;
+ case OUT_OF_SYNC:
+ return SynchronizationState.OutOfSync;
+ case MERGING:
+ return SynchronizationState.Merging;
+ default:
+ throw new CoreException(new ErrorCode.ErrorCodeBuilder().withCategory(ErrorCategory.APPLICATION).withId("UNKNOWN_VERSION_STATE")
+ .withMessage("Version state is unknown").build());
+ }
+ }
+
+ private Revision convertRevision(com.amdocs.zusammen.datatypes.itemversion.Revision zusammenRevision) {
+ Revision revision = new Revision();
+ revision.setId(zusammenRevision.getRevisionId().getValue());
+ revision.setTime(zusammenRevision.getTime());
+ revision.setUser(zusammenRevision.getUser());
+ revision.setMessage(zusammenRevision.getMessage());
+ return revision;
+ }
+
+ private int compareRevisionsTime(Revision revision1, Revision revision2) {
+ return revision1.getTime().before(revision2.getTime()) ? 1 : -1;
+ }
+
+ public static final class ZusammenProperty {
+
+ public static final String LABEL = "label";
+ public static final String STATUS = "status";
+
+ private ZusammenProperty() {
+ throw new IllegalStateException("Constants class");
+ }
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/convertor/ItemVersionToVersionConvertor.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/convertor/ItemVersionToVersionConvertor.java
index 2ebb95b33b..361b1bcbec 100644
--- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/convertor/ItemVersionToVersionConvertor.java
+++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/convertor/ItemVersionToVersionConvertor.java
@@ -29,40 +29,37 @@ import org.openecomp.sdc.versioning.dao.types.Version;
import org.openecomp.sdc.versioning.dao.types.VersionStatus;
public class ItemVersionToVersionConvertor extends ElementConvertor {
- @Override
- public Object convert(Element element) {
- return null;
- }
- @Override
- public Object convert(Item item) {
- return null;
- }
-
- @Override
- public Object convert(ElementInfo elementInfo) {
- return null;
- }
+ @Override
+ public Object convert(Element element) {
+ return null;
+ }
- @Override
- public Version convert(ItemVersion itemVersion) {
- if (itemVersion == null) {
- return null;
+ @Override
+ public Object convert(Item item) {
+ return null;
}
- Version version = Version.valueOf(
- itemVersion.getData().getInfo().getProperty(VersionZusammenDaoImpl.ZusammenProperty.LABEL));
- version.setStatus(VersionStatus.valueOf(itemVersion.getData().getInfo()
- .getProperty(VersionZusammenDaoImpl.ZusammenProperty.STATUS)));
- version.setName(itemVersion.getData().getInfo().getName());
- version.setDescription(itemVersion.getData().getInfo().getDescription());
- version.setId(itemVersion.getId().getValue());
- if (itemVersion.getBaseId() != null) {
- version.setBaseId(itemVersion.getBaseId().getValue());
+ @Override
+ public Object convert(ElementInfo elementInfo) {
+ return null;
}
- version.setCreationTime(itemVersion.getCreationTime());
- version.setModificationTime(itemVersion.getModificationTime());
- return version;
- }
+ @Override
+ public Version convert(ItemVersion itemVersion) {
+ if (itemVersion == null) {
+ return null;
+ }
+ Version version = Version.valueOf(itemVersion.getData().getInfo().getProperty(VersionZusammenDaoImpl.ZusammenProperty.LABEL));
+ version.setStatus(VersionStatus.valueOf(itemVersion.getData().getInfo().getProperty(VersionZusammenDaoImpl.ZusammenProperty.STATUS)));
+ version.setName(itemVersion.getData().getInfo().getName());
+ version.setDescription(itemVersion.getData().getInfo().getDescription());
+ version.setId(itemVersion.getId().getValue());
+ if (itemVersion.getBaseId() != null) {
+ version.setBaseId(itemVersion.getBaseId().getValue());
+ }
+ version.setCreationTime(itemVersion.getCreationTime());
+ version.setModificationTime(itemVersion.getModificationTime());
+ return version;
+ }
}