aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services')
-rw-r--r--openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentMonitoringUploadsImpl.java117
-rw-r--r--openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentUploadsImpl.java279
-rw-r--r--openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentsImpl.java12
-rw-r--r--openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComputeImpl.java162
-rw-r--r--openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/DeploymentFlavorsImpl.java129
-rw-r--r--openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ImagesImpl.java175
-rw-r--r--openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/NicsImpl.java8
-rw-r--r--openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/VendorSoftwareProductsImpl.java81
8 files changed, 801 insertions, 162 deletions
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentMonitoringUploadsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentMonitoringUploadsImpl.java
new file mode 100644
index 0000000000..a971782a15
--- /dev/null
+++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentMonitoringUploadsImpl.java
@@ -0,0 +1,117 @@
+package org.openecomp.sdcrests.vsp.rest.services;
+
+import org.apache.cxf.jaxrs.ext.multipart.Attachment;
+import org.openecomp.core.enrichment.types.MonitoringUploadType;
+import org.openecomp.core.validation.errors.ErrorMessagesFormatBuilder;
+import org.openecomp.sdc.common.errors.Messages;
+import org.openecomp.sdc.logging.api.Logger;
+import org.openecomp.sdc.logging.api.LoggerFactory;
+import org.openecomp.sdc.logging.context.MdcUtil;
+import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
+import org.openecomp.sdc.logging.messages.AuditMessages;
+import org.openecomp.sdc.logging.types.LoggerServiceName;
+import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager;
+import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.MonitoringUploadsManager;
+import org.openecomp.sdc.vendorsoftwareproduct.MonitoringUploadsManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.MonitoringUploadStatus;
+import org.openecomp.sdc.versioning.dao.types.Version;
+import org.openecomp.sdc.versioning.types.VersionableEntityAction;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.MonitoringUploadStatusDto;
+import org.openecomp.sdcrests.vsp.rest.ComponentMonitoringUploads;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapMonitoringUploadStatusToDto;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
+
+import javax.inject.Named;
+import javax.ws.rs.core.Response;
+import java.io.InputStream;
+
+/**
+ * @author katyr
+ * @since June 26, 2017
+ */
+
+@Named
+@Service("componentMonitoringUploads")
+@Scope(value = "prototype")
+//@Validated
+public class ComponentMonitoringUploadsImpl implements ComponentMonitoringUploads {
+ private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
+ private MonitoringUploadsManager
+ monitoringUploadsManager = MonitoringUploadsManagerFactory.getInstance().createInterface();
+ private ComponentManager componentManager =
+ ComponentManagerFactory.getInstance().createInterface();
+ private static final Logger logger =
+ LoggerFactory.getLogger(ComponentMonitoringUploadsImpl.class);
+
+ @Override
+ public Response upload(Attachment attachment,
+ String vspId, String versionId, String componentId, String type,
+ String user) throws Exception {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId);
+ MdcUtil.initMdc(LoggerServiceName.Upload_Monitoring_Artifact.toString());
+ logger.audit(AuditMessages.AUDIT_MSG + String.format(AuditMessages
+ .UPLOAD_MONITORING_FILE, type, vspId, componentId));
+
+ Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
+ componentManager.validateComponentExistence(vspId, version, componentId, user);
+
+ MonitoringUploadType monitoringUploadType = getMonitoringUploadType(vspId, componentId, type);
+ monitoringUploadsManager.upload(attachment.getObject(InputStream.class),
+ attachment.getContentDisposition().getParameter("filename"), vspId, version, componentId,
+ monitoringUploadType, user);
+
+ mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId);
+ return Response.ok().build();
+ }
+
+ private MonitoringUploadType getMonitoringUploadType(String vspId, String componentId,
+ String type) throws Exception {
+ MonitoringUploadType monitoringUploadType;
+ try {
+ monitoringUploadType = MonitoringUploadType.valueOf(type);
+ } catch (IllegalArgumentException exception) {
+ String errorWithParameters = ErrorMessagesFormatBuilder
+ .getErrorWithParameters(Messages.ILLEGAL_MONITORING_ARTIFACT_TYPE.getErrorMessage(),
+ componentId, vspId);
+ throw new Exception(errorWithParameters, exception);
+ }
+ return monitoringUploadType;
+ }
+
+ @Override
+ public Response delete(String vspId, String versionId, String componentId,
+ String type, String user) throws Exception {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId);
+ MdcUtil.initMdc(LoggerServiceName.Delete_Monitoring_Artifact.toString());
+
+ MonitoringUploadType monitoringUploadType = getMonitoringUploadType(vspId, componentId, type);
+
+ Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
+ componentManager.validateComponentExistence(vspId, version, componentId, user);
+ monitoringUploadsManager
+ .delete(vspId, version, componentId, monitoringUploadType, user);
+
+ mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId);
+ return Response.ok().build();
+ }
+
+ @Override
+ public Response list(String vspId, String versionId, String componentId,
+ String user) {
+ MdcUtil.initMdc(LoggerServiceName.List_Monitoring_Artifacts.toString());
+
+ Version version = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read);
+ componentManager.validateComponentExistence(vspId, version, componentId, user);
+
+ MonitoringUploadStatus response = monitoringUploadsManager
+ .listFilenames(vspId, version, componentId, user);
+
+ MonitoringUploadStatusDto returnEntity =
+ new MapMonitoringUploadStatusToDto()
+ .applyMapping(response, MonitoringUploadStatusDto.class);
+ return Response.status(Response.Status.OK).entity(returnEntity).build();
+
+ }
+}
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentUploadsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentUploadsImpl.java
index 7a2a1578b6..f88508250a 100644
--- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentUploadsImpl.java
+++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentUploadsImpl.java
@@ -1,137 +1,142 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdcrests.vsp.rest.services;
-
-import org.apache.cxf.jaxrs.ext.multipart.Attachment;
-import org.openecomp.core.enrichment.types.ArtifactType;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.logging.context.MdcUtil;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.logging.messages.AuditMessages;
-import org.openecomp.sdc.logging.types.LoggerServiceName;
-import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager;
-import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.MibManager;
-import org.openecomp.sdc.vendorsoftwareproduct.MibManagerFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.MibUploadStatus;
-import org.openecomp.sdc.versioning.dao.types.Version;
-import org.openecomp.sdc.versioning.types.VersionableEntityAction;
-import org.openecomp.sdcrests.vendorsoftwareproducts.types.MibUploadStatusDto;
-import org.openecomp.sdcrests.vsp.rest.ComponentUploads;
-import org.openecomp.sdcrests.vsp.rest.mapping.MapMibUploadStatusToDto;
-import org.springframework.context.annotation.Scope;
-import org.springframework.stereotype.Service;
-import org.springframework.validation.annotation.Validated;
-
-import javax.inject.Named;
-import javax.ws.rs.core.Response;
-import java.io.InputStream;
-
-@Named
-@Service("componentUploads")
-@Scope(value = "prototype")
-@Validated
-public class ComponentUploadsImpl implements ComponentUploads {
- private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
- private MibManager mibManager = MibManagerFactory.getInstance().createInterface();
- private ComponentManager componentManager =
- ComponentManagerFactory.getInstance().createInterface();
- private static final Logger logger =
- LoggerFactory.getLogger(ComponentUploadsImpl.class);
-
- @Override
- public Response uploadTrapMibFile(Attachment attachment, String vspId, String versionId, String componentId,
- String user) {
- mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId);
- MdcUtil.initMdc(LoggerServiceName.Upload_MIB_File.toString());
- logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.UPLOAD_ARTIFACT_MIB_TRAP + vspId);
-
- Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
- componentManager.validateComponentExistence(vspId, version, componentId, user);
- mibManager.upload(attachment.getObject(InputStream.class),
- attachment.getContentDisposition().getParameter("filename"), vspId, version, componentId,
- ArtifactType.SNMP_TRAP, user);
-
- mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId);
- return Response.ok().build();
- }
-
- @Override
- public Response deleteTrapMibFile(String vspId, String versionId, String componentId, String user) {
- mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId);
- MdcUtil.initMdc(LoggerServiceName.Delete_MIB_File.toString());
-
- Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
- componentManager.validateComponentExistence(vspId, version, componentId, user);
- mibManager.delete(vspId, version, componentId, ArtifactType.SNMP_TRAP, user);
-
- mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId);
- return Response.ok().build();
- }
-
- @Override
- public Response uploadPollMibFile(Attachment attachment, String vspId, String versionId, String componentId,
- String user) {
-
- mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId);
- logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.UPLOAD_ARTIFACT_MIB_POLL + vspId);
- MdcUtil.initMdc(LoggerServiceName.Upload_MIB_File.toString());
-
- Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
- componentManager.validateComponentExistence(vspId, version, componentId, user);
- mibManager.upload(attachment.getObject(InputStream.class),
- attachment.getContentDisposition().getParameter("filename"), vspId, version, componentId,
- ArtifactType.SNMP_POLL, user);
-
- mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId);
- return Response.ok().build();
- }
-
- @Override
- public Response deletePollMibFile(String vspId, String versionId, String componentId, String
- user) {
- mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId);
- MdcUtil.initMdc(LoggerServiceName.Delete_MIB_File.toString());
-
- Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
- componentManager.validateComponentExistence(vspId, version, componentId, user);
- mibManager.delete(vspId, version, componentId, ArtifactType.SNMP_POLL, user);
-
- mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId);
- return Response.ok().build();
- }
-
- @Override
- public Response list(String vspId, String versionId, String componentId, String user) {
- MdcUtil.initMdc(LoggerServiceName.List_MIB_Files.toString());
-
- Version version = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read);
- componentManager.validateComponentExistence(vspId, version, componentId, user);
-
- MibUploadStatus response = mibManager.listFilenames(vspId, version, componentId, user);
-
- MibUploadStatusDto returnEntity =
- new MapMibUploadStatusToDto().applyMapping(response, MibUploadStatusDto.class);
- return Response.status(Response.Status.OK).entity(returnEntity).build();
-
- }
-}
+///*-
+// * ============LICENSE_START=======================================================
+// * SDC
+// * ================================================================================
+// * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+// * ================================================================================
+// * Licensed under the Apache License, Version 2.0 (the "License");
+// * you may not use this file except in compliance with the License.
+// * You may obtain a copy of the License at
+// *
+// * http://www.apache.org/licenses/LICENSE-2.0
+// *
+// * Unless required by applicable law or agreed to in writing, software
+// * distributed under the License is distributed on an "AS IS" BASIS,
+// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// * See the License for the specific language governing permissions and
+// * limitations under the License.
+// * ============LICENSE_END=========================================================
+// */
+//
+//package org.openecomp.sdcrests.vsp.rest.services;
+//
+//import org.apache.cxf.jaxrs.ext.multipart.Attachment;
+//import org.openecomp.core.enrichment.types.MonitoringUploadType;
+//import org.openecomp.sdc.logging.api.Logger;
+//import org.openecomp.sdc.logging.api.LoggerFactory;
+//import org.openecomp.sdc.logging.context.MdcUtil;
+//import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
+//import org.openecomp.sdc.logging.messages.AuditMessages;
+//import org.openecomp.sdc.logging.types.LoggerServiceName;
+//import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager;
+//import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory;
+//import org.openecomp.sdc.vendorsoftwareproduct.MonitoringUploadsManager;
+//import org.openecomp.sdc.vendorsoftwareproduct.MonitoringUploadsManagerFactory;
+//import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.MonitoringUploadStatus;
+//import org.openecomp.sdc.versioning.dao.types.Version;
+//import org.openecomp.sdc.versioning.types.VersionableEntityAction;
+//import org.openecomp.sdcrests.vendorsoftwareproducts.types.MonitoringUploadStatusDto;
+//import org.openecomp.sdcrests.vsp.rest.ComponentUploads;
+//import org.openecomp.sdcrests.vsp.rest.mapping.MapMonitoringUploadStatusToDto;
+//import org.springframework.context.annotation.Scope;
+//import org.springframework.stereotype.Service;
+//import org.springframework.validation.annotation.Validated;
+//
+//import javax.inject.Named;
+//import javax.ws.rs.core.Response;
+//import java.io.InputStream;
+//
+//@Named
+//@Service("componentUploads")
+//@Scope(value = "prototype")
+//@Validated
+//public class ComponentUploadsImpl implements ComponentUploads {
+// private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
+// private MonitoringUploadsManager
+// monitoringUploadsManager = MonitoringUploadsManagerFactory.getInstance().createInterface();
+// private ComponentManager componentManager =
+// ComponentManagerFactory.getInstance().createInterface();
+// private static final Logger logger =
+// LoggerFactory.getLogger(ComponentUploadsImpl.class);
+//
+// @Override
+// public Response uploadTrapMibFile(Attachment attachment, String vspId, String versionId, String componentId,
+// String user) {
+// mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId);
+// MdcUtil.initMdc(LoggerServiceName.Upload_Monitoring_Artifact.toString());
+// logger.audit(AuditMessages.AUDIT_MSG + String.format(AuditMessages.UPLOAD_MONITORING_FILE ,
+// vspId,componentId));
+//
+// Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
+// componentManager.validateComponentExistence(vspId, version, componentId, user);
+// monitoringUploadsManager.upload(attachment.getObject(InputStream.class),
+// attachment.getContentDisposition().getParameter("filename"), vspId, version, componentId,
+// MonitoringUploadType.SNMP_TRAP, user);
+//
+// mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId);
+// return Response.ok().build();
+// }
+//
+// @Override
+// public Response deleteTrapMibFile(String vspId, String versionId, String componentId, String user) {
+// mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId);
+// MdcUtil.initMdc(LoggerServiceName.Delete_Monitoring_Artifact.toString());
+//
+// Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
+// componentManager.validateComponentExistence(vspId, version, componentId, user);
+// monitoringUploadsManager
+// .delete(vspId, version, componentId, MonitoringUploadType.SNMP_TRAP, user);
+//
+// mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId);
+// return Response.ok().build();
+// }
+//
+// @Override
+// public Response uploadPollMibFile(Attachment attachment, String vspId, String versionId, String componentId,
+// String user) {
+//
+// mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId);
+// logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.UPLOAD_MONITORING_FILE + vspId);
+// MdcUtil.initMdc(LoggerServiceName.Upload_Monitoring_Artifact.toString());
+//
+// Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
+// componentManager.validateComponentExistence(vspId, version, componentId, user);
+// monitoringUploadsManager.upload(attachment.getObject(InputStream.class),
+// attachment.getContentDisposition().getParameter("filename"), vspId, version, componentId,
+// MonitoringUploadType.SNMP_POLL, user);
+//
+// mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId);
+// return Response.ok().build();
+// }
+//
+// @Override
+// public Response deletePollMibFile(String vspId, String versionId, String componentId, String
+// user) {
+// mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId + "," + componentId);
+// MdcUtil.initMdc(LoggerServiceName.Delete_Monitoring_Artifact.toString());
+//
+// Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
+// componentManager.validateComponentExistence(vspId, version, componentId, user);
+// monitoringUploadsManager
+// .delete(vspId, version, componentId, MonitoringUploadType.SNMP_POLL, user);
+//
+// mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId);
+// return Response.ok().build();
+// }
+//
+// @Override
+// public Response list(String vspId, String versionId, String componentId, String user) {
+// MdcUtil.initMdc(LoggerServiceName.List_Monitoring_Artifacts.toString());
+//
+// Version version = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read);
+// componentManager.validateComponentExistence(vspId, version, componentId, user);
+//
+// MonitoringUploadStatus response = monitoringUploadsManager
+// .listFilenames(vspId, version, componentId, user);
+//
+// MonitoringUploadStatusDto returnEntity =
+// new MapMonitoringUploadStatusToDto().applyMapping(response, MonitoringUploadStatusDto.class);
+// return Response.status(Response.Status.OK).entity(returnEntity).build();
+//
+// }
+//}
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentsImpl.java
index a36534ae4f..51955b7b69 100644
--- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentsImpl.java
+++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentsImpl.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.
@@ -32,6 +32,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentData;
import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData;
import org.openecomp.sdc.versioning.dao.types.Version;
import org.openecomp.sdc.versioning.types.VersionableEntityAction;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentCreationDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentRequestDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto;
@@ -39,6 +40,7 @@ import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityVali
import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto;
import org.openecomp.sdcrests.vsp.rest.Components;
import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentDataToComponentDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentEntityToComponentCreationDto;
import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentEntityToComponentDto;
import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentRequestDtoToComponentEntity;
import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityResponseToDto;
@@ -93,8 +95,12 @@ public class ComponentsImpl implements Components {
component.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write));
ComponentEntity createdComponent = componentManager.createComponent(component, user);
+ MapComponentEntityToComponentCreationDto mapping =
+ new MapComponentEntityToComponentCreationDto();
+ ComponentCreationDto createdComponentDto = mapping.applyMapping(createdComponent,
+ ComponentCreationDto.class);
return Response
- .ok(createdComponent != null ? new StringWrapperResponse(createdComponent.getId()) : null)
+ .ok(createdComponent != null ? createdComponentDto : null)
.build();
}
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComputeImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComputeImpl.java
new file mode 100644
index 0000000000..ec445af0e8
--- /dev/null
+++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComputeImpl.java
@@ -0,0 +1,162 @@
+package org.openecomp.sdcrests.vsp.rest.services;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.openecomp.sdc.logging.context.MdcUtil;
+import org.openecomp.sdc.logging.types.LoggerServiceName;
+import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager;
+import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.ComputeManager;
+import org.openecomp.sdc.vendorsoftwareproduct.ComputeManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse;
+import org.openecomp.sdc.vendorsoftwareproduct.types.ListComputeResponse;
+import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComputeData;
+import org.openecomp.sdc.versioning.dao.types.Version;
+import org.openecomp.sdc.versioning.types.VersionableEntityAction;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeCreationDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDetailsDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto;
+import org.openecomp.sdcrests.vsp.rest.Compute;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityResponseToDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityValidationDataToDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapComputeDataToComputeDetailsDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapComputeDetailsDtoToComputeEntity;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapComputeEntityToComputeCreationDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapComputeEntityToComputeDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapQuestionnaireResponseToQuestionnaireResponseDto;
+import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+import javax.inject.Named;
+import javax.ws.rs.core.Response;
+
+@Named
+@Service("computes")
+@Scope(value = "prototype")
+public class ComputeImpl implements Compute {
+ private ComputeManager computetManager =
+ ComputeManagerFactory.getInstance().createInterface();
+ private ComponentManager componentManager =
+ ComponentManagerFactory.getInstance().createInterface();
+
+ @Override
+ public Response list(String vspId, String version, String componentId, String user) {
+ MdcUtil.initMdc(LoggerServiceName.List_Computes.toString());
+ Version vspVersion = resolveVspVersion(vspId, version, user, VersionableEntityAction.Read);
+ componentManager.validateComponentExistence(vspId, vspVersion, componentId, user);
+ Collection<ListComputeResponse> computes =
+ computetManager
+ .listCompute(vspId, vspVersion, componentId, user);
+
+ MapComputeEntityToComputeDto mapper = new MapComputeEntityToComputeDto();
+ GenericCollectionWrapper<ComputeDto> results = new GenericCollectionWrapper<>();
+ for (ListComputeResponse compute : computes) {
+ results.add(mapper.applyMapping(compute, ComputeDto.class));
+ }
+
+ return Response.ok(results).build();
+ }
+
+ @Override
+ public Response get(String vspId, String version, String componentId, String computeId,
+ String user) {
+ MdcUtil.initMdc(LoggerServiceName.Get_Compute.toString());
+ Version vspVersion = resolveVspVersion(vspId, version, user, VersionableEntityAction.Read);
+ componentManager.validateComponentExistence(vspId, vspVersion, componentId, user);
+ CompositionEntityResponse<ComputeData> response = computetManager
+ .getCompute(vspId, vspVersion, componentId, computeId, user);
+
+ CompositionEntityResponseDto<ComputeDetailsDto> responseDto = new
+ CompositionEntityResponseDto<>();
+ new MapCompositionEntityResponseToDto<>(new MapComputeDataToComputeDetailsDto(),
+ ComputeDetailsDto.class).doMapping(response, responseDto);
+ return Response.ok(responseDto).build();
+ }
+
+ @Override
+ public Response create(ComputeDetailsDto request, String vspId, String versionId,
+ String componentId, String user) {
+ MdcUtil.initMdc(LoggerServiceName.Create_Compute.toString());
+ ComputeEntity compute = new MapComputeDetailsDtoToComputeEntity().applyMapping(request,
+ ComputeEntity.class);
+ compute.setVspId(vspId);
+ compute.setComponentId(componentId);
+ compute.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write));
+ componentManager.validateComponentExistence(vspId, compute.getVersion(), componentId, user);
+
+ ComputeEntity createdCompute = computetManager.createCompute(compute, user);
+
+ MapComputeEntityToComputeCreationDto mapper = new MapComputeEntityToComputeCreationDto();
+ ComputeCreationDto createdComputeDto = mapper.applyMapping(createdCompute, ComputeCreationDto
+ .class);
+ return Response.ok(createdComputeDto != null ? createdComputeDto : null)
+ .build();
+ }
+
+ @Override
+ public Response update(ComputeDetailsDto request, String vspId, String versionId, String
+ componentId, String computeFlavorId, String user) {
+ MdcUtil.initMdc(LoggerServiceName.Update_Compute.toString());
+ ComputeEntity compute = new MapComputeDetailsDtoToComputeEntity().applyMapping(request,
+ ComputeEntity.class);
+ compute.setVspId(vspId);
+ compute.setComponentId(componentId);
+ compute.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write));
+ compute.setId(computeFlavorId);
+
+ componentManager.validateComponentExistence(vspId, compute.getVersion(), componentId, user);
+ CompositionEntityValidationData validationData =
+ computetManager.updateCompute(compute, user);
+ return validationData != null && CollectionUtils.isNotEmpty(validationData.getErrors())
+ ? Response.status(Response.Status.EXPECTATION_FAILED).entity(
+ new MapCompositionEntityValidationDataToDto().applyMapping(validationData,
+ CompositionEntityValidationDataDto.class)).build() : Response.ok().build();
+ }
+
+ @Override
+ public Response delete(String vspId, String versionId, String componentId, String
+ computeFlavorId, String user) {
+ MdcUtil.initMdc(LoggerServiceName.Delete_Compute.toString());
+ Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
+ componentManager.validateComponentExistence(vspId, version, componentId, user);
+ computetManager.deleteCompute(vspId, version, componentId, computeFlavorId, user);
+ return Response.ok().build();
+ }
+
+ @Override
+ public Response getQuestionnaire(String vspId, String versionId, String componentId, String
+ computeFlavorId, String user) {
+ MdcUtil.initMdc(LoggerServiceName.Get_Questionnaire_Compute.toString());
+ Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read);
+ componentManager.validateComponentExistence(vspId, vspVersion, componentId, user);
+ QuestionnaireResponse questionnaireResponse = computetManager
+ .getComputeQuestionnaire(vspId, vspVersion, componentId, computeFlavorId, user);
+
+ QuestionnaireResponseDto result = new MapQuestionnaireResponseToQuestionnaireResponseDto()
+ .applyMapping(questionnaireResponse, QuestionnaireResponseDto.class);
+ return Response.ok(result).build();
+ }
+
+ @Override
+ public Response updateQuestionnaire(String questionnaireData, String vspId, String versionId,
+ String componentId,
+ String computeFlavorId, String user) {
+ MdcUtil
+ .initMdc(LoggerServiceName.Update_Questionnaire_Compute.toString()
+ );
+ Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
+ componentManager.validateComponentExistence(vspId, version, componentId, user);
+ computetManager
+ .updateComputeQuestionnaire(vspId, version, componentId, computeFlavorId,
+ questionnaireData, user);
+ return Response.ok().build();
+ }
+}
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/DeploymentFlavorsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/DeploymentFlavorsImpl.java
new file mode 100644
index 0000000000..adcdacaa88
--- /dev/null
+++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/DeploymentFlavorsImpl.java
@@ -0,0 +1,129 @@
+package org.openecomp.sdcrests.vsp.rest.services;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.openecomp.sdc.logging.context.MdcUtil;
+import org.openecomp.sdc.logging.types.LoggerServiceName;
+import org.openecomp.sdc.vendorsoftwareproduct.DeploymentFlavorManager;
+import org.openecomp.sdc.vendorsoftwareproduct.DeploymentFlavorManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.DeploymentFlavor;
+import org.openecomp.sdc.versioning.dao.types.Version;
+import org.openecomp.sdc.versioning.types.VersionableEntityAction;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorCreationDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorListResponseDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorRequestDto;
+import org.openecomp.sdcrests.vsp.rest.DeploymentFlavors;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityResponseToDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityValidationDataToDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapDeploymentFlavorEntityDeploymentFlavorToListResponse;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapDeploymentFlavorEntityToDeploymentFlavorCreationDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapDeploymentFlavorToDeploymentDto;
+import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+import javax.inject.Named;
+import javax.ws.rs.core.Response;
+
+@Named
+@Service("deploymentFlavors")
+@Scope(value = "prototype")
+public class DeploymentFlavorsImpl implements DeploymentFlavors
+{
+ private DeploymentFlavorManager deploymentFlavorManager =
+ DeploymentFlavorManagerFactory.getInstance().createInterface();
+
+ @Override
+ public Response create(DeploymentFlavorRequestDto request, String vspId, String versionId,
+ String user) {
+ MdcUtil.initMdc(LoggerServiceName.Create_Deployment_Flavor.toString());
+ DeploymentFlavorEntity deploymentFlavorEntity =
+ new MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity()
+ .applyMapping(request, DeploymentFlavorEntity.class);
+ deploymentFlavorEntity.setVspId(vspId);
+ deploymentFlavorEntity.setVersion(resolveVspVersion(vspId, null, user,
+ VersionableEntityAction.Write));
+ DeploymentFlavorEntity createdDeploymentFlavor =
+ deploymentFlavorManager.createDeploymentFlavor(deploymentFlavorEntity, user);
+ MapDeploymentFlavorEntityToDeploymentFlavorCreationDto mapping =
+ new MapDeploymentFlavorEntityToDeploymentFlavorCreationDto();
+ DeploymentFlavorCreationDto deploymentFlavorCreatedDto= mapping.applyMapping
+ (createdDeploymentFlavor,DeploymentFlavorCreationDto.class);
+ return Response
+ .ok(createdDeploymentFlavor != null ? deploymentFlavorCreatedDto : null)
+ .build();
+ }
+
+ @Override
+ public Response list(String vspId,String version,String user) {
+ MdcUtil.initMdc(LoggerServiceName.Get_List_Deployment_flavor.toString());
+ Collection<DeploymentFlavorEntity> deploymentFlavors =
+ deploymentFlavorManager.listDeploymentFlavors(vspId, resolveVspVersion(vspId, version, user,
+ VersionableEntityAction.Read), user);
+
+ MapDeploymentFlavorEntityDeploymentFlavorToListResponse mapper = new
+ MapDeploymentFlavorEntityDeploymentFlavorToListResponse();
+ GenericCollectionWrapper<DeploymentFlavorListResponseDto> results = new GenericCollectionWrapper<>();
+ for (DeploymentFlavorEntity deploymentFlavor : deploymentFlavors) {
+ results.add(mapper.applyMapping(deploymentFlavor, DeploymentFlavorListResponseDto.class));
+ }
+ return Response.ok(results).build();
+ }
+
+ @Override
+ public Response get(String vspId, String version, String deploymentFlavorId, String user) {
+ MdcUtil.initMdc(LoggerServiceName.Get_Deployment_flavor.toString());
+ CompositionEntityResponse<DeploymentFlavor> response = deploymentFlavorManager
+ .getDeploymentFlavor(vspId, resolveVspVersion(vspId, version, user,
+ VersionableEntityAction.Read), deploymentFlavorId, user);
+
+ CompositionEntityResponseDto<DeploymentFlavorDto> responseDto = new
+ CompositionEntityResponseDto<>();
+ new MapCompositionEntityResponseToDto<>(new MapDeploymentFlavorToDeploymentDto(), DeploymentFlavorDto.class)
+ .doMapping(response, responseDto);
+ return Response.ok(responseDto).build();
+ }
+
+ @Override
+ public Response getSchema(String vspId, String version, String user) {
+ MdcUtil.initMdc(LoggerServiceName.Get_Deployment_flavor.toString());
+ CompositionEntityResponse<DeploymentFlavor> response = deploymentFlavorManager
+ .getDeploymentFlavorSchema(vspId, Version.valueOf(version), user);
+ return Response.ok(response).build();
+ }
+
+ @Override
+ public Response delete(String vspId, String versionId, String deploymentFlavorId, String user) {
+ MdcUtil.initMdc(LoggerServiceName.Delete_Deployment_flavor.toString());
+ Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
+ deploymentFlavorManager.deleteDeploymentFlavor(vspId, version, deploymentFlavorId, user);
+ return Response.ok().build();
+ }
+
+ @Override
+ public Response update(DeploymentFlavorRequestDto request, String vspId, String versionId,
+ String deploymentFlavorId, String user) {
+ MdcUtil.initMdc(LoggerServiceName.Update_Deployment_flavor.toString());
+ DeploymentFlavorEntity deploymentFlavorEntity =
+ new MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity().applyMapping(request,
+ DeploymentFlavorEntity.class);
+ deploymentFlavorEntity.setVspId(vspId);
+ deploymentFlavorEntity.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write));
+ deploymentFlavorEntity.setId(deploymentFlavorId);
+
+ CompositionEntityValidationData validationData =
+ deploymentFlavorManager.updateDeploymentFlavor(deploymentFlavorEntity, user);
+ return validationData != null && CollectionUtils.isNotEmpty(validationData.getErrors())
+ ? Response.status(Response.Status.EXPECTATION_FAILED).entity(
+ new MapCompositionEntityValidationDataToDto().applyMapping(validationData,
+ CompositionEntityValidationDataDto.class)).build() : Response.ok().build();
+ }
+}
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ImagesImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ImagesImpl.java
new file mode 100644
index 0000000000..c939eb57ae
--- /dev/null
+++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ImagesImpl.java
@@ -0,0 +1,175 @@
+package org.openecomp.sdcrests.vsp.rest.services;
+
+
+import io.swagger.annotations.ApiParam;
+import org.apache.commons.collections.CollectionUtils;
+import org.openecomp.sdc.logging.context.MdcUtil;
+import org.openecomp.sdc.logging.types.LoggerServiceName;
+import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager;
+import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.ImageManager;
+import org.openecomp.sdc.vendorsoftwareproduct.ImageManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductManager;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse;
+import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Image;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ImageData;
+import org.openecomp.sdc.versioning.dao.types.Version;
+import org.openecomp.sdc.versioning.types.VersionableEntityAction;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageCreationDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageRequestDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto;
+import org.openecomp.sdcrests.vsp.rest.Images;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityResponseToDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityValidationDataToDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapImageDataToImageDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapImageEntityToImageCreationDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapImageEntityToImageDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapImageRequestDtoToImageEntity;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapQuestionnaireResponseToQuestionnaireResponseDto;
+import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+import javax.inject.Named;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.core.Response;
+
+
+@Named
+@Service("images")
+@Scope(value = "prototype")
+public class ImagesImpl implements Images
+ {
+
+ private ImageManager imageManager = ImageManagerFactory.getInstance().createInterface();
+ private ComponentManager componentManager =
+ ComponentManagerFactory.getInstance().createInterface();
+
+ @Override
+ public Response create(ImageRequestDto request, String vspId, String versionId,String
+ componentId, String user) {
+ MdcUtil.initMdc(LoggerServiceName.Create_Image.toString());
+ ImageEntity image =
+ new MapImageRequestDtoToImageEntity().applyMapping(request, ImageEntity.class);
+ image.setVspId(vspId);
+ image.setComponentId(componentId);
+ image.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write));
+ componentManager.validateComponentExistence(vspId, image.getVersion(), componentId, user);
+ ImageEntity createdImage = imageManager.createImage(image, user);
+ MapImageEntityToImageCreationDto mapping = new MapImageEntityToImageCreationDto();
+ ImageCreationDto createdImageDto = mapping.applyMapping(createdImage, ImageCreationDto.class);
+ return Response
+ .ok(createdImage != null ? createdImageDto : null)
+ .build();
+ }
+
+ @Override
+ public Response getImageSchema(String vspId, String versionId, String componentId, String user) {
+ MdcUtil.initMdc(LoggerServiceName.GET_Image_Schema.toString());
+ CompositionEntityResponse<Image> response =
+ imageManager.getImageSchema(vspId, user);
+ return Response.ok(response).build();
+ }
+
+ @Override
+ public Response get(String vspId, String versionId, String componentId, String imageId, String
+ user) {
+ MdcUtil.initMdc(LoggerServiceName.GET_Image.toString());
+ Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read);
+ componentManager.validateComponentExistence(vspId, vspVersion, componentId, user);
+ CompositionEntityResponse<Image> response = imageManager.getImage(vspId,
+ vspVersion, componentId, imageId, user);
+
+ return Response.ok(response).build();
+ }
+
+ @Override
+ public Response list(String vspId, String versionId, String componentId, String user) {
+ MdcUtil.initMdc(LoggerServiceName.List_Images.toString());
+ Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read);
+ componentManager.validateComponentExistence(vspId, vspVersion, componentId, user);
+ Collection<ImageEntity> images =
+ imageManager.listImages(vspId, vspVersion, componentId, user);
+
+ MapImageEntityToImageDto mapper = new MapImageEntityToImageDto();
+ GenericCollectionWrapper<ImageDto> results = new GenericCollectionWrapper<>();
+ for (ImageEntity image : images) {
+ results.add(mapper.applyMapping(image, ImageDto.class));
+ }
+
+ return Response.ok(results).build();
+ }
+
+ @Override
+ public Response delete(String vspId, String versionId, String componentId, String imageId,
+ String user) {
+ MdcUtil.initMdc(LoggerServiceName.Delete_Image.toString());
+ Version vspVersion = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
+ componentManager.validateComponentExistence(vspId, vspVersion, componentId, user);
+ imageManager.deleteImage(vspId, vspVersion, componentId, imageId, user);
+ return Response.ok().build();
+ }
+
+ @Override
+ public Response update(ImageRequestDto request, String vspId, String versionId, String
+ componentId,
+ String imageId,
+ String user) {
+ MdcUtil.initMdc(LoggerServiceName.Update_Image.toString());
+ ImageEntity imageEntity = new MapImageRequestDtoToImageEntity().applyMapping(request,
+ ImageEntity.class);
+ imageEntity.setVspId(vspId);
+ imageEntity.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write));
+ imageEntity.setComponentId(componentId);
+ imageEntity.setId(imageId);
+ componentManager.validateComponentExistence(vspId, imageEntity.getVersion(), componentId, user);
+
+ CompositionEntityValidationData validationData =
+ imageManager.updateImage(imageEntity, user);
+ return validationData != null && CollectionUtils.isNotEmpty(validationData.getErrors())
+ ? Response.status(Response.Status.EXPECTATION_FAILED).entity(
+ new MapCompositionEntityValidationDataToDto()
+ .applyMapping(validationData, CompositionEntityValidationDataDto.class)).build() :
+ Response.ok().build();
+ }
+
+ @Override
+ public Response getQuestionnaire(String vspId, String versionId, String componentId, String
+ imageId, String user) {
+ MdcUtil.initMdc(LoggerServiceName.Get_Questionnaire_Compute.toString());
+ Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read);
+ componentManager.validateComponentExistence(vspId, vspVersion, componentId, user);
+ QuestionnaireResponse questionnaireResponse = imageManager
+ .getImageQuestionnaire(vspId, vspVersion, componentId, imageId,
+ user);
+
+ QuestionnaireResponseDto result = new MapQuestionnaireResponseToQuestionnaireResponseDto()
+ .applyMapping(questionnaireResponse, QuestionnaireResponseDto.class);
+ return Response.ok(result).build();
+
+ }
+
+ @Override
+ public Response updateQuestionnaire(String questionnaireData, String vspId, String
+ versionId,String componentId,String imageId, String user) {
+ MdcUtil
+ .initMdc(LoggerServiceName.Update_Questionnaire_Compute.toString()
+ );
+ Version vspVersion = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write);
+ componentManager.validateComponentExistence(vspId, vspVersion, componentId, user);
+ imageManager.updateImageQuestionnaire(vspId, vspVersion, componentId, imageId,
+ questionnaireData, user);
+ return Response.ok().build();
+ }
+
+}
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/NicsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/NicsImpl.java
index 922700671c..1612c964a1 100644
--- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/NicsImpl.java
+++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/NicsImpl.java
@@ -36,12 +36,14 @@ import org.openecomp.sdc.versioning.dao.types.Version;
import org.openecomp.sdc.versioning.types.VersionableEntityAction;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.NicCreationResponseDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.NicDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.NicRequestDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto;
import org.openecomp.sdcrests.vsp.rest.Nics;
import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityResponseToDto;
import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityValidationDataToDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapNicEntityToNicCreationResponseDto;
import org.openecomp.sdcrests.vsp.rest.mapping.MapNicEntityToNicDto;
import org.openecomp.sdcrests.vsp.rest.mapping.MapNicRequestDtoToNicEntity;
import org.openecomp.sdcrests.vsp.rest.mapping.MapNicToNicDto;
@@ -89,7 +91,11 @@ public class NicsImpl implements Nics {
componentManager.validateComponentExistence(vspId, nic.getVersion(), componentId, user);
NicEntity createdNic = nicManager.createNic(nic, user);
- return Response.ok(createdNic != null ? new StringWrapperResponse(createdNic.getId()) : null)
+ MapNicEntityToNicCreationResponseDto mapping =
+ new MapNicEntityToNicCreationResponseDto();
+ NicCreationResponseDto createdNicDto = mapping.applyMapping(createdNic,
+ NicCreationResponseDto.class);
+ return Response.ok(createdNic != null ? createdNicDto : null)
.build();
}
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/VendorSoftwareProductsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/VendorSoftwareProductsImpl.java
index c730066770..6dcb63dfdd 100644
--- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/VendorSoftwareProductsImpl.java
+++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/VendorSoftwareProductsImpl.java
@@ -22,16 +22,24 @@ package org.openecomp.sdcrests.vsp.rest.services;
import org.openecomp.sdc.activityLog.ActivityLogManager;
import org.openecomp.sdc.activityLog.ActivityLogManagerFactory;
+import org.openecomp.sdc.common.errors.CoreException;
+import org.openecomp.sdc.common.errors.ErrorCode;
+import org.openecomp.sdc.datatypes.error.ErrorLevel;
import org.openecomp.sdc.logging.api.Logger;
import org.openecomp.sdc.logging.api.LoggerFactory;
import org.openecomp.sdc.logging.context.MdcUtil;
+import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage;
import org.openecomp.sdc.logging.messages.AuditMessages;
import org.openecomp.sdc.logging.types.LoggerConstants;
+import org.openecomp.sdc.logging.types.LoggerErrorCode;
import org.openecomp.sdc.logging.types.LoggerServiceName;
+import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductManager;
import org.openecomp.sdc.vendorsoftwareproduct.VspManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.PackageInfo;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
+import org.openecomp.sdc.vendorsoftwareproduct.errors.OnboardingMethodErrorBuilder;
import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse;
import org.openecomp.sdc.vendorsoftwareproduct.types.ValidationResponse;
import org.openecomp.sdc.vendorsoftwareproduct.types.VersionedVendorSoftwareProductInfo;
@@ -42,16 +50,18 @@ import org.openecomp.sdcrests.vendorsoftwareproducts.types.PackageInfoDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.ValidationResponseDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.VersionSoftwareProductActionRequestDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspComputeDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspCreationDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDescriptionDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDetailsDto;
import org.openecomp.sdcrests.vsp.rest.VendorSoftwareProducts;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapComputeEntityToVspComputeDto;
import org.openecomp.sdcrests.vsp.rest.mapping.MapPackageInfoToPackageInfoDto;
import org.openecomp.sdcrests.vsp.rest.mapping.MapQuestionnaireResponseToQuestionnaireResponseDto;
import org.openecomp.sdcrests.vsp.rest.mapping.MapValidationResponseToDto;
import org.openecomp.sdcrests.vsp.rest.mapping.MapVersionedVendorSoftwareProductInfoToVspDetailsDto;
import org.openecomp.sdcrests.vsp.rest.mapping.MapVspDescriptionDtoToVspDetails;
-import org.openecomp.sdcrests.vsp.rest.mapping.MspVspDetailsToVspCreationDto;
+import org.openecomp.sdcrests.vsp.rest.mapping.MapVspDetailsToVspCreationDto;
import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper;
import org.openecomp.sdcrests.wrappers.StringWrapperResponse;
import org.slf4j.MDC;
@@ -62,6 +72,7 @@ import javax.inject.Named;
import javax.ws.rs.core.Response;
import java.io.File;
import java.io.IOException;
+import java.util.Collection;
import java.util.List;
@@ -79,21 +90,35 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts {
private ActivityLogManager activityLogManager =
ActivityLogManagerFactory.getInstance().createInterface();
- @Override
- public Response createVsp(VspDescriptionDto vspDescriptionDto, String user) {
- MdcUtil.initMdc(LoggerServiceName.Create_VSP.toString());
- logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.CREATE_VSP + vspDescriptionDto.getName());
-
- VspDetails vspDetails =
- new MapVspDescriptionDtoToVspDetails().applyMapping(vspDescriptionDto, VspDetails.class);
-
- vspDetails = vendorSoftwareProductManager.createVsp(vspDetails, user);
-
- MspVspDetailsToVspCreationDto mapping = new MspVspDetailsToVspCreationDto();
- VspCreationDto vspCreationDto = mapping.applyMapping(vspDetails, VspCreationDto.class);
+ @Override
+ public Response createVsp(VspDescriptionDto vspDescriptionDto, String user) {
+ MdcUtil.initMdc(LoggerServiceName.Create_VSP.toString());
+ logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.CREATE_VSP
+ + vspDescriptionDto.getName());
+
+ VspCreationDto vspCreationDto = null;
+ switch (vspDescriptionDto.getOnboardingMethod()) {
+ case "HEAT":
+ case "Manual":
+ VspDetails vspDetails = new MapVspDescriptionDtoToVspDetails().
+ applyMapping(vspDescriptionDto, VspDetails.class);
+
+ vspDetails = vendorSoftwareProductManager.createVsp(vspDetails, user);
+
+ MapVspDetailsToVspCreationDto mapping = new MapVspDetailsToVspCreationDto();
+ vspCreationDto = mapping.applyMapping(vspDetails, VspCreationDto.class);
+ break;
+ default:
+ ErrorCode onboardingMethodUpdateErrorCode = OnboardingMethodErrorBuilder
+ .getInvalidOnboardingMethodErrorBuilder();
+ MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
+ LoggerTragetServiceName.ADD_VSP, ErrorLevel.ERROR.name(),
+ LoggerErrorCode.DATA_ERROR.getErrorCode(), onboardingMethodUpdateErrorCode.message());
+ throw new CoreException(onboardingMethodUpdateErrorCode);
+ }
- return Response.ok(vspCreationDto).build();
- }
+ return Response.ok(vspCreationDto).build();
+ }
@Override
public Response listVsps(String versionFilter, String user) {
@@ -324,12 +349,26 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts {
vendorSoftwareProductManager.getInformationArtifact(vspId,
resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read), user);
- Response.ResponseBuilder response = Response.ok(textInformationArtifact);
- if (textInformationArtifact == null) {
- return Response.status(Response.Status.NOT_FOUND).build();
+ Response.ResponseBuilder response = Response.ok(textInformationArtifact);
+ if (textInformationArtifact == null) {
+ return Response.status(Response.Status.NOT_FOUND).build();
+ }
+ response
+ .header("Content-Disposition", "attachment; filename=" + textInformationArtifact.getName());
+ return response.build();
}
- response
- .header("Content-Disposition", "attachment; filename=" + textInformationArtifact.getName());
- return response.build();
+
+ public Response listCompute(String vspId, String version, String user) {
+
+ Collection<ComputeEntity> computes = vendorSoftwareProductManager.getComputeByVsp(vspId,
+ resolveVspVersion(vspId, version, user, VersionableEntityAction.Read), user);
+
+ MapComputeEntityToVspComputeDto mapper = new MapComputeEntityToVspComputeDto();
+ GenericCollectionWrapper<VspComputeDto> results = new GenericCollectionWrapper<>();
+ for (ComputeEntity compute : computes) {
+ results.add(mapper.applyMapping(compute, VspComputeDto.class));
+ }
+
+ return Response.ok(results).build();
}
}