summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl')
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ComputeDaoCassandraImpl.java120
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ComputeDaoFactoryImpl.java16
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/DeploymentFlavorDaoCassandraImpl.java93
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/DeploymentFlavorDaoFactoryImpl.java17
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ImageDaoFactoryImpl.java18
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ImageDaoImpl.java129
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/MonitoringUploadDaoFactoryImpl.java (renamed from openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/MibDaoFactoryImpl.java)12
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductDaoImpl.java123
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductInfoDaoImpl.java5
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComponentArtifactDaoZusammenImpl.java (renamed from openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/MibDaoZusammenImpl.java)131
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComponentDaoZusammenImpl.java6
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComponentDependencyModelPropertyName.java12
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComputeDaoZusammenImpl.java251
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/DeploymentFlavorDaoZusammenImpl.java179
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ElementType.java6
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ImageDaoZusammenImpl.java252
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/StructureElement.java4
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VendorSoftwareProductInfoDaoZusammenImpl.java19
18 files changed, 1326 insertions, 67 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ComputeDaoCassandraImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ComputeDaoCassandraImpl.java
new file mode 100644
index 0000000000..ba878c661e
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ComputeDaoCassandraImpl.java
@@ -0,0 +1,120 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao.impl;
+
+import com.datastax.driver.core.ResultSet;
+import com.datastax.driver.core.UDTValue;
+import com.datastax.driver.mapping.Mapper;
+import com.datastax.driver.mapping.Result;
+import com.datastax.driver.mapping.UDTMapper;
+import com.datastax.driver.mapping.annotations.Accessor;
+import com.datastax.driver.mapping.annotations.Query;
+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.vendorsoftwareproduct.VendorSoftwareProductConstants;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity;
+import org.openecomp.sdc.versioning.VersioningManagerFactory;
+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.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+
+public class ComputeDaoCassandraImpl extends CassandraBaseDao<ComputeEntity> implements
+ ComputeDao {
+
+ private static final NoSqlDb noSqlDb = NoSqlDbFactory.getInstance().createInterface();
+ private static final Mapper<ComputeEntity> mapper =
+ noSqlDb.getMappingManager().mapper(ComputeEntity.class);
+ private static final ComputeAccessor accessor =
+ noSqlDb.getMappingManager().createAccessor(ComputeDaoCassandraImpl.ComputeAccessor.class);
+ private static final UDTMapper<Version> versionMapper =
+ noSqlDb.getMappingManager().udtMapper(Version.class);
+
+ @Override
+ public void registerVersioning(String versionableEntityType) {
+ VersionableEntityMetadata metadata = new VersionableEntityMetadata(
+ mapper.getTableMetadata().getName(),
+ mapper.getTableMetadata().getPartitionKey().get(0).getName(),
+ mapper.getTableMetadata().getPartitionKey().get(1).getName());
+
+
+ metadata.setUniqueValuesMetadata(Collections.singletonList(new UniqueValueMetadata(
+ VendorSoftwareProductConstants.UniqueValues.COMPUTE_NAME,
+ Arrays.asList("vsp_id", "version", "component_id", "name"))));
+
+ VersioningManagerFactory.getInstance().createInterface()
+ .register(versionableEntityType, metadata);
+ }
+
+ @Override
+ public Collection<ComputeEntity> list(ComputeEntity entity) {
+ return accessor.listByComponentId(entity.getVspId(),
+ versionMapper.toUDT(entity.getVersion()), entity.getComponentId()).all();
+ }
+
+ @Override
+ protected Mapper<ComputeEntity> getMapper() {
+ return mapper;
+ }
+
+ @Override
+ protected Object[] getKeys(ComputeEntity entity) {
+ return new Object[]{entity.getVspId(), versionMapper.toUDT(entity.getVersion()),
+ entity.getComponentId(), entity.getId()};
+ }
+
+ @Override
+ public Collection<ComputeEntity> listByVsp(String vspId, Version version) {
+ return accessor.listByVspId(vspId, versionMapper.toUDT(version)).all();
+ }
+
+ @Override
+ public void update(ComputeEntity entity) {
+ accessor.updateCompositionData(entity.getCompositionData(), entity.getVspId(), versionMapper
+ .toUDT(entity.getVersion()), entity.getComponentId(), entity.getId());
+ }
+
+ @Override
+ public void updateQuestionnaireData(String vspId, Version version, String componentId,
+ String computeId, String questionnaireData) {
+ accessor.updateQuestionnaireData(questionnaireData, vspId, versionMapper.toUDT(version),
+ componentId, computeId);
+ }
+
+ @Override
+ public void deleteAll(String vspId, Version version) {
+ accessor.deleteAll(vspId, version);
+ }
+
+ @Override
+ public ComputeEntity getQuestionnaireData(String vspId, Version version, String componentId,
+ String computeId) {
+ return null;
+ }
+
+ @Accessor
+ interface ComputeAccessor {
+
+ @Query("select * from vsp_component_compute where vsp_id=? and version=? and component_id=?")
+ Result<ComputeEntity> listByComponentId(String vspId, UDTValue version, String componentId);
+
+ @Query("select * from vsp_component_compute where vsp_id=? and version=?")
+ Result<ComputeEntity> listByVspId(String vspId, UDTValue version);
+
+ @Query("update vsp_component_compute set composition_data=? where vsp_id=? and version=?"
+ + " and component_id=? and compute_id=?")
+ ResultSet updateCompositionData(String compositionData, String vspId, UDTValue version,
+ String componentId, String computeId);
+
+ @Query("update vsp_component_compute set questionnaire_data=? where vsp_id=? and version=?"
+ + " and component_id=? and compute_id=?")
+ ResultSet updateQuestionnaireData(String questionnaireData, String vspId, UDTValue version,
+ String componentId, String computeId);
+
+ @Query("delete from vsp_component_compute where vsp_id=? and version=?")
+ ResultSet deleteAll(String vspId, Version version);
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ComputeDaoFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ComputeDaoFactoryImpl.java
new file mode 100644
index 0000000000..8221de3152
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ComputeDaoFactoryImpl.java
@@ -0,0 +1,16 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao.impl;
+
+import org.openecomp.core.zusammen.api.ZusammenAdaptorFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.ComputeDaoZusammenImpl;
+
+public class ComputeDaoFactoryImpl extends ComputeDaoFactory {
+ private static final ComputeDao INSTANCE = new ComputeDaoZusammenImpl(
+ ZusammenAdaptorFactory.getInstance().createInterface());
+
+ @Override
+ public ComputeDao createInterface() {
+ return INSTANCE;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/DeploymentFlavorDaoCassandraImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/DeploymentFlavorDaoCassandraImpl.java
new file mode 100644
index 0000000000..5831b582fc
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/DeploymentFlavorDaoCassandraImpl.java
@@ -0,0 +1,93 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao.impl;
+
+import com.datastax.driver.core.ResultSet;
+import com.datastax.driver.core.UDTValue;
+import com.datastax.driver.mapping.Mapper;
+import com.datastax.driver.mapping.Result;
+import com.datastax.driver.mapping.UDTMapper;
+import com.datastax.driver.mapping.annotations.Accessor;
+import com.datastax.driver.mapping.annotations.Query;
+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.vendorsoftwareproduct.VendorSoftwareProductConstants;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity;
+import org.openecomp.sdc.versioning.VersioningManagerFactory;
+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.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+
+
+public class DeploymentFlavorDaoCassandraImpl extends CassandraBaseDao<DeploymentFlavorEntity> implements DeploymentFlavorDao {
+ private static final NoSqlDb noSqlDb = NoSqlDbFactory.getInstance().createInterface();
+ private static final Mapper<DeploymentFlavorEntity> mapper = noSqlDb.getMappingManager().mapper(DeploymentFlavorEntity.class);
+ private static final DeploymentFlavorAccessor accessor =
+ noSqlDb.getMappingManager().createAccessor(DeploymentFlavorAccessor.class);
+ private static final UDTMapper<Version> versionMapper =
+ noSqlDb.getMappingManager().udtMapper(Version.class);
+ @Override
+ protected Mapper<DeploymentFlavorEntity> getMapper() {
+ return mapper;
+ }
+
+ @Override
+ protected Object[] getKeys(DeploymentFlavorEntity entity) {
+ return new Object[]{entity.getVspId(), versionMapper.toUDT(entity.getVersion()),
+ entity.getId()};
+ }
+
+ @Override
+ public Collection<DeploymentFlavorEntity> list(DeploymentFlavorEntity entity) {
+ return accessor.list(entity.getVspId(), versionMapper.toUDT(entity.getVersion())).all();
+ }
+
+ @Override
+ public void update(DeploymentFlavorEntity entity) {
+ accessor.updateCompositionData(entity.getVspId(), versionMapper.toUDT(entity.getVersion()),
+ entity.getId(), entity.getCompositionData());
+ }
+
+ @Override
+ public void registerVersioning(String versionableEntityType) {
+ VersionableEntityMetadata metadata = new VersionableEntityMetadata(
+ mapper.getTableMetadata().getName(),
+ mapper.getTableMetadata().getPartitionKey().get(0).getName(),
+ mapper.getTableMetadata().getPartitionKey().get(1).getName());
+
+
+ metadata.setUniqueValuesMetadata(Collections.singletonList(new UniqueValueMetadata(
+ VendorSoftwareProductConstants.UniqueValues.DEPLOYMENT_FLAVOR_NAME,
+ Arrays.asList(mapper.getTableMetadata().getPartitionKey().get(0).getName(),
+ mapper.getTableMetadata().getPartitionKey().get(1).getName(), "name"))));
+
+ VersioningManagerFactory.getInstance().createInterface()
+ .register(versionableEntityType, metadata);
+ }
+
+ @Override
+ public void deleteAll(String vspId, Version version) {
+ accessor.deleteAll(vspId, version);
+ }
+
+ @Accessor
+ interface DeploymentFlavorAccessor {
+ @Query(
+ "select vsp_id, version, deployment_flavor_id, composition_data from vsp_deployment_flavor where vsp_id=?"
+ + " and version=?")
+ Result<DeploymentFlavorEntity> list(String vspId, UDTValue version);
+
+ @Query(
+ "insert into vsp_deployment_flavor (vsp_id, version, deployment_flavor_id, composition_data) values (?,?,?,?)")
+ ResultSet updateCompositionData(String vspId, UDTValue version, String id,
+ String compositionData);
+
+ @Query("delete from vsp_deployment_flavor where vsp_id=? and version=?")
+ ResultSet deleteAll(String vspId, Version version);
+
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/DeploymentFlavorDaoFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/DeploymentFlavorDaoFactoryImpl.java
new file mode 100644
index 0000000000..60a9e5e13e
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/DeploymentFlavorDaoFactoryImpl.java
@@ -0,0 +1,17 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao.impl;
+
+import org.openecomp.core.zusammen.api.ZusammenAdaptorFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.DeploymentFlavorDaoZusammenImpl;
+
+
+public class DeploymentFlavorDaoFactoryImpl extends DeploymentFlavorDaoFactory{
+ private static final DeploymentFlavorDao INSTANCE = new DeploymentFlavorDaoZusammenImpl(
+ ZusammenAdaptorFactory.getInstance().createInterface());
+
+ @Override
+ public DeploymentFlavorDao createInterface() {
+ return INSTANCE;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ImageDaoFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ImageDaoFactoryImpl.java
new file mode 100644
index 0000000000..e4f13b3ee1
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ImageDaoFactoryImpl.java
@@ -0,0 +1,18 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao.impl;
+
+import org.openecomp.core.zusammen.api.ZusammenAdaptorFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.ImageDaoZusammenImpl;
+
+public class ImageDaoFactoryImpl extends ImageDaoFactory {
+
+ private static final ImageDao INSTANCE = new ImageDaoZusammenImpl(
+ ZusammenAdaptorFactory.getInstance().createInterface());
+
+ @Override
+ public ImageDao createInterface() {
+ return INSTANCE;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ImageDaoImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ImageDaoImpl.java
new file mode 100644
index 0000000000..24217830e4
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ImageDaoImpl.java
@@ -0,0 +1,129 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao.impl;
+
+import com.datastax.driver.core.ResultSet;
+import com.datastax.driver.core.UDTValue;
+import com.datastax.driver.mapping.Mapper;
+import com.datastax.driver.mapping.Result;
+import com.datastax.driver.mapping.UDTMapper;
+import com.datastax.driver.mapping.annotations.Accessor;
+import com.datastax.driver.mapping.annotations.Query;
+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.vendorsoftwareproduct.VendorSoftwareProductConstants;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity;
+import org.openecomp.sdc.versioning.VersioningManagerFactory;
+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.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+
+public class ImageDaoImpl extends CassandraBaseDao<ImageEntity> implements ImageDao {
+
+ private static final NoSqlDb noSqlDb = NoSqlDbFactory.getInstance().createInterface();
+ private static final Mapper<ImageEntity> mapper =
+ noSqlDb.getMappingManager().mapper(ImageEntity.class);
+ private static final ImageAccessor accessor =
+ noSqlDb.getMappingManager().createAccessor(ImageAccessor.class);
+ private static final UDTMapper<Version> versionMapper =
+ noSqlDb.getMappingManager().udtMapper(Version.class);
+
+ @Override
+ public void registerVersioning(String versionableEntityType) {
+
+ VersionableEntityMetadata metadata = new VersionableEntityMetadata(
+ mapper.getTableMetadata().getName(),
+ mapper.getTableMetadata().getPartitionKey().get(0).getName(),
+ mapper.getTableMetadata().getPartitionKey().get(1).getName());
+
+
+ metadata.setUniqueValuesMetadata(Collections.singletonList(new UniqueValueMetadata(
+ VendorSoftwareProductConstants.UniqueValues.IMAGE_NAME,
+ Arrays.asList("vsp_id", "version", "component_id", "name"))));
+
+ VersioningManagerFactory.getInstance().createInterface()
+ .register(versionableEntityType, metadata);
+ }
+
+ @Override
+ protected Mapper<ImageEntity> getMapper() {
+ return mapper;
+ }
+
+ @Override
+ protected Object[] getKeys(ImageEntity entity) {
+ return new Object[]{entity.getVspId(),
+ versionMapper.toUDT(entity.getVersion()), entity.getComponentId(), entity.getId() };
+ }
+
+ @Override
+ public Collection<ImageEntity> list(ImageEntity entity) {
+ return accessor.list(entity.getVspId(), versionMapper.toUDT(entity.getVersion()),
+ entity.getComponentId()).all();
+ }
+
+ @Override
+ public void update(ImageEntity entity) {
+ accessor.updateCompositionData(entity.getVspId(), versionMapper.toUDT(entity.getVersion()),
+ entity.getComponentId(), entity.getId(), entity.getCompositionData());
+ }
+
+ @Override
+ public void updateQuestionnaireData(String vspId, Version version, String componentId,
+ String imageId, String questionnaireData) {
+ accessor.updateQuestionnaireData(questionnaireData, vspId, versionMapper.toUDT(version),
+ componentId, imageId);
+ }
+
+ @Override
+ public void delete(ImageEntity entity) {
+ super.delete(entity);
+ }
+
+ @Override
+ public void deleteByVspId(String vspId, Version version) {
+ accessor.deleteByVspId(vspId, versionMapper.toUDT(version));
+ }
+
+ @Override
+ public Collection<ImageEntity> listByVsp(String vspId, Version version) {
+ return accessor.listByVspId(vspId, versionMapper.toUDT(version)).all();
+ }
+
+ @Override
+ public ImageEntity getQuestionnaireData(String vspId, Version version, String componentId,
+ String computeId) {
+ return null;
+ }
+
+ @Accessor
+ interface ImageAccessor {
+
+ @Query("select vsp_id, version, component_id, image_id, composition_data from "
+ + "vsp_component_image where vsp_id=? and version=? and component_id=?")
+ Result<ImageEntity> list(String vspId, UDTValue version, String componentId);
+
+ @Query(
+ "insert into vsp_component_image (vsp_id, version, component_id, image_id, "
+ + "composition_data) values (?,?,?,?,?)")
+ ResultSet updateCompositionData(String vspId, UDTValue version, String componentId, String id,
+ String compositionData);
+
+ @Query("update vsp_component_image set questionnaire_data=? where vsp_id=? and version=?"
+ + " and component_id=? and image_id=?")
+ ResultSet updateQuestionnaireData(String questionnaireData, String vspId, UDTValue version,
+ String componentId, String computeId);
+
+ @Query("delete from vsp_component_image where vsp_id=? and version=?")
+ ResultSet deleteByVspId(String vspId, UDTValue version);
+
+ @Query("select * from vsp_component_image where vsp_id=? and version=?")
+ Result<ImageEntity> listByVspId(String vspId, UDTValue version);
+
+ }
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/MibDaoFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/MonitoringUploadDaoFactoryImpl.java
index 923744bae7..fa6a0cbfc2 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/MibDaoFactoryImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/MonitoringUploadDaoFactoryImpl.java
@@ -21,16 +21,16 @@
package org.openecomp.sdc.vendorsoftwareproduct.dao.impl;
import org.openecomp.core.zusammen.api.ZusammenAdaptorFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.MibDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.MibDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.MibDaoZusammenImpl;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentArtifactDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.MonitoringUploadDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.ComponentArtifactDaoZusammenImpl;
-public class MibDaoFactoryImpl extends MibDaoFactory {
- private static final MibDao INSTANCE = new MibDaoZusammenImpl(
+public class MonitoringUploadDaoFactoryImpl extends MonitoringUploadDaoFactory {
+ private static final ComponentArtifactDao INSTANCE = new ComponentArtifactDaoZusammenImpl(
ZusammenAdaptorFactory.getInstance().createInterface());
@Override
- public MibDao createInterface() {
+ public ComponentArtifactDao createInterface() {
return INSTANCE;
}
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductDaoImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductDaoImpl.java
index 2251c2700e..bdd6677738 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductDaoImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductDaoImpl.java
@@ -35,8 +35,12 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao;
import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDependencyModelDao;
import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDependencyModelDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.MibDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.MibDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDao;
import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDao;
@@ -52,6 +56,9 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessEntity;
import org.openecomp.sdc.versioning.dao.types.Version;
@@ -73,8 +80,6 @@ public class VendorSoftwareProductDaoImpl implements VendorSoftwareProductDao {
ComponentDaoFactory.getInstance().createInterface();
private static final NicDao nicDao = NicDaoFactory.getInstance().createInterface();
private static final ProcessDao processDao = ProcessDaoFactory.getInstance().createInterface();
- private static final MibDao
- MIB_DAO = MibDaoFactory.getInstance().createInterface();
private static final ServiceArtifactDaoInter
artifactDao = ServiceArtifactDaoFactory.getInstance().createInterface();
public static final ServiceTemplateDaoInter
@@ -87,6 +92,11 @@ public class VendorSoftwareProductDaoImpl implements VendorSoftwareProductDao {
ServiceModelDaoFactory.getInstance().createInterface();
private static final ComponentDependencyModelDao componentDependencyModelDao =
ComponentDependencyModelDaoFactory.getInstance().createInterface();
+ private static final DeploymentFlavorDao
+ deploymentFlavorDao = DeploymentFlavorDaoFactory.getInstance().createInterface();
+ private static final ImageDao imageDao = ImageDaoFactory.getInstance().createInterface();
+ private static final ComputeDao computeDao = ComputeDaoFactory.getInstance().createInterface();
+
@Override
public void registerVersioning(String versionableEntityType) {
@@ -97,6 +107,9 @@ public class VendorSoftwareProductDaoImpl implements VendorSoftwareProductDao {
processDao.registerVersioning(versionableEntityType);
orchestrationTemplateCandidateDataDao.registerVersioning(versionableEntityType);
componentDependencyModelDao.registerVersioning(versionableEntityType);
+ computeDao.registerVersioning(versionableEntityType);
+ deploymentFlavorDao.registerVersioning(versionableEntityType);
+ imageDao.registerVersioning(versionableEntityType);
}
@Override
@@ -226,4 +239,106 @@ public class VendorSoftwareProductDaoImpl implements VendorSoftwareProductDao {
return componentDependencyModelDao.list(new ComponentDependencyModelEntity(vspId, version,
null));
}
+
+ @Override
+ public void createDeploymentFlavor(DeploymentFlavorEntity deploymentFlavor) {
+ deploymentFlavorDao.create(deploymentFlavor);
+ }
+
+ @Override
+ public Collection<DeploymentFlavorEntity> listDeploymentFlavors(String vspId, Version version) {
+ return deploymentFlavorDao.list(new DeploymentFlavorEntity(vspId, version, null));
+ }
+
+ @Override
+ public DeploymentFlavorEntity getDeploymentFlavor(String vspId, Version version,
+ String deploymentFlavorId) {
+ return deploymentFlavorDao.get(new DeploymentFlavorEntity(vspId, version, deploymentFlavorId));
+ }
+
+ @Override
+ public void deleteDeploymentFlavor(String vspId, Version version, String deploymentFlavorId) {
+ deploymentFlavorDao.delete(new DeploymentFlavorEntity(vspId,version,
+ deploymentFlavorId));
+ }
+
+ @Override
+ public void createImage(ImageEntity imageEntity) {
+ imageDao.create(imageEntity);
+ }
+
+ @Override
+ public Collection<ImageEntity> listImages(String vspId, Version version, String componentId) {
+ return imageDao.list(new ImageEntity(vspId, version, componentId, null));
+ }
+
+ @Override
+ public ImageEntity getImage(String vspId, Version version, String componentId, String imageId) {
+ return imageDao.get(new ImageEntity(vspId, version, componentId, imageId));
+ }
+
+ @Override
+ public Collection<ImageEntity> listImagesByVsp(String vspId, Version version) {
+ return imageDao.listByVsp(vspId, version);
+ }
+
+ @Override
+ public void createCompute(ComputeEntity computeEntity) {
+ computeDao.create(computeEntity);
+ }
+
+ @Override
+ public Collection<ComputeEntity> listComputes(String vspId, Version version, String componentId) {
+ return computeDao.list(new ComputeEntity(vspId, version, componentId, null));
+ }
+
+ @Override
+ public Collection<ComputeEntity> listComputesByVsp(String vspId, Version version) {
+ return computeDao.listByVsp(vspId, version);
+ }
+
+ @Override
+ public ComputeEntity getCompute(String vspId, Version version, String componentId,
+ String computeFlavorId) {
+ return computeDao.get(new ComputeEntity(vspId, version, componentId, computeFlavorId));
+ }
+
+ @Override
+ public void deleteImage(String vspId, Version version, String componentId, String imageId) {
+ ImageEntity imageEntity = new ImageEntity(vspId, version, componentId, imageId);
+ imageDao.delete(imageEntity);
+ }
+
+ @Override
+ public void updateDeploymentFlavor(DeploymentFlavorEntity deploymentFlavorEntity) {
+ deploymentFlavorDao.update(deploymentFlavorEntity);
+ }
+
+ @Override
+ public void updateImage(ImageEntity imageEntity) {
+ imageDao.update(imageEntity);
+ }
+
+ @Override
+ public void updateImageQuestionnaire(String vspId, Version version, String componentId,
+ String imageId, String questionnaireData) {
+ imageDao.updateQuestionnaireData(vspId, version, componentId, imageId, questionnaireData);
+ }
+
+ @Override
+ public void updateComputeQuestionnaire(String vspId, Version version, String componentId,
+ String computeId, String questionnaireData) {
+ computeDao.updateQuestionnaireData(vspId, version, componentId, computeId, questionnaireData);
+ }
+
+ @Override
+ public void updateCompute(ComputeEntity compute) {
+ computeDao.update(compute);
+ }
+
+ @Override
+ public void deleteCompute(String vspId, Version version, String componentId, String
+ computeFlavorId) {
+ computeDao.delete(new ComputeEntity(vspId, version, componentId, computeFlavorId));
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductInfoDaoImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductInfoDaoImpl.java
index 5a8635cf98..d9b629cc60 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductInfoDaoImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductInfoDaoImpl.java
@@ -98,6 +98,11 @@ public class VendorSoftwareProductInfoDaoImpl extends CassandraBaseDao<VspDetail
}
+ @Override
+ public boolean isManual(String vspId, Version version) {
+ return false;
+ }
+
@Accessor
interface VendorSoftwareProductInfoAccessor {
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/MibDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComponentArtifactDaoZusammenImpl.java
index d56db41cee..517f2fd19b 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/MibDaoZusammenImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComponentArtifactDaoZusammenImpl.java
@@ -7,12 +7,12 @@ import com.amdocs.zusammen.datatypes.Id;
import com.amdocs.zusammen.datatypes.SessionContext;
import com.amdocs.zusammen.datatypes.item.Action;
import com.amdocs.zusammen.datatypes.item.ElementContext;
-import org.openecomp.core.enrichment.types.ArtifactType;
+import org.openecomp.core.enrichment.types.MonitoringUploadType;
import org.openecomp.core.utilities.file.FileUtils;
import org.openecomp.core.zusammen.api.ZusammenAdaptor;
import org.openecomp.core.zusammen.api.ZusammenUtil;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.MibDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.MibEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentArtifactDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentMonitoringUploadEntity;
import org.openecomp.sdc.versioning.dao.types.Version;
import java.io.ByteArrayInputStream;
@@ -25,13 +25,13 @@ import java.util.stream.Collectors;
* @author Avrahamg.
* @since March 21, 2017
*/
-public class MibDaoZusammenImpl implements MibDao {
+public class ComponentArtifactDaoZusammenImpl implements ComponentArtifactDao {
private static final String ARTIFACT_NAME = "name";
private ZusammenAdaptor zusammenAdaptor;
- public MibDaoZusammenImpl(ZusammenAdaptor zusammenAdaptor) {
+ public ComponentArtifactDaoZusammenImpl(ZusammenAdaptor zusammenAdaptor) {
this.zusammenAdaptor = zusammenAdaptor;
}
@@ -41,25 +41,30 @@ public class MibDaoZusammenImpl implements MibDao {
}
@Override
- public Optional<MibEntity> getByType(MibEntity mibEntity) {
+ public Optional<ComponentMonitoringUploadEntity> getByType(
+ ComponentMonitoringUploadEntity componentMonitoringUploadEntity) {
SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(mibEntity.getVspId());
+ Id itemId = new Id(componentMonitoringUploadEntity.getVspId());
ElementContext elementContext = new ElementContext(itemId,
VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
- VspZusammenUtil.getVersionTag(mibEntity.getVersion()));
-
+ VspZusammenUtil.getVersionTag(componentMonitoringUploadEntity.getVersion()));
Optional<Element> mibsElement =
- zusammenAdaptor.getElementByName(context, elementContext, new Id(mibEntity
+ zusammenAdaptor.getElementByName(context, elementContext, new Id(
+ componentMonitoringUploadEntity
.getComponentId()), StructureElement.Mibs.toString());
if (mibsElement.isPresent()) {
- Optional<Element> mibElement = zusammenAdaptor
+ Optional<Element> monitoringElement = zusammenAdaptor
.getElementByName(context, elementContext, mibsElement.get().getElementId(),
- getMibStructuralElement(mibEntity.getType()).toString());
- if (mibElement.isPresent()) {
- mibEntity.setId(mibElement.get().getElementId().getValue());
- mibEntity.setArtifactName((String) mibElement.get().getInfo().getProperties().get(ARTIFACT_NAME));
- mibEntity.setArtifact(ByteBuffer.wrap(FileUtils.toByteArray(mibElement.get().getData())));
- return Optional.of(mibEntity);
+ getMonitoringStructuralElement(componentMonitoringUploadEntity.getType())
+ .toString());
+ if (monitoringElement.isPresent()) {
+ componentMonitoringUploadEntity.setId(monitoringElement.get().getElementId().getValue());
+ componentMonitoringUploadEntity
+ .setArtifactName(
+ (String) monitoringElement.get().getInfo().getProperties().get(ARTIFACT_NAME));
+ componentMonitoringUploadEntity
+ .setArtifact(ByteBuffer.wrap(FileUtils.toByteArray(monitoringElement.get().getData())));
+ return Optional.of(componentMonitoringUploadEntity);
}
}
@@ -67,44 +72,44 @@ public class MibDaoZusammenImpl implements MibDao {
}
@Override
- public void create(MibEntity mibEntity) {
- ZusammenElement mibElement = buildMibElement(mibEntity);
+ public void create(ComponentMonitoringUploadEntity entity) {
+ ZusammenElement mibElement = buildMibElement(entity);
ZusammenElement mibsElement =
VspZusammenUtil.buildStructuralElement(StructureElement.Mibs, null);
- ZusammenElement componentElement = buildComponentElement(mibEntity);
+ ZusammenElement componentElement = buildComponentElement(entity);
SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(mibEntity.getVspId());
+ Id itemId = new Id(entity.getVspId());
ElementContext elementContext = new ElementContext(itemId,
VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
Optional<Element> savedElement = zusammenAdaptor.saveElement(context, elementContext,
VspZusammenUtil.aggregateElements(componentElement, mibsElement, mibElement),
- "Create mib");
+ "Create monitoring upload");
savedElement.ifPresent(element ->
- mibEntity.setId(element.getSubElements().iterator().next()
+ entity.setId(element.getSubElements().iterator().next()
.getSubElements().iterator().next().getElementId().getValue()));
}
@Override
- public void delete(MibEntity mibEntity) {
+ public void delete(ComponentMonitoringUploadEntity componentMonitoringUploadEntity) {
ZusammenElement mibElement = new ZusammenElement();
- mibElement.setElementId(new Id(mibEntity.getId()));
+ mibElement.setElementId(new Id(componentMonitoringUploadEntity.getId()));
mibElement.setAction(Action.DELETE);
SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(mibEntity.getVspId());
+ Id itemId = new Id(componentMonitoringUploadEntity.getVspId());
ElementContext elementContext = new ElementContext(itemId,
VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
zusammenAdaptor.saveElement(context, elementContext, mibElement,
- String.format("Delete mib with id %s", mibEntity.getId()));
+ String.format("Delete mib with id %s", componentMonitoringUploadEntity.getId()));
}
@Override
- public Collection<MibEntity> list(MibEntity mib) {
+ public Collection<ComponentMonitoringUploadEntity> list(ComponentMonitoringUploadEntity mib) {
SessionContext context = ZusammenUtil.createSessionContext();
Id itemId = new Id(mib.getVspId());
ElementContext elementContext = new ElementContext(itemId,
@@ -120,14 +125,14 @@ public class MibDaoZusammenImpl implements MibDao {
}
@Override
- public void deleteAll(MibEntity mibEntity) {
+ public void deleteAll(ComponentMonitoringUploadEntity componentMonitoringUploadEntity) {
ZusammenElement mibsElement =
VspZusammenUtil.buildStructuralElement(StructureElement.Mibs, Action.DELETE);
- ZusammenElement componentElement = buildComponentElement(mibEntity);
+ ZusammenElement componentElement = buildComponentElement(componentMonitoringUploadEntity);
SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(mibEntity.getVspId());
+ Id itemId = new Id(componentMonitoringUploadEntity.getVspId());
ElementContext elementContext = new ElementContext(itemId,
VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
@@ -136,15 +141,17 @@ public class MibDaoZusammenImpl implements MibDao {
}
@Override
- public Collection<MibEntity> listArtifacts(MibEntity mib) {
+ public Collection<ComponentMonitoringUploadEntity> listArtifacts(
+ ComponentMonitoringUploadEntity monitoringUploadEntity) {
SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(mib.getVspId());
+ Id itemId = new Id(monitoringUploadEntity.getVspId());
ElementContext elementContext = new ElementContext(itemId,
VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
- VspZusammenUtil.getVersionTag(mib.getVersion()));
+ VspZusammenUtil.getVersionTag(monitoringUploadEntity.getVersion()));
final Optional<Element> elementByName =
- zusammenAdaptor.getElementByName(context, elementContext, new Id(mib.getComponentId()
+ zusammenAdaptor.getElementByName(context, elementContext,
+ new Id(monitoringUploadEntity.getComponentId()
), StructureElement.Mibs.name());
if(!elementByName.isPresent())
@@ -153,49 +160,65 @@ public class MibDaoZusammenImpl implements MibDao {
final Id elementId = elementByName.get().getElementId();
return zusammenAdaptor.listElementData(context, elementContext, elementId).stream()
.map(element ->
- buildMibEntity(element,mib)
+ buildMibEntity(element, monitoringUploadEntity)
).collect(Collectors.toList());
}
}
- private MibEntity buildMibEntity (Element element, MibEntity mib) {
- MibEntity createdMib = new MibEntity(mib.getVspId(), mib.getVersion(), mib.getComponentId(),
+ private ComponentMonitoringUploadEntity buildMibEntity(Element element,
+ ComponentMonitoringUploadEntity monitoringUploadEntity) {
+ final String componentId = monitoringUploadEntity.getComponentId();
+ ComponentMonitoringUploadEntity
+ createdMib = new ComponentMonitoringUploadEntity(monitoringUploadEntity.getVspId(),
+ monitoringUploadEntity.getVersion(),
+ componentId,
null);
createdMib.setArtifactName((String) element.getInfo().getProperties().get(ARTIFACT_NAME));
createdMib.setArtifact(ByteBuffer.wrap(FileUtils.toByteArray(element.getData())));
- createdMib.setType( ArtifactType.valueOf(element.getInfo().getName()));
+ createdMib.setType(MonitoringUploadType.valueOf(element.getInfo().getName()));
return createdMib;
}
- private ZusammenElement buildComponentElement(MibEntity mibEntity) {
+ private ZusammenElement buildComponentElement(
+ ComponentMonitoringUploadEntity componentMonitoringUploadEntity) {
ZusammenElement componentElement = new ZusammenElement();
- componentElement.setElementId(new Id(mibEntity.getComponentId()));
+ componentElement.setElementId(new Id(componentMonitoringUploadEntity.getComponentId()));
componentElement.setAction(Action.IGNORE);
return componentElement;
}
- private ZusammenElement buildMibElement(MibEntity mib) {
- ZusammenElement mibElement = VspZusammenUtil
- .buildStructuralElement(getMibStructuralElement(mib.getType()), Action.UPDATE);
- mibElement.getInfo().getProperties().put(ARTIFACT_NAME, mib.getArtifactName());
- mibElement.setData(new ByteArrayInputStream(mib.getArtifact().array()));
- return mibElement;
+ private ZusammenElement buildMibElement(ComponentMonitoringUploadEntity monitoringUploadEntity) {
+ ZusammenElement monitoringElement = VspZusammenUtil
+ .buildStructuralElement(getMonitoringStructuralElement(monitoringUploadEntity.getType()),
+ Action.UPDATE);
+ monitoringElement.getInfo().getProperties()
+ .put(ARTIFACT_NAME, monitoringUploadEntity.getArtifactName());
+ monitoringElement
+ .setData(new ByteArrayInputStream(monitoringUploadEntity.getArtifact().array()));
+ return monitoringElement;
}
- private MibEntity mapElementInfoToMib(String vspId, Version version, String componentId,
- ElementInfo elementInfo) {
- MibEntity mib = new MibEntity(vspId, version, componentId, elementInfo.getId().getValue());
- mib.setArtifactName((String) elementInfo.getInfo().getProperties().get(ARTIFACT_NAME));
- mib.setType(ArtifactType.valueOf(elementInfo.getInfo().getName()));
- return mib;
+ private ComponentMonitoringUploadEntity mapElementInfoToMib(String vspId, Version version,
+ String componentId,
+ ElementInfo elementInfo) {
+ ComponentMonitoringUploadEntity
+ monitoringUploadEntity = new ComponentMonitoringUploadEntity(vspId, version, componentId,
+ elementInfo.getId().getValue());
+ monitoringUploadEntity
+ .setArtifactName((String) elementInfo.getInfo().getProperties().get(ARTIFACT_NAME));
+ monitoringUploadEntity.setType(MonitoringUploadType.valueOf(elementInfo.getInfo().getName()));
+ return monitoringUploadEntity;
}
- private StructureElement getMibStructuralElement(ArtifactType type) {
+ private StructureElement getMonitoringStructuralElement(MonitoringUploadType type)
+ throws IllegalArgumentException {
switch (type) {
case SNMP_POLL:
return StructureElement.SNMP_POLL;
case SNMP_TRAP:
return StructureElement.SNMP_TRAP;
+ case VES_EVENTS:
+ return StructureElement.VES_EVENTS;
default:
throw new IllegalArgumentException();
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComponentDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComponentDaoZusammenImpl.java
index 8ef09ada7b..ed6a13d2a1 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComponentDaoZusammenImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComponentDaoZusammenImpl.java
@@ -215,7 +215,11 @@ public class ComponentDaoZusammenImpl implements ComponentDao {
componentQuestionnaireToZusammen(component.getQuestionnaireData(), Action.CREATE),
VspZusammenUtil.buildStructuralElement(StructureElement.Nics, Action.CREATE),
VspZusammenUtil.buildStructuralElement(StructureElement.Processes, Action.CREATE),
- VspZusammenUtil.buildStructuralElement(StructureElement.Mibs, Action.CREATE)));
+ VspZusammenUtil.buildStructuralElement(StructureElement.Mibs, Action.CREATE),
+ VspZusammenUtil.buildStructuralElement(StructureElement.Computes, Action.CREATE),
+ VspZusammenUtil.buildStructuralElement(StructureElement.Images, Action.CREATE)));
+
+
}
return componentElement;
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComponentDependencyModelPropertyName.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComponentDependencyModelPropertyName.java
new file mode 100644
index 0000000000..426bb52452
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComponentDependencyModelPropertyName.java
@@ -0,0 +1,12 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen;
+
+/**
+ * Created by ayalaben on 5/16/2017
+ */
+public enum ComponentDependencyModelPropertyName {
+ id,
+ relation,
+ sourcecomponent_id,
+ targetcomponent_id,
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComputeDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComputeDaoZusammenImpl.java
new file mode 100644
index 0000000000..aa4bab67df
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComputeDaoZusammenImpl.java
@@ -0,0 +1,251 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen;
+
+
+import com.amdocs.zusammen.adaptor.inbound.api.types.item.Element;
+import com.amdocs.zusammen.adaptor.inbound.api.types.item.ElementInfo;
+import com.amdocs.zusammen.adaptor.inbound.api.types.item.ZusammenElement;
+import com.amdocs.zusammen.datatypes.Id;
+import com.amdocs.zusammen.datatypes.SessionContext;
+import com.amdocs.zusammen.datatypes.item.Action;
+import com.amdocs.zusammen.datatypes.item.ElementContext;
+import com.amdocs.zusammen.datatypes.item.Info;
+import org.openecomp.core.utilities.file.FileUtils;
+import org.openecomp.core.zusammen.api.ZusammenAdaptor;
+import org.openecomp.core.zusammen.api.ZusammenUtil;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.io.ByteArrayInputStream;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+public class ComputeDaoZusammenImpl implements ComputeDao {
+
+ private ZusammenAdaptor zusammenAdaptor;
+
+ public ComputeDaoZusammenImpl(ZusammenAdaptor zusammenAdaptor) {
+ this.zusammenAdaptor = zusammenAdaptor;
+ }
+
+ @Override
+ public void registerVersioning(String versionableEntityType) {
+ }
+
+ @Override
+ public Collection<ComputeEntity> list(ComputeEntity compute) {
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(compute.getVspId());
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
+ VspZusammenUtil.getVersionTag(compute.getVersion()));
+
+ return listComputes(context, elementContext, compute);
+ }
+
+ private Collection<ComputeEntity> listComputes(SessionContext context,
+ ElementContext elementContext, ComputeEntity compute) {
+ return zusammenAdaptor
+ .listElementsByName(context, elementContext, new Id(compute.getComponentId()),
+ StructureElement.Computes.name())
+ .stream().map(elementInfo -> mapElementInfoToCompute(
+ compute.getVspId(), compute.getVersion(), compute.getComponentId(), elementInfo))
+ .collect(Collectors.toList());
+ }
+
+ private static ComputeEntity mapElementInfoToCompute(String vspId, Version version,
+ String componentId, ElementInfo elementInfo) {
+ ComputeEntity componentEntity =
+ new ComputeEntity(vspId, version, componentId, elementInfo.getId().getValue());
+ componentEntity.setCompositionData(
+ elementInfo.getInfo().getProperty(ElementPropertyName.compositionData.name()));
+ return componentEntity;
+ }
+
+ @Override
+ public void create(ComputeEntity compute) {
+ ZusammenElement computeElement = computeToZusammen(compute, Action.CREATE);
+
+ ZusammenElement computesElement =
+ VspZusammenUtil.buildStructuralElement(StructureElement.Computes, null);
+ computesElement.setSubElements(Collections.singletonList(computeElement));
+
+ ZusammenElement componentElement = new ZusammenElement();
+ componentElement.setElementId(new Id(compute.getComponentId()));
+ componentElement.setAction(Action.IGNORE);
+ componentElement.setSubElements(Collections.singletonList(computesElement));
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(compute.getVspId());
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
+
+ Optional<Element> savedElement =
+ zusammenAdaptor.saveElement(context, elementContext, componentElement, "Create compute");
+ savedElement.ifPresent(element ->
+ compute.setId(element.getSubElements().iterator().next()
+ .getSubElements().iterator().next().getElementId().getValue()));
+ }
+
+ @Override
+ public void update(ComputeEntity compute) {
+ ZusammenElement computeElement = computeToZusammen(compute, Action.UPDATE);
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(compute.getVspId());
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
+ zusammenAdaptor.saveElement(context, elementContext, computeElement,
+ String.format("Update compute with id %s", compute.getId()));
+ }
+
+ @Override
+ public ComputeEntity get(ComputeEntity compute) {
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(compute.getVspId());
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
+ VspZusammenUtil.getVersionTag(compute.getVersion()));
+ Optional<Element> element = zusammenAdaptor.getElement(context, elementContext, compute.getId());
+
+ if (element.isPresent()) {
+ compute.setCompositionData(new String(FileUtils.toByteArray(element.get().getData())));
+ return compute;
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public void delete(ComputeEntity compute) {
+ ZusammenElement computeElement = new ZusammenElement();
+ computeElement.setElementId(new Id(compute.getId()));
+ computeElement.setAction(Action.DELETE);
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(compute.getVspId());
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
+ zusammenAdaptor.saveElement(context, elementContext, computeElement,
+ String.format("Delete compute with id %s", compute.getId()));
+ }
+
+ @Override
+ public ComputeEntity getQuestionnaireData(String vspId, Version version, String componentId,
+ String computeId) {
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(vspId);
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
+ VspZusammenUtil.getVersionTag(version));
+
+ return getQuestionnaire(context, elementContext,
+ new ComputeEntity(vspId, version, componentId, computeId));
+ }
+
+ private ComputeEntity getQuestionnaire(SessionContext context, ElementContext elementContext,
+ ComputeEntity compute) {
+ Optional<Element> questionnaireElement = zusammenAdaptor
+ .getElementByName(context, elementContext, new Id(compute.getId()),
+ StructureElement.Questionnaire.name());
+ return questionnaireElement.map(
+ element -> element.getData() == null
+ ? null
+ : new String(FileUtils.toByteArray(element.getData())))
+ .map(questionnaireData -> {
+ compute.setQuestionnaireData(questionnaireData);
+ return compute;
+ })
+ .orElse(null);
+ }
+
+ @Override
+ public void updateQuestionnaireData(String vspId, Version version, String componentId,
+ String computeId, String questionnaireData) {
+ ZusammenElement questionnaireElement =
+ computeQuestionnaireToZusammen(questionnaireData, Action.UPDATE);
+
+ ZusammenElement computeElement = new ZusammenElement();
+ computeElement.setAction(Action.IGNORE);
+ computeElement.setElementId(new Id(computeId));
+ computeElement.setSubElements(Collections.singletonList(questionnaireElement));
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(vspId);
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
+ zusammenAdaptor.saveElement(context, elementContext, computeElement, "Update compute "
+ + "questionnaire");
+ }
+
+ @Override
+ public Collection<ComputeEntity> listByVsp(String vspId, Version version) {
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(vspId);
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
+ VspZusammenUtil.getVersionTag(version));
+
+ Collection<ComponentEntity> components = ComponentDaoZusammenImpl
+ .listComponents(zusammenAdaptor, context, elementContext, vspId, version);
+
+ return components.stream()
+ .map(component ->
+ listComputes(context, elementContext,
+ new ComputeEntity(vspId, version, component.getId(), null)).stream()
+ .map(compute -> getQuestionnaire(context, elementContext, compute))
+ .collect(Collectors.toList()))
+ .flatMap(Collection::stream)
+ .collect(Collectors.toList());
+ }
+
+ @Override
+ public void deleteAll(String vspId, Version version) {
+ ZusammenElement computesElement =
+ VspZusammenUtil.buildStructuralElement(StructureElement.Computes, Action.DELETE);
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(vspId);
+ zusammenAdaptor.saveElement(context,
+ new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor)),
+ computesElement, "Delete all computes");
+ }
+
+ private ZusammenElement computeToZusammen(ComputeEntity compute, Action action) {
+ ZusammenElement computeElement = buildComputeElement(compute, action);
+ if (action == Action.CREATE) {
+ computeElement.setSubElements(Collections.singletonList(
+ computeQuestionnaireToZusammen(compute.getQuestionnaireData(), Action.CREATE)));
+ }
+ return computeElement;
+ }
+
+ private ZusammenElement computeQuestionnaireToZusammen(String questionnaireData,
+ Action action) {
+ ZusammenElement questionnaireElement =
+ VspZusammenUtil.buildStructuralElement(StructureElement.Questionnaire, action);
+ questionnaireElement.setData(new ByteArrayInputStream(questionnaireData.getBytes()));
+ return questionnaireElement;
+ }
+
+ private ZusammenElement buildComputeElement(ComputeEntity compute, Action action) {
+ ZusammenElement computeElement = new ZusammenElement();
+ computeElement.setAction(action);
+ if (compute.getId() != null) {
+ computeElement.setElementId(new Id(compute.getId()));
+ }
+ Info info = new Info();
+ info.addProperty(ElementPropertyName.type.name(), ElementType.Compute);
+ info.addProperty(ElementPropertyName.compositionData.name(), compute.getCompositionData());
+ computeElement.setInfo(info);
+ computeElement.setData(new ByteArrayInputStream(compute.getCompositionData().getBytes()));
+ return computeElement;
+ }
+
+
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/DeploymentFlavorDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/DeploymentFlavorDaoZusammenImpl.java
new file mode 100644
index 0000000000..947bcc27e5
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/DeploymentFlavorDaoZusammenImpl.java
@@ -0,0 +1,179 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen;
+
+import com.amdocs.zusammen.adaptor.inbound.api.types.item.Element;
+import com.amdocs.zusammen.adaptor.inbound.api.types.item.ElementInfo;
+import com.amdocs.zusammen.adaptor.inbound.api.types.item.ZusammenElement;
+import com.amdocs.zusammen.datatypes.Id;
+import com.amdocs.zusammen.datatypes.SessionContext;
+import com.amdocs.zusammen.datatypes.item.Action;
+import com.amdocs.zusammen.datatypes.item.ElementContext;
+import com.amdocs.zusammen.datatypes.item.Info;
+import org.openecomp.core.utilities.file.FileUtils;
+import org.openecomp.core.zusammen.api.ZusammenAdaptor;
+import org.openecomp.core.zusammen.api.ZusammenUtil;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.io.ByteArrayInputStream;
+import java.util.Collection;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+public class DeploymentFlavorDaoZusammenImpl implements DeploymentFlavorDao {
+
+ private ZusammenAdaptor zusammenAdaptor;
+
+ public DeploymentFlavorDaoZusammenImpl(ZusammenAdaptor zusammenAdaptor) {
+ this.zusammenAdaptor = zusammenAdaptor;
+ }
+
+ @Override
+ public void registerVersioning(String versionableEntityType) {
+ }
+
+ @Override
+ public Collection<DeploymentFlavorEntity> list(DeploymentFlavorEntity deploymentFlavor) {
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(deploymentFlavor.getVspId());
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
+ VspZusammenUtil.getVersionTag(deploymentFlavor.getVersion()));
+
+ return listDeploymentFlavor(zusammenAdaptor, context, elementContext, deploymentFlavor.getVspId(),
+ deploymentFlavor.getVersion());
+ }
+
+ static Collection<DeploymentFlavorEntity> listDeploymentFlavor(ZusammenAdaptor zusammenAdaptor,
+ SessionContext context,
+ ElementContext elementContext,
+ String vspId, Version version) {
+ return zusammenAdaptor
+ .listElementsByName(context, elementContext, null, StructureElement.DeploymentFlavors.name())
+ .stream().map(elementInfo -> mapElementInfoToComponent(vspId, version, elementInfo))
+ .collect(Collectors.toList());
+ }
+
+ private static DeploymentFlavorEntity mapElementInfoToComponent(String vspId, Version version,
+ ElementInfo elementInfo) {
+ DeploymentFlavorEntity deploymentFlavorEntity =
+ new DeploymentFlavorEntity(vspId, version, elementInfo.getId().getValue());
+ deploymentFlavorEntity.setCompositionData(
+ elementInfo.getInfo().getProperty(ElementPropertyName.compositionData.name()));
+ return deploymentFlavorEntity;
+ }
+
+ @Override
+ public void create(DeploymentFlavorEntity deploymentFlavor) {
+ ZusammenElement deploymentFlavorElement = deploymentFlavorToZusammen(deploymentFlavor,
+ Action.CREATE);
+ ZusammenElement deploymentFlavorElements =
+ VspZusammenUtil.buildStructuralElement(StructureElement.DeploymentFlavors, null);
+ deploymentFlavorElements.getSubElements().add(deploymentFlavorElement);
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(deploymentFlavor.getVspId());
+ Optional<Element> savedElement = zusammenAdaptor.saveElement(context,
+ new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor)),
+ deploymentFlavorElements, "Create deloymentFlavor");
+ savedElement.ifPresent(element ->
+ deploymentFlavor.setId(element.getSubElements().iterator().next().getElementId()
+ .getValue()));
+ }
+
+ @Override
+ public void update(DeploymentFlavorEntity deploymentFlavor) {
+ ZusammenElement deploymentFlavorElement = deploymentFlavorToZusammen(deploymentFlavor,
+ Action.UPDATE);
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(deploymentFlavor.getVspId());
+ zusammenAdaptor.saveElement(context,
+ new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor)),
+ deploymentFlavorElement, String.format("Update deloymentFlavor with id %s",
+ deploymentFlavor.getId()));
+ }
+
+ @Override
+ public DeploymentFlavorEntity get(DeploymentFlavorEntity deploymentFlavor) {
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(deploymentFlavor.getVspId());
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
+ VspZusammenUtil.getVersionTag(deploymentFlavor.getVersion()));
+
+ Optional<Element> element =
+ zusammenAdaptor.getElement(context, elementContext, deploymentFlavor.getId());
+
+ if (element.isPresent()) {
+ deploymentFlavor.setCompositionData(new String(FileUtils.toByteArray(element.get()
+ .getData())));
+ return deploymentFlavor;
+ }
+ return null;
+ }
+
+ @Override
+ public void delete(DeploymentFlavorEntity deploymentFlavor) {
+ ZusammenElement componentElement = new ZusammenElement();
+ componentElement.setElementId(new Id(deploymentFlavor.getId()));
+ componentElement.setAction(Action.DELETE);
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(deploymentFlavor.getVspId());
+ zusammenAdaptor.saveElement(context,
+ new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor)),
+ componentElement, String.format("Delete deloymentFlavor with id %s",
+ deploymentFlavor.getId()));
+ }
+
+ @Override
+ public void deleteAll(String vspId, Version version) {
+ ZusammenElement deploymentFlavorsElement =
+ VspZusammenUtil.buildStructuralElement(StructureElement.DeploymentFlavors, Action.DELETE);
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(vspId);
+ zusammenAdaptor.saveElement(context,
+ new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor)),
+ deploymentFlavorsElement, "Delete all deploymentFlavors");
+ }
+
+ private ZusammenElement deploymentFlavorToZusammen(DeploymentFlavorEntity deploymentFlavor,
+ Action action) {
+ ZusammenElement deploymentFlavorElement = buildDeploymentFlavorElement
+ (deploymentFlavor, action);
+
+ return deploymentFlavorElement;
+ }
+
+ /*private ZusammenElement deplymentFlavorQuestionnaireToZusammen(String questionnaireData,
+ Action action) {
+ ZusammenElement questionnaireElement =
+ VspZusammenUtil.buildStructuralElement(StructureElement.Questionnaire, action);
+ questionnaireElement.setData(new ByteArrayInputStream(questionnaireData.getBytes()));
+ return questionnaireElement;
+ }*/
+
+ private ZusammenElement buildDeploymentFlavorElement(DeploymentFlavorEntity deploymentFlavor,
+ Action action) {
+ ZusammenElement deploymentFlavorElement = new ZusammenElement();
+ deploymentFlavorElement.setAction(action);
+ if (deploymentFlavor.getId() != null) {
+ deploymentFlavorElement.setElementId(new Id(deploymentFlavor.getId()));
+ }
+ Info info = new Info();
+ info.addProperty(ElementPropertyName.type.name(), ElementType.DeploymentFlavor);
+ info.addProperty(ElementPropertyName.compositionData.name(), deploymentFlavor
+ .getCompositionData());
+ deploymentFlavorElement.setInfo(info);
+ deploymentFlavorElement.setData(new ByteArrayInputStream(deploymentFlavor.getCompositionData()
+ .getBytes()));
+ return deploymentFlavorElement;
+ }
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ElementType.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ElementType.java
index b0313f5b14..9da0780f73 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ElementType.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ElementType.java
@@ -5,5 +5,9 @@ public enum ElementType {
Component,
Nic,
Process,
- LKG
+ Mib,
+ LKG,
+ Compute,
+ DeploymentFlavor,
+ Image
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ImageDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ImageDaoZusammenImpl.java
new file mode 100644
index 0000000000..d913b18956
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ImageDaoZusammenImpl.java
@@ -0,0 +1,252 @@
+package org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen;
+
+
+import com.amdocs.zusammen.adaptor.inbound.api.types.item.Element;
+import com.amdocs.zusammen.adaptor.inbound.api.types.item.ElementInfo;
+import com.amdocs.zusammen.adaptor.inbound.api.types.item.ZusammenElement;
+import com.amdocs.zusammen.datatypes.Id;
+import com.amdocs.zusammen.datatypes.SessionContext;
+import com.amdocs.zusammen.datatypes.item.Action;
+import com.amdocs.zusammen.datatypes.item.ElementContext;
+import com.amdocs.zusammen.datatypes.item.Info;
+import org.openecomp.core.utilities.file.FileUtils;
+import org.openecomp.core.zusammen.api.ZusammenAdaptor;
+import org.openecomp.core.zusammen.api.ZusammenUtil;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.io.ByteArrayInputStream;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+public class ImageDaoZusammenImpl implements ImageDao {
+
+ private ZusammenAdaptor zusammenAdaptor;
+
+ public ImageDaoZusammenImpl(ZusammenAdaptor zusammenAdaptor) {
+ this.zusammenAdaptor = zusammenAdaptor;
+ }
+
+ @Override
+ public void registerVersioning(String versionableEntityType) {
+ }
+
+ @Override
+ public Collection<ImageEntity> list(ImageEntity image) {
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(image.getVspId());
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
+ VspZusammenUtil.getVersionTag(image.getVersion()));
+
+ return listImages(context, elementContext, image);
+ }
+
+ private Collection<ImageEntity> listImages(SessionContext context,
+ ElementContext elementContext, ImageEntity image) {
+ return zusammenAdaptor
+ .listElementsByName(context, elementContext, new Id(image.getComponentId()),
+ StructureElement.Images.name())
+ .stream().map(elementInfo -> mapElementInfoToImage(
+ image.getVspId(), image.getVersion(), image.getComponentId(), elementInfo))
+ .collect(Collectors.toList());
+ }
+
+ private static ImageEntity mapElementInfoToImage(String vspId, Version version,
+ String componentId, ElementInfo elementInfo) {
+ ImageEntity imageEntity =
+ new ImageEntity(vspId, version, componentId, elementInfo.getId().getValue());
+ imageEntity.setCompositionData(
+ elementInfo.getInfo().getProperty(ElementPropertyName.compositionData.name()));
+ return imageEntity;
+ }
+
+ @Override
+ public void create(ImageEntity image) {
+ ZusammenElement imageElement = imageToZusammen(image, Action.CREATE);
+
+ ZusammenElement imagesElement =
+ VspZusammenUtil.buildStructuralElement(StructureElement.Images, null);
+ imagesElement.setSubElements(Collections.singletonList(imageElement));
+
+ ZusammenElement componentElement = new ZusammenElement();
+ componentElement.setElementId(new Id(image.getComponentId()));
+ componentElement.setAction(Action.IGNORE);
+ componentElement.setSubElements(Collections.singletonList(imagesElement));
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(image.getVspId());
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
+
+ Optional<Element> savedElement =
+ zusammenAdaptor.saveElement(context, elementContext, componentElement, "Create image");
+ savedElement.ifPresent(element ->
+ image.setId(element.getSubElements().iterator().next()
+ .getSubElements().iterator().next().getElementId().getValue()));
+ }
+
+ @Override
+ public void update(ImageEntity image) {
+ ZusammenElement imageElement = imageToZusammen(image, Action.UPDATE);
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(image.getVspId());
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
+ zusammenAdaptor.saveElement(context, elementContext, imageElement,
+ String.format("Update image with id %s", image.getId()));
+ }
+
+ @Override
+ public ImageEntity get(ImageEntity image) {
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(image.getVspId());
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
+ VspZusammenUtil.getVersionTag(image.getVersion()));
+ Optional<Element> element = zusammenAdaptor.getElement(context, elementContext, image.getId());
+
+ if (element.isPresent()) {
+ image.setCompositionData(new String(FileUtils.toByteArray(element.get().getData())));
+ return image;
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public void delete(ImageEntity image) {
+ ZusammenElement imageElement = new ZusammenElement();
+ imageElement.setElementId(new Id(image.getId()));
+ imageElement.setAction(Action.DELETE);
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(image.getVspId());
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
+ zusammenAdaptor.saveElement(context, elementContext, imageElement,
+ String.format("Delete image with id %s", image.getId()));
+ }
+
+ @Override
+ public void deleteByVspId(String vspId, Version version) {
+ ZusammenElement imagesElement =
+ VspZusammenUtil.buildStructuralElement(StructureElement.Images, Action.DELETE);
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(vspId);
+ zusammenAdaptor.saveElement(context,
+ new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor)),
+ imagesElement, String.format("Delete all images with vsp id %s", vspId));
+ }
+
+ @Override
+ public Collection<ImageEntity> listByVsp(String vspId, Version version) {
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(vspId);
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
+ VspZusammenUtil.getVersionTag(version));
+
+ Collection<ComponentEntity> components = ComponentDaoZusammenImpl
+ .listComponents(zusammenAdaptor, context, elementContext, vspId, version);
+
+ return components.stream()
+ .map(component ->
+ listImages(context, elementContext,
+ new ImageEntity(vspId, version, component.getId(), null)).stream()
+ .map(image -> getQuestionnaire(context, elementContext, image))
+ .collect(Collectors.toList()))
+ .flatMap(Collection::stream)
+ .collect(Collectors.toList());
+ }
+
+ @Override
+ public ImageEntity getQuestionnaireData(String vspId, Version version, String componentId,
+ String imageId) {
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(vspId);
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
+ VspZusammenUtil.getVersionTag(version));
+
+ return getQuestionnaire(context, elementContext,
+ new ImageEntity(vspId, version, componentId, imageId));
+ }
+
+ private ImageEntity getQuestionnaire(SessionContext context, ElementContext elementContext,
+ ImageEntity image) {
+ Optional<Element> questionnaireElement = zusammenAdaptor
+ .getElementByName(context, elementContext, new Id(image.getId()),
+ StructureElement.Questionnaire.name());
+ return questionnaireElement.map(
+ element -> element.getData() == null
+ ? null
+ : new String(FileUtils.toByteArray(element.getData())))
+ .map(questionnaireData -> {
+ image.setQuestionnaireData(questionnaireData);
+ return image;
+ })
+ .orElse(null);
+ }
+
+ @Override
+ public void updateQuestionnaireData(String vspId, Version version, String componentId,
+ String imageId, String questionnaireData) {
+ ZusammenElement questionnaireElement =
+ imageQuestionnaireToZusammen(questionnaireData, Action.UPDATE);
+
+ ZusammenElement imageElement = new ZusammenElement();
+ imageElement.setAction(Action.IGNORE);
+ imageElement.setElementId(new Id(imageId));
+ imageElement.setSubElements(Collections.singletonList(questionnaireElement));
+
+ SessionContext context = ZusammenUtil.createSessionContext();
+ Id itemId = new Id(vspId);
+ ElementContext elementContext = new ElementContext(itemId,
+ VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
+ zusammenAdaptor.saveElement(context, elementContext, imageElement, "Update image "
+ + "questionnaire");
+ }
+
+
+
+ private ZusammenElement imageToZusammen(ImageEntity image, Action action) {
+ ZusammenElement imageElement = buildImageElement(image, action);
+ if (action == Action.CREATE) {
+ imageElement.setSubElements(Collections.singletonList(
+ imageQuestionnaireToZusammen(image.getQuestionnaireData(), Action.CREATE)));
+ }
+ return imageElement;
+ }
+
+ private ZusammenElement imageQuestionnaireToZusammen(String questionnaireData,
+ Action action) {
+ ZusammenElement questionnaireElement =
+ VspZusammenUtil.buildStructuralElement(StructureElement.Questionnaire, action);
+ questionnaireElement.setData(new ByteArrayInputStream(questionnaireData.getBytes()));
+ return questionnaireElement;
+ }
+
+ private ZusammenElement buildImageElement(ImageEntity image, Action action) {
+ ZusammenElement imageElement = new ZusammenElement();
+ imageElement.setAction(action);
+ if (image.getId() != null) {
+ imageElement.setElementId(new Id(image.getId()));
+ }
+ Info info = new Info();
+ info.addProperty(ElementPropertyName.type.name(), ElementType.Image);
+ info.addProperty(ElementPropertyName.compositionData.name(), image.getCompositionData());
+ imageElement.setInfo(info);
+ imageElement.setData(new ByteArrayInputStream(image.getCompositionData().getBytes()));
+ return imageElement;
+ }
+
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/StructureElement.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/StructureElement.java
index 5d53741ebf..6f15f5cdee 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/StructureElement.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/StructureElement.java
@@ -15,6 +15,10 @@ public enum StructureElement {
Mibs,
SNMP_TRAP,
SNMP_POLL,
+ VES_EVENTS,
Questionnaire,
ComponentDependencies,
+ Computes,
+ Images,
+ DeploymentFlavors
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VendorSoftwareProductInfoDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VendorSoftwareProductInfoDaoZusammenImpl.java
index 65a41330a7..eef90d4742 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VendorSoftwareProductInfoDaoZusammenImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VendorSoftwareProductInfoDaoZusammenImpl.java
@@ -1,5 +1,6 @@
package org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen;
+import com.amdocs.zusammen.adaptor.inbound.api.types.item.ElementInfo;
import com.amdocs.zusammen.adaptor.inbound.api.types.item.ZusammenElement;
import com.amdocs.zusammen.datatypes.Id;
import com.amdocs.zusammen.datatypes.SessionContext;
@@ -21,6 +22,7 @@ import org.openecomp.sdc.versioning.types.VersionableEntityStoreType;
import java.io.ByteArrayInputStream;
import java.util.Collection;
import java.util.Date;
+import java.util.Optional;
import java.util.stream.Collectors;
public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareProductInfoDao {
@@ -148,6 +150,17 @@ public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareP
}
+ @Override
+ public boolean isManual(String vspId, Version version) {
+ final VspDetails vspDetails = get(new VspDetails(vspId, version));
+ if (vspDetails != null) {
+ if ("Manual".equals(vspDetails.getOnboardingMethod())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
private Info mapVspDetailsToZusammenItemInfo(VspDetails vspDetails) {
Info info = new Info();
info.setName(vspDetails.getName());
@@ -186,6 +199,7 @@ public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareP
info.addProperty(InfoPropertyName.licenseAgreement.name(), vspDetails.getLicenseAgreement());
info.addProperty(InfoPropertyName.featureGroups.name(), vspDetails.getFeatureGroups());
info.addProperty(InfoPropertyName.oldVersion.name(), vspDetails.getOldVersion());
+ info.addProperty(InfoPropertyName.onboardingMethod.name(), vspDetails.getOnboardingMethod());
}
private VspDetails mapInfoToVspDetails(String vspId, Version version, Info info,
@@ -208,6 +222,8 @@ public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareP
//Boolean oldVersion = ind == null || "true".equals( ind.toLowerCase());
vspDetails.setOldVersion(oldVersion);
+ vspDetails.setOnboardingMethod(info.getProperty(InfoPropertyName.onboardingMethod.name()));
+
return vspDetails;
}
@@ -222,7 +238,8 @@ public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareP
vendorVersion,
licenseAgreement,
featureGroups,
- oldVersion
+ oldVersion,
+ onboardingMethod
}
}