diff options
Diffstat (limited to 'adapters/mso-catalog-db-adapter/src/main')
6 files changed, 134 insertions, 7 deletions
diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceInfo.java b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceInfo.java index 195ada37f7..d08c2e1444 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceInfo.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceInfo.java @@ -26,7 +26,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.CollectionUtils; import javax.xml.bind.annotation.XmlRootElement; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceVnfs.java b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceVnfs.java index d6e7415a77..f945208854 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceVnfs.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceVnfs.java @@ -23,7 +23,6 @@ package org.onap.so.adapters.catalogdb.catalogrest; /* should be called QueryVnfResource.java */ -import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -33,7 +32,6 @@ import org.onap.so.db.catalog.beans.VnfResourceCustomization; import org.onap.so.db.catalog.beans.VnfcInstanceGroupCustomization; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.fasterxml.jackson.databind.ObjectMapper; @XmlRootElement(name = "serviceVnfs") public class QueryServiceVnfs extends CatalogQuery { diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/CatalogDbAdapterRest.java b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/CatalogDbAdapterRest.java index 98abf15645..f283af1ba6 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/CatalogDbAdapterRest.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/CatalogDbAdapterRest.java @@ -27,6 +27,7 @@ package org.onap.so.adapters.catalogdb.rest; import java.util.ArrayList; import java.util.List; import javax.ws.rs.GET; +import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; @@ -46,8 +47,34 @@ import org.onap.so.adapters.catalogdb.catalogrest.QueryServiceMacroHolder; import org.onap.so.adapters.catalogdb.catalogrest.QueryServiceNetworks; import org.onap.so.adapters.catalogdb.catalogrest.QueryServiceVnfs; import org.onap.so.adapters.catalogdb.catalogrest.QueryVfModule; -import org.onap.so.db.catalog.beans.*; -import org.onap.so.db.catalog.data.repository.*; +import org.onap.so.db.catalog.beans.AllottedResource; +import org.onap.so.db.catalog.beans.AllottedResourceCustomization; +import org.onap.so.db.catalog.beans.InstanceGroup; +import org.onap.so.db.catalog.beans.NetworkResource; +import org.onap.so.db.catalog.beans.NetworkResourceCustomization; +import org.onap.so.db.catalog.beans.ProcessingFlags; +import org.onap.so.db.catalog.beans.Recipe; +import org.onap.so.db.catalog.beans.Service; +import org.onap.so.db.catalog.beans.ToscaCsar; +import org.onap.so.db.catalog.beans.VfModule; +import org.onap.so.db.catalog.beans.VfModuleCustomization; +import org.onap.so.db.catalog.beans.VnfRecipe; +import org.onap.so.db.catalog.beans.VnfResource; +import org.onap.so.db.catalog.beans.VnfResourceCustomization; +import org.onap.so.db.catalog.data.repository.AllottedResourceCustomizationRepository; +import org.onap.so.db.catalog.data.repository.AllottedResourceRepository; +import org.onap.so.db.catalog.data.repository.ArRecipeRepository; +import org.onap.so.db.catalog.data.repository.InstanceGroupRepository; +import org.onap.so.db.catalog.data.repository.NetworkRecipeRepository; +import org.onap.so.db.catalog.data.repository.NetworkResourceCustomizationRepository; +import org.onap.so.db.catalog.data.repository.NetworkResourceRepository; +import org.onap.so.db.catalog.data.repository.ProcessingFlagsRepository; +import org.onap.so.db.catalog.data.repository.ServiceRepository; +import org.onap.so.db.catalog.data.repository.ToscaCsarRepository; +import org.onap.so.db.catalog.data.repository.VFModuleRepository; +import org.onap.so.db.catalog.data.repository.VnfCustomizationRepository; +import org.onap.so.db.catalog.data.repository.VnfRecipeRepository; +import org.onap.so.db.catalog.data.repository.VnfResourceRepository; import org.onap.so.db.catalog.rest.beans.ServiceMacroHolder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -102,6 +129,9 @@ public class CatalogDbAdapterRest { @Autowired private InstanceGroupRepository instanceGroupRepository; + @Autowired + private ProcessingFlagsRepository processingFlagsRepo; + private static final String NO_MATCHING_PARAMETERS = "no matching parameters"; public Response respond(String version, int respStatus, boolean isArray, CatalogQuery qryResp) { @@ -547,4 +577,82 @@ public class CatalogDbAdapterRest { .entity(new GenericEntity<CatalogQueryException>(excResp) {}).build(); } } + + @GET + @Path("processingFlags/{flag}") + @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + @Transactional(readOnly = true) + public Response getProcessingFlags(@PathParam("flag") String flag) { + return getProcessingFlagsImpl(flag); + } + + public Response getProcessingFlagsImpl(String flag) { + ProcessingFlags processingFlags = null; + logger.debug("Flag is: " + flag); + int respStatus = HttpStatus.SC_OK; + try { + processingFlags = processingFlagsRepo.findByFlag(flag); + if (processingFlags == null) { + logger.debug("ProcessingFlag not found"); + respStatus = HttpStatus.SC_NOT_FOUND; + + } else { + + logger.debug("ProcessingFlags processingFlags = {}", processingFlags.toString()); + } + return Response.status(respStatus).entity(processingFlags) + .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON).build(); + } catch (Exception e) { + logger.error("Exception - queryProcesssingFlags", e); + CatalogQueryException excResp = new CatalogQueryException(e.getMessage(), + CatalogQueryExceptionCategory.INTERNAL, Boolean.FALSE, null); + return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR) + .entity(new GenericEntity<CatalogQueryException>(excResp) {}).build(); + } + } + + @PUT + @Path("processingFlags/{flag}") + @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + @Transactional + public Response updateProcessingFlagsValue(@PathParam("flag") String flag, ProcessingFlags updatedProcessingFlag) { + return updateProcessingFlagsValueImpl(flag, updatedProcessingFlag); + } + + public Response updateProcessingFlagsValueImpl(String flag, ProcessingFlags updatedProcessingFlag) { + ProcessingFlags processingFlags = null; + logger.debug("Flag is: " + flag); + int respStatus = HttpStatus.SC_OK; + try { + if (updatedProcessingFlag == null) { + logger.debug("No valid updatedProcessingFlag is provided"); + throw new RuntimeException("No valid updatedProcessingFlag is provided"); + } + String value = updatedProcessingFlag.getValue(); + if (value == null || (!value.equalsIgnoreCase("YES") && !value.equalsIgnoreCase("NO"))) { + logger.debug("Value " + value + " is invalid, only yes/no are allowed"); + throw new RuntimeException("Invalid value specified"); + } + processingFlags = processingFlagsRepo.findByFlag(flag); + if (processingFlags == null) { + logger.debug("ProcessingFlag not found"); + respStatus = HttpStatus.SC_NOT_FOUND; + } else { + logger.debug("ProcessingFlags processingFlags = {}", processingFlags.toString()); + processingFlags.setValue(value); + processingFlagsRepo.saveAndFlush(processingFlags); + return Response.status(respStatus).entity(null) + .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON).build(); + } + } catch (Exception e) { + logger.error("Exception - queryProcesssingFlags", e); + CatalogQueryException excResp = new CatalogQueryException(e.getMessage(), + CatalogQueryExceptionCategory.INTERNAL, Boolean.FALSE, null); + return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR) + .entity(new GenericEntity<CatalogQueryException>(excResp) {}).build(); + } + + return Response.status(HttpStatus.SC_NOT_FOUND).header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON) + .build(); + } } diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/VnfRestImpl.java b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/VnfRestImpl.java index 9202fd21d4..87526f7009 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/VnfRestImpl.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/VnfRestImpl.java @@ -34,7 +34,6 @@ import javax.ws.rs.core.Response; import org.onap.so.db.catalog.beans.VnfResourceCustomization; import org.onap.so.db.catalog.data.repository.ServiceRepository; import org.onap.so.db.catalog.data.repository.VnfCustomizationRepository; -import org.onap.so.rest.catalog.beans.Service; import org.onap.so.rest.catalog.beans.Vnf; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/R__MacroData.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/R__MacroData.sql index b70d409cd8..33293afa10 100644 --- a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/R__MacroData.sql +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/R__MacroData.sql @@ -632,7 +632,17 @@ VALUES ('VOLUME_GROUP', 'PENDING', 'DELETE', 'SILENT_SUCCESS'), ('VF_MODULE', 'PENDING', 'DELETE', 'FAIL'), -('NETWORK', 'PENDING', 'DELETE', 'FAIL'); +('NETWORK', 'PENDING', 'DELETE', 'FAIL'), + +('VNF', 'CONFIGURED', 'ACTIVATE', 'CONTINUE'), +('VNF', 'CONFIGURED', 'UNASSIGN', 'CONTINUE'), +('VNF', 'CONFIGURED', 'DESACTIVATE', 'SILENT_SUCCESS'), + +('VNF', 'CONFIGURE', 'UNASSIGN', 'CONTINUE'), +('VNF', 'CONFIGURE', 'DESACTIVATE', 'SILENT_SUCCESS'), + +('VNF', 'CONFIGASSIGNED', 'UNASSIGN', 'CONTINUE'), +('VNF', 'CONFIGASSIGNED', 'DESACTIVATE', 'SILENT_SUCCESS'); UPDATE orchestration_flow_reference SET FLOW_NAME = 'HomingBB' WHERE FLOW_NAME = 'SniroHoming'; diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V8.7__AddProcessingFlags.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V8.7__AddProcessingFlags.sql new file mode 100644 index 0000000000..2686df13a3 --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V8.7__AddProcessingFlags.sql @@ -0,0 +1,13 @@ +use catalogdb; + +CREATE TABLE IF NOT EXISTS `processing_flags` ( + `ID` INT(11) NOT NULL AUTO_INCREMENT, + `FLAG` varchar(200) NOT NULL, + `VALUE` varchar(200) NOT NULL, + `ENDPOINT` varchar(200) NOT NULL, + `DESCRIPTION` longtext NOT NULL, + `CREATION_TIMESTAMP` timestamp NULL DEFAULT current_timestamp(), + `UPDATE_TIMESTAMP` timestamp DEFAULT current_timestamp() ON UPDATE current_timestamp(), + PRIMARY KEY (`ID`), + UNIQUE KEY `UK_processing_flags` (`FLAG`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1;
\ No newline at end of file |