summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/AbstractValidationsServlet.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/servlets/AbstractValidationsServlet.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/servlets/AbstractValidationsServlet.java436
1 files changed, 161 insertions, 275 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/AbstractValidationsServlet.java b/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/AbstractValidationsServlet.java
index cb0cc239f2..beaa08cc4f 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/AbstractValidationsServlet.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/AbstractValidationsServlet.java
@@ -19,7 +19,6 @@
* Modifications copyright (c) 2019 Nokia
* ================================================================================
*/
-
package org.openecomp.sdc.be.servlets;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -43,7 +42,6 @@ import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.Response;
import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.collections4.MapUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
@@ -94,31 +92,38 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
private static final Logger log = Logger.getLogger(AbstractValidationsServlet.class);
private static final String TOSCA_SIMPLE_YAML_PREFIX = "tosca_simple_yaml_";
- private static final List<String> TOSCA_DEFINITION_VERSIONS = Arrays.asList(
- TOSCA_SIMPLE_YAML_PREFIX + "1_0_0",
- TOSCA_SIMPLE_YAML_PREFIX + "1_1_0",
- "tosca_simple_profile_for_nfv_1_0_0",
- TOSCA_SIMPLE_YAML_PREFIX + "1_0",
- TOSCA_SIMPLE_YAML_PREFIX + "1_1",
- TOSCA_SIMPLE_YAML_PREFIX + "1_2",
- TOSCA_SIMPLE_YAML_PREFIX + "1_3");
+ private static final List<String> TOSCA_DEFINITION_VERSIONS = Arrays
+ .asList(TOSCA_SIMPLE_YAML_PREFIX + "1_0_0", TOSCA_SIMPLE_YAML_PREFIX + "1_1_0", "tosca_simple_profile_for_nfv_1_0_0",
+ TOSCA_SIMPLE_YAML_PREFIX + "1_0", TOSCA_SIMPLE_YAML_PREFIX + "1_1", TOSCA_SIMPLE_YAML_PREFIX + "1_2", TOSCA_SIMPLE_YAML_PREFIX + "1_3");
private static final List<String> TOSCA_YML_CSAR_VALID_SUFFIX = Arrays.asList(".yml", ".yaml", ".csar", ".meta");
-
+ protected final ComponentInstanceBusinessLogic componentInstanceBusinessLogic;
protected ServletUtils servletUtils;
protected ResourceImportManager resourceImportManager;
- protected final ComponentInstanceBusinessLogic componentInstanceBusinessLogic;
-
protected ServiceImportManager serviceImportManager;
- public AbstractValidationsServlet(UserBusinessLogic userBusinessLogic,
- ComponentInstanceBusinessLogic componentInstanceBL, ComponentsUtils componentsUtils,
- ServletUtils servletUtils, ResourceImportManager resourceImportManager) {
+ public AbstractValidationsServlet(UserBusinessLogic userBusinessLogic, ComponentInstanceBusinessLogic componentInstanceBL,
+ ComponentsUtils componentsUtils, ServletUtils servletUtils, ResourceImportManager resourceImportManager) {
super(userBusinessLogic, componentsUtils);
this.servletUtils = servletUtils;
this.resourceImportManager = resourceImportManager;
this.componentInstanceBusinessLogic = componentInstanceBL;
}
+ public static void extractZipContents(Wrapper<String> yamlStringWrapper, File file) throws ZipException {
+ final Map<String, byte[]> unzippedFolder = ZipUtils.readZip(file, false);
+ String ymlName = unzippedFolder.keySet().iterator().next();
+ fillToscaTemplateFromZip(yamlStringWrapper, ymlName, file);
+ }
+
+ private static void fillToscaTemplateFromZip(final Wrapper<String> yamlStringWrapper, final String payloadName, final File file)
+ throws ZipException {
+ final Map<String, byte[]> unzippedFolder = ZipUtils.readZip(file, false);
+ final byte[] yamlFileInBytes = unzippedFolder.get(payloadName);
+ final String yamlAsString = new String(yamlFileInBytes, StandardCharsets.UTF_8);
+ log.debug("received yaml: {}", yamlAsString);
+ yamlStringWrapper.setInnerElement(yamlAsString);
+ }
+
protected void init() {
}
@@ -126,7 +131,7 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
if (serviceImportManager == null) {
ServletContext context = servletRequest.getSession().getServletContext();
WebAppContextWrapper webApplicationContextWrapper = (WebAppContextWrapper) context
- .getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR);
+ .getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR);
WebApplicationContext webApplicationContext = webApplicationContextWrapper.getWebAppContext(context);
serviceImportManager = webApplicationContext.getBean(ServiceImportManager.class);
}
@@ -148,9 +153,7 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
log.info("user userId is null");
Response response = returnMissingInformation(new User());
responseWrapper.setInnerElement(response);
- }
-
- else {
+ } else {
UserBusinessLogic userAdmin = getServletUtils().getUserAdmin();
try {
User user = userAdmin.getUser(userUserId);
@@ -180,7 +183,6 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
break;
}
}
-
}
protected void validateUserRole(Wrapper<Response> errorResponseWrapper, User user) {
@@ -190,18 +192,15 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.RESTRICTED_OPERATION);
log.debug("audit before sending response");
getComponentsUtils().auditResource(responseFormat, user, "", AuditingActionEnum.IMPORT_RESOURCE);
-
Response response = buildErrorResponse(responseFormat);
errorResponseWrapper.setInnerElement(response);
}
-
}
protected void validateZip(final Wrapper<Response> responseWrapper, final File zipFile, final String payloadName) {
if (StringUtils.isEmpty(payloadName)) {
log.info("Invalid JSON was received. Payload name is empty");
- final Response errorResponse =
- buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT));
+ final Response errorResponse = buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT));
responseWrapper.setInnerElement(errorResponse);
return;
}
@@ -210,19 +209,15 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
unzippedFolder = ZipUtils.readZip(zipFile, false);
} catch (final ZipException e) {
log.error("Could not read ZIP file '{}' for validation", zipFile.getName(), e);
- final Response errorResponse =
- buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT));
+ final Response errorResponse = buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT));
responseWrapper.setInnerElement(errorResponse);
return;
}
if (!unzippedFolder.containsKey(payloadName)) {
log.info("Could no find payload '{}' in ZIP file '{}'", payloadName, zipFile.getName());
- final Response errorResponse =
- buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT));
+ final Response errorResponse = buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT));
responseWrapper.setInnerElement(errorResponse);
}
-
-
}
protected void validateCsar(final Wrapper<Response> responseWrapper, final File csarFile, final String payloadName) {
@@ -237,8 +232,7 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
unzippedFolder = ZipUtils.readZip(csarFile, false);
} catch (final ZipException e) {
log.error("Could not read CSAR file '{}' for validation", csarFile.getName(), e);
- final Response errorResponse =
- buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT));
+ final Response errorResponse = buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT));
responseWrapper.setInnerElement(errorResponse);
return;
}
@@ -247,52 +241,29 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
Response errorResponse = buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT));
responseWrapper.setInnerElement(errorResponse);
}
-
}
protected void fillZipContents(Wrapper<String> yamlStringWrapper, File file) throws ZipException {
extractZipContents(yamlStringWrapper, file);
}
- public static void extractZipContents(Wrapper<String> yamlStringWrapper, File file) throws ZipException {
- final Map<String, byte[]> unzippedFolder = ZipUtils.readZip(file, false);
- String ymlName = unzippedFolder.keySet().iterator().next();
- fillToscaTemplateFromZip(yamlStringWrapper, ymlName, file);
- }
-
- private static void fillToscaTemplateFromZip(final Wrapper<String> yamlStringWrapper, final String payloadName,
- final File file) throws ZipException {
- final Map<String, byte[]> unzippedFolder = ZipUtils.readZip(file, false);
- final byte[] yamlFileInBytes = unzippedFolder.get(payloadName);
- final String yamlAsString = new String(yamlFileInBytes, StandardCharsets.UTF_8);
- log.debug("received yaml: {}", yamlAsString);
- yamlStringWrapper.setInnerElement(yamlAsString);
- }
-
- protected void fillPayloadDataFromFile(Wrapper<Response> responseWrapper, UploadResourceInfo uploadResourceInfoWrapper, File file) {
- try(InputStream fileInputStream = new FileInputStream(file)){
-
- byte [] data = new byte[(int)file.length()];
- if( fileInputStream.read(data) == -1){
+ protected void fillPayloadDataFromFile(Wrapper<Response> responseWrapper, UploadResourceInfo uploadResourceInfoWrapper, File file) {
+ try (InputStream fileInputStream = new FileInputStream(file)) {
+ byte[] data = new byte[(int) file.length()];
+ if (fileInputStream.read(data) == -1) {
log.info("Invalid json was received.");
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT);
-
Response errorResp = buildErrorResponse(responseFormat);
responseWrapper.setInnerElement(errorResp);
}
- String payloadData = Base64.encodeBase64String(data);
+ String payloadData = Base64.encodeBase64String(data);
uploadResourceInfoWrapper.setPayloadData(payloadData);
-
-
-
} catch (IOException e) {
log.info("Invalid json was received or Error while closing input Stream.");
log.debug("Invalid json was received or Error while closing input Stream. {}", e.getMessage(), e);
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT);
-
Response errorResp = buildErrorResponse(responseFormat);
responseWrapper.setInnerElement(errorResp);
-
}
}
@@ -304,17 +275,16 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.RESTRICTED_OPERATION);
log.debug("audit before sending response");
getComponentsUtils().auditResource(responseFormat, user, "", AuditingActionEnum.IMPORT_RESOURCE);
-
Response response = buildErrorResponse(responseFormat);
errorResponseWrapper.setInnerElement(response);
}
} else {
validateUserRole(errorResponseWrapper, user);
}
-
}
- protected void validateAndFillResourceJson(Wrapper<Response> responseWrapper, Wrapper<UploadResourceInfo> uploadResourceInfoWrapper, User user, ResourceAuthorityTypeEnum resourceAuthorityEnum, String resourceInfo) {
+ protected void validateAndFillResourceJson(Wrapper<Response> responseWrapper, Wrapper<UploadResourceInfo> uploadResourceInfoWrapper, User user,
+ ResourceAuthorityTypeEnum resourceAuthorityEnum, String resourceInfo) {
boolean isValid;
try {
log.debug("The received json is {}", resourceInfo);
@@ -330,11 +300,9 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
}
uploadResourceInfoWrapper.setInnerElement(resourceInfoObject);
}
-
} catch (JsonSyntaxException e) {
log.debug("Invalid json was received. {}", e.getMessage(), e);
isValid = false;
-
}
if (!isValid) {
log.info("Invalid json was received.");
@@ -371,8 +339,8 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
log.debug("checking payload is valid tosca");
boolean isValid;
Map<String, Object> mappedToscaTemplate = (Map<String, Object>) new Yaml().load(toscaPayload);
- Either<String, ResultStatusEnum> findFirstToscaStringElement = ImportUtils.findFirstToscaStringElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.TOSCA_VERSION);
-
+ Either<String, ResultStatusEnum> findFirstToscaStringElement = ImportUtils
+ .findFirstToscaStringElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.TOSCA_VERSION);
if (findFirstToscaStringElement.isRight()) {
isValid = false;
} else {
@@ -383,17 +351,16 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
isValid = TOSCA_DEFINITION_VERSIONS.contains(defenitionVersionFound);
}
}
-
if (!isValid) {
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.INVALID_TOSCA_TEMPLATE);
Response errorResponse = buildErrorResponse(responseFormat);
getComponentsUtils().auditResource(responseFormat, user, uploadResourceInfo.getName(), AuditingActionEnum.IMPORT_RESOURCE);
responseWrapper.setInnerElement(errorResponse);
}
-
}
- protected void validatePayloadIsYml(Wrapper<Response> responseWrapper, User user, UploadResourceInfo uploadResourceInfo, String toscaTamplatePayload) {
+ protected void validatePayloadIsYml(Wrapper<Response> responseWrapper, User user, UploadResourceInfo uploadResourceInfo,
+ String toscaTamplatePayload) {
log.debug("checking tosca template is valid yml");
YamlToObjectConverter yamlConvertor = new YamlToObjectConverter();
boolean isYamlValid = yamlConvertor.isValidYaml(toscaTamplatePayload.getBytes());
@@ -412,7 +379,6 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
* @return Resource Type name
*/
private String getResourceType(final String nodeTypeFullName) {
-
final Optional<String> nodeTypeNamePrefix = getNodeTypeNamePrefix(nodeTypeFullName);
if (nodeTypeNamePrefix.isPresent()) {
final String nameWithouNamespacePrefix = nodeTypeFullName.substring(nodeTypeNamePrefix.get().length());
@@ -429,12 +395,13 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
/**
* Extracts the Node Type Name prefix from the given Node Type Name.
+ *
* @param nodeName - Node Type Name
* @return Node Type Name prefix
*/
private Optional<String> getNodeTypeNamePrefix(final String nodeName) {
- final List<String> definedNodeTypeNamespaceList = ConfigurationManager.getConfigurationManager()
- .getConfiguration().getDefinedResourceNamespace();
+ final List<String> definedNodeTypeNamespaceList = ConfigurationManager.getConfigurationManager().getConfiguration()
+ .getDefinedResourceNamespace();
for (final String validNamespace : definedNodeTypeNamespaceList) {
if (nodeName.startsWith(validNamespace)) {
return Optional.of(validNamespace);
@@ -443,13 +410,13 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
return Optional.empty();
}
- protected void validatePayloadNameSpace(final Wrapper<Response> responseWrapper,
- final UploadResourceInfo resourceInfo,
- final User user, final String toscaPayload) {
+ protected void validatePayloadNameSpace(final Wrapper<Response> responseWrapper, final UploadResourceInfo resourceInfo, final User user,
+ final String toscaPayload) {
boolean isValid;
String namespace = "";
final Map<String, Object> mappedToscaTemplate = (Map<String, Object>) new Yaml().load(toscaPayload);
- final Either<Map<String, Object>, ResultStatusEnum> toscaElement = ImportUtils.findFirstToscaMapElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.NODE_TYPES);
+ final Either<Map<String, Object>, ResultStatusEnum> toscaElement = ImportUtils
+ .findFirstToscaMapElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.NODE_TYPES);
if (toscaElement.isRight() || toscaElement.left().value().size() != 1) {
isValid = false;
} else {
@@ -466,38 +433,38 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
}
}
- private void validatePayloadIsSingleResource(Wrapper<Response> responseWrapper, UploadResourceInfo uploadResourceInfo, User user, String toscaPayload) {
+ private void validatePayloadIsSingleResource(Wrapper<Response> responseWrapper, UploadResourceInfo uploadResourceInfo, User user,
+ String toscaPayload) {
log.debug("checking payload contains single resource");
boolean isValid;
Map<String, Object> mappedToscaTemplate = (Map<String, Object>) new Yaml().load(toscaPayload);
- Either<Map<String, Object>, ResultStatusEnum> toscaElement = ImportUtils.findFirstToscaMapElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.NODE_TYPES);
+ Either<Map<String, Object>, ResultStatusEnum> toscaElement = ImportUtils
+ .findFirstToscaMapElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.NODE_TYPES);
if (toscaElement.isRight()) {
isValid = false;
} else {
isValid = toscaElement.left().value().size() == 1;
}
-
if (!isValid) {
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.NOT_SINGLE_RESOURCE);
Response errorResponse = buildErrorResponse(responseFormat);
getComponentsUtils().auditResource(responseFormat, user, uploadResourceInfo.getName(), AuditingActionEnum.IMPORT_RESOURCE);
responseWrapper.setInnerElement(errorResponse);
}
-
}
- private void validatePayloadIsNotService(Wrapper<Response> responseWrapper, User user, UploadResourceInfo uploadResourceInfo, String toscaPayload) {
+ private void validatePayloadIsNotService(Wrapper<Response> responseWrapper, User user, UploadResourceInfo uploadResourceInfo,
+ String toscaPayload) {
log.debug("checking payload is not a tosca service");
Map<String, Object> mappedToscaTemplate = (Map<String, Object>) new Yaml().load(toscaPayload);
- Either<Object, ResultStatusEnum> toscaElement = ImportUtils.findToscaElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.TOPOLOGY_TEMPLATE, ToscaElementTypeEnum.ALL);
-
+ Either<Object, ResultStatusEnum> toscaElement = ImportUtils
+ .findToscaElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.TOPOLOGY_TEMPLATE, ToscaElementTypeEnum.ALL);
if (toscaElement.isLeft()) {
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.NOT_RESOURCE_TOSCA_TEMPLATE);
Response errorResponse = buildErrorResponse(responseFormat);
getComponentsUtils().auditResource(responseFormat, user, uploadResourceInfo.getName(), AuditingActionEnum.IMPORT_RESOURCE);
responseWrapper.setInnerElement(errorResponse);
}
-
}
private void validateToscaTemplatePayloadName(Wrapper<Response> responseWrapper, UploadResourceInfo uploadResourceInfo, User user) {
@@ -521,7 +488,8 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
return isValidSuffix;
}
- private void validateMD5(Wrapper<Response> responseWrapper, User user, UploadResourceInfo resourceInfo, HttpServletRequest request, String resourceInfoJsonString) {
+ private void validateMD5(Wrapper<Response> responseWrapper, User user, UploadResourceInfo resourceInfo, HttpServletRequest request,
+ String resourceInfoJsonString) {
boolean isValid;
String recievedMD5 = request.getHeader(Constants.MD5_HEADER);
if (recievedMD5 == null) {
@@ -552,12 +520,12 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
throw new ByActionStatusComponentException(ActionStatus.UNSUPPORTED_ERROR, componentType);
}
-
ComponentTypeEnum convertToComponentType(String componentType) {
return validateComponentType(componentType);
}
- private void fillToscaTemplateFromJson(Wrapper<Response> responseWrapper, Wrapper<String> yamlStringWrapper, User user, UploadResourceInfo resourceInfo) {
+ private void fillToscaTemplateFromJson(Wrapper<Response> responseWrapper, Wrapper<String> yamlStringWrapper, User user,
+ UploadResourceInfo resourceInfo) {
if (resourceInfo.getPayloadData() == null || resourceInfo.getPayloadData().isEmpty()) {
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.INVALID_RESOURCE_PAYLOAD);
Response errorResponse = buildErrorResponse(responseFormat);
@@ -568,94 +536,77 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
String decodedPayload = new String(Base64.decodeBase64(toscaPayload));
yamlStringWrapper.setInnerElement(decodedPayload);
}
-
}
- void fillPayload(Wrapper<Response> responseWrapper, Wrapper<UploadResourceInfo> uploadResourceInfoWrapper, Wrapper<String> yamlStringWrapper, User user, String resourceInfoJsonString, ResourceAuthorityTypeEnum resourceAuthorityEnum,
- File file) throws ZipException {
-
+ void fillPayload(Wrapper<Response> responseWrapper, Wrapper<UploadResourceInfo> uploadResourceInfoWrapper, Wrapper<String> yamlStringWrapper,
+ User user, String resourceInfoJsonString, ResourceAuthorityTypeEnum resourceAuthorityEnum, File file) throws ZipException {
if (responseWrapper.isEmpty()) {
if (resourceAuthorityEnum.isBackEndImport()) {
// PrePayload Validations
if (responseWrapper.isEmpty()) {
validateDataNotNull(responseWrapper, file, resourceInfoJsonString);
}
- if(!resourceAuthorityEnum.equals(ResourceAuthorityTypeEnum.CSAR_TYPE_BE)){
+ if (!resourceAuthorityEnum.equals(ResourceAuthorityTypeEnum.CSAR_TYPE_BE)) {
if (responseWrapper.isEmpty()) {
validateZip(responseWrapper, file, uploadResourceInfoWrapper.getInnerElement().getPayloadName());
}
-
// Fill PayLoad From File
if (responseWrapper.isEmpty()) {
fillToscaTemplateFromZip(yamlStringWrapper, uploadResourceInfoWrapper.getInnerElement().getPayloadName(), file);
}
- }else{
-
+ } else {
if (responseWrapper.isEmpty()) {
validateCsar(responseWrapper, file, uploadResourceInfoWrapper.getInnerElement().getPayloadName());
}
-
// Fill PayLoad From File
if (responseWrapper.isEmpty()) {
fillPayloadDataFromFile(responseWrapper, uploadResourceInfoWrapper.getInnerElement(), file);
}
-
}
-
} else {
// Fill PayLoad From JSON
if (responseWrapper.isEmpty()) {
fillToscaTemplateFromJson(responseWrapper, yamlStringWrapper, user, uploadResourceInfoWrapper.getInnerElement());
}
}
-
}
-
}
protected void specificResourceAuthorityValidations(final Wrapper<Response> responseWrapper,
final Wrapper<UploadResourceInfo> uploadResourceInfoWrapper,
- final Wrapper<String> yamlStringWrapper, final User user,
- final HttpServletRequest request, final String resourceInfoJsonString,
- final ResourceAuthorityTypeEnum resourceAuthorityEnum) {
-
+ final Wrapper<String> yamlStringWrapper, final User user, final HttpServletRequest request,
+ final String resourceInfoJsonString, final ResourceAuthorityTypeEnum resourceAuthorityEnum) {
if (responseWrapper.isEmpty()) {
// UI Only Validation
if (!resourceAuthorityEnum.isBackEndImport()) {
importUIValidations(responseWrapper, uploadResourceInfoWrapper.getInnerElement(), user, request, resourceInfoJsonString);
}
-
// User Defined Type Resources
- if (resourceAuthorityEnum.isUserTypeResource()
- && !CsarValidationUtils.isCsarPayloadName(uploadResourceInfoWrapper.getInnerElement().getPayloadName())
- && responseWrapper.isEmpty()) {
- validatePayloadNameSpace(responseWrapper, uploadResourceInfoWrapper.getInnerElement(), user, yamlStringWrapper.getInnerElement());
+ if (resourceAuthorityEnum.isUserTypeResource() && !CsarValidationUtils
+ .isCsarPayloadName(uploadResourceInfoWrapper.getInnerElement().getPayloadName()) && responseWrapper.isEmpty()) {
+ validatePayloadNameSpace(responseWrapper, uploadResourceInfoWrapper.getInnerElement(), user, yamlStringWrapper.getInnerElement());
}
}
}
- void commonGeneralValidations(Wrapper<Response> responseWrapper, Wrapper<User> userWrapper, Wrapper<UploadResourceInfo> uploadResourceInfoWrapper, ResourceAuthorityTypeEnum resourceAuthorityEnum, String userId,
- String resourceInfoJsonString) {
-
+ void commonGeneralValidations(Wrapper<Response> responseWrapper, Wrapper<User> userWrapper, Wrapper<UploadResourceInfo> uploadResourceInfoWrapper,
+ ResourceAuthorityTypeEnum resourceAuthorityEnum, String userId, String resourceInfoJsonString) {
if (responseWrapper.isEmpty()) {
validateUserExist(responseWrapper, userWrapper, userId);
}
-
if (responseWrapper.isEmpty()) {
validateUserRole(responseWrapper, userWrapper.getInnerElement(), resourceAuthorityEnum);
}
-
if (responseWrapper.isEmpty()) {
- validateAndFillResourceJson(responseWrapper, uploadResourceInfoWrapper, userWrapper.getInnerElement(), resourceAuthorityEnum, resourceInfoJsonString);
+ validateAndFillResourceJson(responseWrapper, uploadResourceInfoWrapper, userWrapper.getInnerElement(), resourceAuthorityEnum,
+ resourceInfoJsonString);
}
-
if (responseWrapper.isEmpty()) {
validateToscaTemplatePayloadName(responseWrapper, uploadResourceInfoWrapper.getInnerElement(), userWrapper.getInnerElement());
}
if (responseWrapper.isEmpty()) {
validateResourceType(responseWrapper, uploadResourceInfoWrapper.getInnerElement(), userWrapper.getInnerElement());
}
-
}
private void validateResourceType(Wrapper<Response> responseWrapper, UploadResourceInfo uploadResourceInfo, User user) {
@@ -668,7 +619,8 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
}
}
- private void importUIValidations(Wrapper<Response> responseWrapper, UploadResourceInfo resourceInfo, User user, HttpServletRequest request, String resourceInfoJsonString) {
+ private void importUIValidations(Wrapper<Response> responseWrapper, UploadResourceInfo resourceInfo, User user, HttpServletRequest request,
+ String resourceInfoJsonString) {
if (responseWrapper.isEmpty()) {
validateMD5(responseWrapper, user, resourceInfo, request, resourceInfoJsonString);
}
@@ -677,8 +629,8 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
}
}
- void commonPayloadValidations(Wrapper<Response> responseWrapper, Wrapper<String> yamlStringWrapper, User user, UploadResourceInfo uploadResourceInfo) {
-
+ void commonPayloadValidations(Wrapper<Response> responseWrapper, Wrapper<String> yamlStringWrapper, User user,
+ UploadResourceInfo uploadResourceInfo) {
if (responseWrapper.isEmpty()) {
validatePayloadIsYml(responseWrapper, user, uploadResourceInfo, yamlStringWrapper.getInnerElement());
}
@@ -693,8 +645,8 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
}
}
-
- void handleImport(Wrapper<Response> responseWrapper, User user, UploadResourceInfo resourceInfoObject, String yamlAsString, ResourceAuthorityTypeEnum authority, boolean createNewVersion, String resourceUniqueId) {
+ void handleImport(Wrapper<Response> responseWrapper, User user, UploadResourceInfo resourceInfoObject, String yamlAsString,
+ ResourceAuthorityTypeEnum authority, boolean createNewVersion, String resourceUniqueId) {
ImmutablePair<Resource, ActionStatus> createOrUpdateResponse = null;
Response response = null;
Object representation = null;
@@ -707,12 +659,12 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
createOrUpdateResponse = resourceImportManager.importNormativeResource(yamlAsString, resourceInfoObject, user, createNewVersion, true);
} else {
log.debug("import user resource (not normative type)");
- createOrUpdateResponse = resourceImportManager.importUserDefinedResource(yamlAsString, resourceInfoObject, user, false);
+ createOrUpdateResponse = resourceImportManager.importUserDefinedResource(yamlAsString, resourceInfoObject, user, false);
}
- if (createOrUpdateResponse!= null){
+ if (createOrUpdateResponse != null) {
importedResourceStatus = createOrUpdateResponse;
}
- if(importedResourceStatus != null){
+ if (importedResourceStatus != null) {
try {
representation = RepresentationUtils.toRepresentation(importedResourceStatus.left);
} catch (IOException e) {
@@ -723,22 +675,22 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
responseWrapper.setInnerElement(response);
}
- private ImmutablePair<Resource, ActionStatus> importResourceFromUICsar(UploadResourceInfo resourceInfoObject, User user, String resourceUniqueId) {
-
+ private ImmutablePair<Resource, ActionStatus> importResourceFromUICsar(UploadResourceInfo resourceInfoObject, User user,
+ String resourceUniqueId) {
Resource newResource;
ActionStatus actionStatus;
Resource resource = new Resource();
String payloadName = resourceInfoObject.getPayloadName();
fillResourceFromResourceInfoObject(resource, resourceInfoObject);
-
Map<String, byte[]> csarUIPayload = getCsarFromPayload(resourceInfoObject);
getAndValidateCsarYaml(csarUIPayload, resource, user, payloadName);
-
if (resourceUniqueId == null || resourceUniqueId.isEmpty()) {
- newResource = resourceImportManager.getResourceBusinessLogic().createResource(resource, AuditingActionEnum.CREATE_RESOURCE, user, csarUIPayload, payloadName);
+ newResource = resourceImportManager.getResourceBusinessLogic()
+ .createResource(resource, AuditingActionEnum.CREATE_RESOURCE, user, csarUIPayload, payloadName);
actionStatus = ActionStatus.CREATED;
} else {
- newResource = resourceImportManager.getResourceBusinessLogic().validateAndUpdateResourceFromCsar(resource, user, csarUIPayload, payloadName, resourceUniqueId);
+ newResource = resourceImportManager.getResourceBusinessLogic()
+ .validateAndUpdateResourceFromCsar(resource, user, csarUIPayload, payloadName, resourceUniqueId);
actionStatus = ActionStatus.OK;
}
return new ImmutablePair<>(newResource, actionStatus);
@@ -753,39 +705,34 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
}
private void getAndValidateComponentCsarYaml(Map<String, byte[]> csarUIPayload, Component component, User user, String csarUUID) {
-
- Either<ImmutablePair<String, String>, ResponseFormat> getToscaYamlRes = CsarValidationUtils.getToscaYaml(csarUIPayload, csarUUID, getComponentsUtils());
-
+ Either<ImmutablePair<String, String>, ResponseFormat> getToscaYamlRes = CsarValidationUtils
+ .getToscaYaml(csarUIPayload, csarUUID, getComponentsUtils());
if (getToscaYamlRes.isRight()) {
ResponseFormat responseFormat = getToscaYamlRes.right().value();
log.debug("Error when try to get csar toscayamlFile with csar ID {}, error: {}", csarUUID, responseFormat);
if (component instanceof Resource) {
- BeEcompErrorManager.getInstance()
- .logBeDaoSystemError("Creating resource from CSAR: fetching CSAR with id " + csarUUID + " failed");
- getComponentsUtils().auditResource(responseFormat, user, (Resource)component, AuditingActionEnum.CREATE_RESOURCE);
- }else {
- BeEcompErrorManager.getInstance()
- .logBeDaoSystemError("Creating service from CSAR: fetching CSAR with id " + csarUUID + " failed");
+ BeEcompErrorManager.getInstance().logBeDaoSystemError("Creating resource from CSAR: fetching CSAR with id " + csarUUID + " failed");
+ getComponentsUtils().auditResource(responseFormat, user, (Resource) component, AuditingActionEnum.CREATE_RESOURCE);
+ } else {
+ BeEcompErrorManager.getInstance().logBeDaoSystemError("Creating service from CSAR: fetching CSAR with id " + csarUUID + " failed");
}
throwComponentException(responseFormat);
}
String toscaYaml = getToscaYamlRes.left().value().getValue();
-
log.debug("checking tosca template is valid yml");
YamlToObjectConverter yamlConvertor = new YamlToObjectConverter();
boolean isValid = yamlConvertor.isValidYaml(toscaYaml.getBytes());
if (!isValid) {
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.INVALID_YAML_FILE);
if (component instanceof Resource) {
- getComponentsUtils().auditResource(responseFormat, user, (Resource)component, AuditingActionEnum.IMPORT_RESOURCE);
+ getComponentsUtils().auditResource(responseFormat, user, (Resource) component, AuditingActionEnum.IMPORT_RESOURCE);
}
throwComponentException(responseFormat);
}
-
log.debug("checking payload is valid tosca");
Map<String, Object> mappedToscaTemplate = (Map<String, Object>) new Yaml().load(toscaYaml);
- Either<String, ResultStatusEnum> findFirstToscaStringElement = ImportUtils.findFirstToscaStringElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.TOSCA_VERSION);
-
+ Either<String, ResultStatusEnum> findFirstToscaStringElement = ImportUtils
+ .findFirstToscaStringElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.TOSCA_VERSION);
if (findFirstToscaStringElement.isRight()) {
isValid = false;
} else {
@@ -796,12 +743,11 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
isValid = TOSCA_DEFINITION_VERSIONS.contains(defenitionVersionFound);
}
}
-
if (!isValid) {
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.INVALID_TOSCA_TEMPLATE);
if (component instanceof Resource) {
log.debug("enter getAndValidateComponentCsarYaml,component instanceof Resource");
- getComponentsUtils().auditResource(responseFormat, user, (Resource)component, AuditingActionEnum.IMPORT_RESOURCE);
+ getComponentsUtils().auditResource(responseFormat, user, (Resource) component, AuditingActionEnum.IMPORT_RESOURCE);
}
throwComponentException(responseFormat);
}
@@ -810,7 +756,6 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
private void fillResourceFromResourceInfoObject(Resource resource, UploadResourceInfo resourceInfoObject) {
resourceImportManager.populateResourceMetadata(resourceInfoObject, resource);
fillArtifacts(resource, resourceInfoObject);
-
}
private void fillArtifacts(Resource resource, UploadResourceInfo resourceInfoObject) {
@@ -824,7 +769,7 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
}
}
- private void buildArtifactsHM(List<UploadArtifactInfo> artifactList, Map<String, ArtifactDefinition> artifactsHM){
+ private void buildArtifactsHM(List<UploadArtifactInfo> artifactList, Map<String, ArtifactDefinition> artifactsHM) {
for (UploadArtifactInfo artifact : artifactList) {
ArtifactDefinition artifactDef = new ArtifactDefinition();
artifactDef.setArtifactName(artifact.getArtifactName());
@@ -839,22 +784,19 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
private Map<String, byte[]> getCsarFromPayload(UploadResourceInfo innerElement) {
String csarUUID = innerElement.getPayloadName();
String payloadData = innerElement.getPayloadData();
-
return getComponentCsarFromPayload(csarUUID, payloadData);
}
- private Map<String, byte[]> getComponentCsarFromPayload(String csarUUID, String payloadData){
+ private Map<String, byte[]> getComponentCsarFromPayload(String csarUUID, String payloadData) {
if (payloadData == null) {
log.info("Failed to decode received csar {}", csarUUID);
throw new ByActionStatusComponentException(ActionStatus.CSAR_NOT_FOUND, csarUUID);
}
-
byte[] decodedPayload = Base64.decodeBase64(payloadData.getBytes(StandardCharsets.UTF_8));
if (decodedPayload == null) {
log.info("Failed to decode received csar {}", csarUUID);
throw new ByActionStatusComponentException(ActionStatus.CSAR_NOT_FOUND, csarUUID);
}
-
Map<String, byte[]> csar = null;
try {
csar = ZipUtils.readZip(decodedPayload, false);
@@ -873,7 +815,6 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
} else {
dataWrapper.setInnerElement(new String(bytes, StandardCharsets.UTF_8));
}
-
}
<T> void validateClassParse(String data, Wrapper<T> parsedClassWrapper, Supplier<Class<T>> classGen, Wrapper<ResponseFormat> errorWrapper) {
@@ -890,7 +831,8 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
}
}
- void validateComponentInstanceBusinessLogic(HttpServletRequest request, String containerComponentType, Wrapper<ComponentInstanceBusinessLogic> blWrapper, Wrapper<ResponseFormat> errorWrapper) {
+ void validateComponentInstanceBusinessLogic(HttpServletRequest request, String containerComponentType,
+ Wrapper<ComponentInstanceBusinessLogic> blWrapper, Wrapper<ResponseFormat> errorWrapper) {
ServletContext context = request.getSession().getServletContext();
ComponentInstanceBusinessLogic componentInstanceLogic = getComponentInstanceBL(context);
if (componentInstanceLogic == null) {
@@ -915,7 +857,7 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
protected void validateXECOMPInstanceIDHeader(String instanceIdHeader, Wrapper<ResponseFormat> responseWrapper) {
ResponseFormat responseFormat;
- if(StringUtils.isEmpty(instanceIdHeader) ){
+ if (StringUtils.isEmpty(instanceIdHeader)) {
log.debug("Missing X-ECOMP-InstanceID header");
responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.MISSING_X_ECOMP_INSTANCE_ID);
responseWrapper.setInnerElement(responseFormat);
@@ -924,7 +866,7 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
protected void validateHttpCspUserIdHeader(String header, Wrapper<ResponseFormat> responseWrapper) {
ResponseFormat responseFormat;
- if( StringUtils.isEmpty(header)){
+ if (StringUtils.isEmpty(header)) {
log.debug("MissingUSER_ID");
responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.MISSING_USER_ID);
responseWrapper.setInnerElement(responseFormat);
@@ -932,7 +874,6 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
}
<T> Either<T, ResponseFormat> parseToObject(String json, Supplier<Class<T>> classSupplier) {
-
try {
T object = RepresentationUtils.fromRepresentation(json, classSupplier.get());
return Either.left(object);
@@ -953,46 +894,37 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
return Either.right(responseFormat);
}
}
+
protected void validateNotEmptyBody(String data) {
if (StringUtils.isEmpty(data)) {
throw new ByActionStatusComponentException(ActionStatus.MISSING_BODY);
}
}
- protected void commonServiceGeneralValidations(
- Wrapper<Response> responseWrapper, Wrapper<User> userWrapper,
- Wrapper<UploadServiceInfo> uploadServiceInfoWrapper, ServiceAuthorityTypeEnum serviceAuthorityEnum,
- String userUserId,
- String serviceInfoJsonString) {
-
+ protected void commonServiceGeneralValidations(Wrapper<Response> responseWrapper, Wrapper<User> userWrapper,
+ Wrapper<UploadServiceInfo> uploadServiceInfoWrapper, ServiceAuthorityTypeEnum serviceAuthorityEnum,
+ String userUserId, String serviceInfoJsonString) {
if (responseWrapper.isEmpty()) {
validateUserExist(responseWrapper, userWrapper, userUserId);
}
-
if (responseWrapper.isEmpty()) {
validateUserRole(responseWrapper, userWrapper.getInnerElement(), serviceAuthorityEnum);
}
-
if (responseWrapper.isEmpty()) {
- validateAndFillServiceJson(responseWrapper, uploadServiceInfoWrapper, userWrapper.getInnerElement(),
- serviceAuthorityEnum, serviceInfoJsonString);
+ validateAndFillServiceJson(responseWrapper, uploadServiceInfoWrapper, userWrapper.getInnerElement(), serviceAuthorityEnum,
+ serviceInfoJsonString);
}
-
if (responseWrapper.isEmpty()) {
- validateToscaTemplatePayloadName(responseWrapper, uploadServiceInfoWrapper.getInnerElement(),
- userWrapper.getInnerElement());
+ validateToscaTemplatePayloadName(responseWrapper, uploadServiceInfoWrapper.getInnerElement(), userWrapper.getInnerElement());
}
-
}
- protected void validateUserRole(Wrapper<Response> errorResponseWrapper, User user,
- ServiceAuthorityTypeEnum serviceAuthority) {
+ protected void validateUserRole(Wrapper<Response> errorResponseWrapper, User user, ServiceAuthorityTypeEnum serviceAuthority) {
log.debug("validate user role");
if (serviceAuthority == ServiceAuthorityTypeEnum.NORMATIVE_TYPE_BE) {
if (!user.getRole().equals(Role.ADMIN.name())) {
log.info("user is not in appropriate role to perform action");
- ResponseFormat responseFormat =
- getComponentsUtils().getResponseFormat(ActionStatus.RESTRICTED_OPERATION);
+ ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.RESTRICTED_OPERATION);
log.debug("audit before sending response");
Response response = buildErrorResponse(responseFormat);
errorResponseWrapper.setInnerElement(response);
@@ -1000,12 +932,10 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
} else {
validateUserRole(errorResponseWrapper, user);
}
-
}
- protected void validateAndFillServiceJson(Wrapper<Response> responseWrapper,
- Wrapper<UploadServiceInfo> uploadServiceInfoWrapper, User user,
- ServiceAuthorityTypeEnum serviceAuthorityEnum, String serviceInfo) {
+ protected void validateAndFillServiceJson(Wrapper<Response> responseWrapper, Wrapper<UploadServiceInfo> uploadServiceInfoWrapper, User user,
+ ServiceAuthorityTypeEnum serviceAuthorityEnum, String serviceInfo) {
boolean isValid;
try {
log.debug("The received json is {}", serviceInfo);
@@ -1014,25 +944,19 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
isValid = false;
} else {
if (!serviceAuthorityEnum.isBackEndImport()) {
- isValid =
- serviceInfoObject.getPayloadName() != null && !serviceInfoObject.getPayloadName().isEmpty();
+ isValid = serviceInfoObject.getPayloadName() != null && !serviceInfoObject.getPayloadName().isEmpty();
//only service name is checked
} else {
isValid = true;
}
uploadServiceInfoWrapper.setInnerElement(serviceInfoObject);
- log.debug("get isValid:{},serviceInfoObject get name:{},get tags:{},getContactId:{}," +
- " getPayloadName:{}",isValid,
- uploadServiceInfoWrapper.getInnerElement().getName(),
- uploadServiceInfoWrapper.getInnerElement().getTags(),
- uploadServiceInfoWrapper.getInnerElement().getContactId(),
- uploadServiceInfoWrapper.getInnerElement().getPayloadName());
+ log.debug("get isValid:{},serviceInfoObject get name:{},get tags:{},getContactId:{}," + " getPayloadName:{}", isValid,
+ uploadServiceInfoWrapper.getInnerElement().getName(), uploadServiceInfoWrapper.getInnerElement().getTags(),
+ uploadServiceInfoWrapper.getInnerElement().getContactId(), uploadServiceInfoWrapper.getInnerElement().getPayloadName());
}
-
} catch (JsonSyntaxException e) {
log.debug("enter validateAndFillServiceJson,Invalid json was received. {}", e.getMessage(), e);
isValid = false;
-
}
if (!isValid) {
log.info("Invalid json was received.");
@@ -1042,72 +966,60 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
}
}
- protected void validateToscaTemplatePayloadName(Wrapper<Response> responseWrapper,
- UploadServiceInfo uploadServiceInfo, User user) {
+ protected void validateToscaTemplatePayloadName(Wrapper<Response> responseWrapper, UploadServiceInfo uploadServiceInfo, User user) {
String toscaTemplatePayloadName = uploadServiceInfo.getPayloadName();
boolean isValidSuffix = isToscaTemplatePayloadNameValid(responseWrapper, toscaTemplatePayloadName);
if (!isValidSuffix) {
- ResponseFormat responseFormat =
- getComponentsUtils().getResponseFormat(ActionStatus.INVALID_TOSCA_FILE_EXTENSION);
+ ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.INVALID_TOSCA_FILE_EXTENSION);
Response errorResponse = buildErrorResponse(responseFormat);
responseWrapper.setInnerElement(errorResponse);
}
-
}
-
- protected void specificServiceAuthorityValidations(Wrapper<Response> responseWrapper,
- Wrapper<UploadServiceInfo> uploadServiceInfoWrapper, Wrapper<String> yamlStringWrapper, User user,
- HttpServletRequest request, String serviceInfoJsonString, ServiceAuthorityTypeEnum serviceAuthorityEnum)
+ protected void specificServiceAuthorityValidations(Wrapper<Response> responseWrapper, Wrapper<UploadServiceInfo> uploadServiceInfoWrapper,
+ Wrapper<String> yamlStringWrapper, User user, HttpServletRequest request,
+ String serviceInfoJsonString, ServiceAuthorityTypeEnum serviceAuthorityEnum)
throws FileNotFoundException {
-
if (responseWrapper.isEmpty()) {
// UI Only Validation
if (!serviceAuthorityEnum.isBackEndImport()) {
- importUIValidations(responseWrapper, uploadServiceInfoWrapper.getInnerElement(), user, request,
- serviceInfoJsonString);
+ importUIValidations(responseWrapper, uploadServiceInfoWrapper.getInnerElement(), user, request, serviceInfoJsonString);
}
-
// User Defined Type Services
- if (serviceAuthorityEnum.isUserTypeService() && !CsarValidationUtils.isCsarPayloadName(
- uploadServiceInfoWrapper.getInnerElement().getPayloadName())) {
+ if (serviceAuthorityEnum.isUserTypeService() && !CsarValidationUtils
+ .isCsarPayloadName(uploadServiceInfoWrapper.getInnerElement().getPayloadName())) {
if (responseWrapper.isEmpty()) {
- validatePayloadNameSpace(responseWrapper, uploadServiceInfoWrapper.getInnerElement(), user,
- yamlStringWrapper.getInnerElement());
+ validatePayloadNameSpace(responseWrapper, uploadServiceInfoWrapper.getInnerElement(), user, yamlStringWrapper.getInnerElement());
}
-
}
}
}
- protected void importUIValidations(Wrapper<Response> responseWrapper, UploadServiceInfo serviceInfo, User user,
- HttpServletRequest request, String serviceInfoJsonString) {
+ protected void importUIValidations(Wrapper<Response> responseWrapper, UploadServiceInfo serviceInfo, User user, HttpServletRequest request,
+ String serviceInfoJsonString) {
if (responseWrapper.isEmpty()) {
validateMD5(responseWrapper, user, serviceInfo, request, serviceInfoJsonString);
}
- if (responseWrapper.isEmpty() && request != null && request.getMethod() != null && request.getMethod()
- .equals("POST")) {
+ if (responseWrapper.isEmpty() && request != null && request.getMethod() != null && request.getMethod().equals("POST")) {
validateServiceDoesNotExist(responseWrapper, user, serviceInfo.getName());
}
}
- protected void validatePayloadNameSpace(Wrapper<Response> responseWrapper, UploadServiceInfo serviceInfo, User user,
- String toscaPayload) {
+ protected void validatePayloadNameSpace(Wrapper<Response> responseWrapper, UploadServiceInfo serviceInfo, User user, String toscaPayload) {
boolean isValid;
String nameSpace = "";
Map<String, Object> mappedToscaTemplate = (Map<String, Object>) new Yaml().load(toscaPayload);
- Either<Map<String, Object>, ResultStatusEnum> toscaElement =
- ImportUtils.findFirstToscaMapElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.NODE_TYPES);
+ Either<Map<String, Object>, ResultStatusEnum> toscaElement = ImportUtils
+ .findFirstToscaMapElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.NODE_TYPES);
if (toscaElement.isRight() || toscaElement.left().value().size() != 1) {
isValid = false;
} else {
nameSpace = toscaElement.left().value().keySet().iterator().next();
isValid = nameSpace.startsWith(Constants.USER_DEFINED_SERVICE_NAMESPACE_PREFIX);
- log.debug("enter validatePayloadNameSpace,get nameSpace:{},get Valid is:{}",nameSpace,isValid);
+ log.debug("enter validatePayloadNameSpace,get nameSpace:{},get Valid is:{}", nameSpace, isValid);
}
if (!isValid) {
- ResponseFormat responseFormat =
- getComponentsUtils().getResponseFormat(ActionStatus.INVALID_SERVICE_NAMESPACE);
+ ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.INVALID_SERVICE_NAMESPACE);
Response errorResponse = buildErrorResponse(responseFormat);
responseWrapper.setInnerElement(errorResponse);
} else {
@@ -1120,11 +1032,10 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
serviceInfo.setServiceType(ResourceTypeEnum.SERVICE.name());
}
}
-
}
- protected void validateMD5(Wrapper<Response> responseWrapper, User user, UploadServiceInfo serviceInfo,
- HttpServletRequest request, String serviceInfoJsonString) {
+ protected void validateMD5(Wrapper<Response> responseWrapper, User user, UploadServiceInfo serviceInfo, HttpServletRequest request,
+ String serviceInfoJsonString) {
boolean isValid;
String recievedMD5 = request.getHeader(Constants.MD5_HEADER);
if (recievedMD5 == null) {
@@ -1134,14 +1045,12 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
isValid = calculateMD5.equals(recievedMD5);
}
if (!isValid) {
- ResponseFormat responseFormat =
- getComponentsUtils().getResponseFormat(ActionStatus.INVALID_SERVICE_CHECKSUM);
+ ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.INVALID_SERVICE_CHECKSUM);
Response errorResponse = buildErrorResponse(responseFormat);
responseWrapper.setInnerElement(errorResponse);
}
}
-
protected void validateServiceDoesNotExist(Wrapper<Response> responseWrapper, User user, String serviceName) {
if (serviceImportManager.isServiceExist(serviceName)) {
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.SERVICE_ALREADY_EXISTS);
@@ -1150,10 +1059,8 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
}
}
- protected void handleImportService(Wrapper<Response> responseWrapper, User user,
- UploadServiceInfo serviceInfoObject, String yamlAsString, ServiceAuthorityTypeEnum authority,
- boolean createNewVersion, String serviceUniqueId) throws ZipException {
-
+ protected void handleImportService(Wrapper<Response> responseWrapper, User user, UploadServiceInfo serviceInfoObject, String yamlAsString,
+ ServiceAuthorityTypeEnum authority, boolean createNewVersion, String serviceUniqueId) throws ZipException {
Response response = null;
Object representation = null;
ImmutablePair<Service, ActionStatus> importedServiceStatus = null;
@@ -1161,57 +1068,45 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
log.debug("import service from csar");
importedServiceStatus = importServiceFromUICsar(serviceInfoObject, user, serviceUniqueId);
}
-
if (importedServiceStatus != null) {
try {
representation = RepresentationUtils.toRepresentation(importedServiceStatus.left);
} catch (IOException e) {
log.debug("Error while building service representation : {}", e.getMessage(), e);
}
- response = buildOkResponse(getComponentsUtils().getResponseFormat(importedServiceStatus.right),
- representation);
+ response = buildOkResponse(getComponentsUtils().getResponseFormat(importedServiceStatus.right), representation);
}
responseWrapper.setInnerElement(response);
}
- private ImmutablePair<Service, ActionStatus> importServiceFromUICsar(UploadServiceInfo serviceInfoObject, User user,
- String serviceUniqueId) throws ZipException {
-
+ private ImmutablePair<Service, ActionStatus> importServiceFromUICsar(UploadServiceInfo serviceInfoObject, User user, String serviceUniqueId)
+ throws ZipException {
Service newService;
ImmutablePair<Service, ActionStatus> result = null;
ActionStatus actionStatus;
Service service = new Service();
String payloadName = serviceInfoObject.getPayloadName();
fillServiceFromServiceInfoObject(service, serviceInfoObject);
-
Map<String, byte[]> csarUIPayloadRes = getCsarFromPayload(serviceInfoObject);
-
getAndValidateCsarYaml(csarUIPayloadRes, service, user, payloadName);
-
newService = serviceImportManager.getServiceImportBusinessLogic()
- .createService(service, AuditingActionEnum.CREATE_SERVICE, user, csarUIPayloadRes,
- payloadName);
+ .createService(service, AuditingActionEnum.CREATE_SERVICE, user, csarUIPayloadRes, payloadName);
actionStatus = ActionStatus.CREATED;
-
return new ImmutablePair<>(newService, actionStatus);
}
-
private void fillServiceFromServiceInfoObject(Service service, UploadServiceInfo serviceInfoObject) {
serviceImportManager.populateServiceMetadata(serviceInfoObject, service);
fillArtifacts(service, serviceInfoObject);
-
}
- private Map<String, byte[]> getCsarFromPayload(UploadServiceInfo innerElement)
- throws ZipException {
+ private Map<String, byte[]> getCsarFromPayload(UploadServiceInfo innerElement) throws ZipException {
String csarUUID = innerElement.getPayloadName();
String payloadData = innerElement.getPayloadData();
return getComponentCsarFromPayload(csarUUID, payloadData);
}
- private void getAndValidateCsarYaml(Map<String, byte[]> csarUIPayload, Service service, User user,
- String csarUUID) {
+ private void getAndValidateCsarYaml(Map<String, byte[]> csarUIPayload, Service service, User user, String csarUUID) {
getAndValidateComponentCsarYaml(csarUIPayload, service, user, csarUUID);
}
@@ -1225,8 +1120,10 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
}
}
}
+
/**
* import service payload to postman
+ *
* @param responseWrapper
* @param uploadServiceInfoWrapper
* @param yamlStringWrapper
@@ -1236,8 +1133,9 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
* @param file
* @throws ZipException
*/
- protected void fillServicePayload(Wrapper<Response> responseWrapper, Wrapper<UploadServiceInfo> uploadServiceInfoWrapper, Wrapper<String> yamlStringWrapper, User user, String serviceInfoJsonString, ServiceAuthorityTypeEnum serviceAuthorityEnum,
- File file) throws ZipException {
+ protected void fillServicePayload(Wrapper<Response> responseWrapper, Wrapper<UploadServiceInfo> uploadServiceInfoWrapper,
+ Wrapper<String> yamlStringWrapper, User user, String serviceInfoJsonString,
+ ServiceAuthorityTypeEnum serviceAuthorityEnum, File file) throws ZipException {
log.debug("enter fillServicePayload");
if (responseWrapper.isEmpty()) {
log.debug("enter fillServicePayload,get responseWrapper is empty");
@@ -1246,20 +1144,18 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
if (responseWrapper.isEmpty()) {
validateDataNotNull(responseWrapper, file, serviceInfoJsonString);
}
- if (responseWrapper.isEmpty()){
+ if (responseWrapper.isEmpty()) {
log.debug("enter fillServicePayload,responseWrapper is empty");
}
- if(!serviceAuthorityEnum.equals(ServiceAuthorityTypeEnum.CSAR_TYPE_BE)){
+ if (!serviceAuthorityEnum.equals(ServiceAuthorityTypeEnum.CSAR_TYPE_BE)) {
if (responseWrapper.isEmpty()) {
validateZip(responseWrapper, file, uploadServiceInfoWrapper.getInnerElement().getPayloadName());
}
-
// Fill PayLoad From File
if (responseWrapper.isEmpty()) {
fillToscaTemplateFromZip(yamlStringWrapper, uploadServiceInfoWrapper.getInnerElement().getPayloadName(), file);
}
- }else{
-
+ } else {
log.debug("enter fillServicePayload,ServiceAuthorityTypeEnum is CSAR_TYPE_BE");
if (responseWrapper.isEmpty()) {
validateCsar(responseWrapper, file, uploadServiceInfoWrapper.getInnerElement().getPayloadName());
@@ -1271,50 +1167,41 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
if (responseWrapper.isEmpty()) {
fillServicePayloadDataFromFile(responseWrapper, uploadServiceInfoWrapper.getInnerElement(), file);
}
-
}
-
} else {
// Fill PayLoad From JSON
if (responseWrapper.isEmpty()) {
fillServiceToscaTemplateFromJson(responseWrapper, yamlStringWrapper, user, uploadServiceInfoWrapper.getInnerElement());
}
}
-
}
-
}
- protected void fillServicePayloadDataFromFile(Wrapper<Response> responseWrapper, UploadServiceInfo uploadServiceInfoWrapper, File file) {
- try(InputStream fileInputStream = new FileInputStream(file)){
-
+ protected void fillServicePayloadDataFromFile(Wrapper<Response> responseWrapper, UploadServiceInfo uploadServiceInfoWrapper, File file) {
+ try (InputStream fileInputStream = new FileInputStream(file)) {
log.debug("enter fillServicePayloadDataFromFile");
- byte [] data = new byte[(int)file.length()];
- if( fileInputStream.read(data) == -1){
+ byte[] data = new byte[(int) file.length()];
+ if (fileInputStream.read(data) == -1) {
log.info("Invalid json was received.");
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT);
-
Response errorResp = buildErrorResponse(responseFormat);
responseWrapper.setInnerElement(errorResp);
}
- String payloadData = Base64.encodeBase64String(data);
+ String payloadData = Base64.encodeBase64String(data);
uploadServiceInfoWrapper.setPayloadData(payloadData);
- log.debug("enter fillServicePayloadDataFromFile,get payloadData:{}",
- uploadServiceInfoWrapper.getPayloadData());
-
- log.debug("enter fillServicePayloadDataFromFile,get uploadService:{}",uploadServiceInfoWrapper);
-
+ log.debug("enter fillServicePayloadDataFromFile,get payloadData:{}", uploadServiceInfoWrapper.getPayloadData());
+ log.debug("enter fillServicePayloadDataFromFile,get uploadService:{}", uploadServiceInfoWrapper);
} catch (IOException e) {
log.info("Invalid json was received or Error while closing input Stream.");
log.debug("Invalid json was received or Error while closing input Stream. {}", e.getMessage(), e);
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT);
-
Response errorResp = buildErrorResponse(responseFormat);
responseWrapper.setInnerElement(errorResp);
}
}
- private void fillServiceToscaTemplateFromJson(Wrapper<Response> responseWrapper, Wrapper<String> yamlStringWrapper, User user, UploadServiceInfo serviceInfo) {
+ private void fillServiceToscaTemplateFromJson(Wrapper<Response> responseWrapper, Wrapper<String> yamlStringWrapper, User user,
+ UploadServiceInfo serviceInfo) {
if (serviceInfo.getPayloadData() == null || serviceInfo.getPayloadData().isEmpty()) {
ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.INVALID_RESOURCE_PAYLOAD);
Response errorResponse = buildErrorResponse(responseFormat);
@@ -1326,5 +1213,4 @@ public abstract class AbstractValidationsServlet extends BeGenericServlet {
yamlStringWrapper.setInnerElement(decodedPayload);
}
}
-
}