aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/util/VendorSoftwareProductUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/util/VendorSoftwareProductUtils.java')
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/util/VendorSoftwareProductUtils.java254
1 files changed, 0 insertions, 254 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/util/VendorSoftwareProductUtils.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/util/VendorSoftwareProductUtils.java
deleted file mode 100644
index 62e8dd8b87..0000000000
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/util/VendorSoftwareProductUtils.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*-
- * ============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.sdc.vendorsoftwareproduct.util;
-
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.MapUtils;
-import org.openecomp.core.enrichment.types.ComponentArtifactType;
-import org.openecomp.core.translator.api.HeatToToscaTranslator;
-import org.openecomp.core.translator.datatypes.TranslatorOutput;
-import org.openecomp.core.translator.factory.HeatToToscaTranslatorFactory;
-import org.openecomp.core.utilities.file.FileContentHandler;
-import org.openecomp.core.utilities.file.FileUtils;
-import org.openecomp.core.validation.errors.Messages;
-import org.openecomp.core.validation.types.MessageContainerUtil;
-import org.openecomp.sdc.common.errors.CoreException;
-import org.openecomp.sdc.common.errors.ErrorCategory;
-import org.openecomp.sdc.common.errors.ErrorCode;
-import org.openecomp.sdc.common.utils.AsdcCommon;
-import org.openecomp.sdc.datatypes.error.ErrorMessage;
-import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree;
-import org.openecomp.sdc.heat.datatypes.structure.ValidationStructureList;
-import org.openecomp.sdc.heat.services.tree.HeatTreeManager;
-import org.openecomp.sdc.heat.services.tree.HeatTreeManagerUtil;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentArtifactEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.types.UploadFileResponse;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-
-/**
- * The type Vendor software product utils.
- */
-public class VendorSoftwareProductUtils {
-
- private static org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDao
- vendorSoftwareProductDao =
- VendorSoftwareProductDaoFactory.getInstance().createInterface();
-
- /**
- * Load upload file content file content handler.
- *
- * @param uploadedFileData the uploaded file data
- * @return the file content handler
- * @throws IOException the io exception
- */
- public static FileContentHandler loadUploadFileContent(byte[] uploadedFileData)
- throws IOException {
- return getFileContentMapFromZip(uploadedFileData);
- }
-
- private static FileContentHandler getFileContentMapFromZip(byte[] uploadFileData)
- throws IOException, CoreException {
- ZipEntry zipEntry;
- List<String> folderList = new ArrayList<>();
- FileContentHandler mapFileContent = new FileContentHandler();
- try {
- ZipInputStream inputZipStream;
-
- byte[] fileByteContent;
- String currentEntryName;
- inputZipStream = new ZipInputStream(new ByteArrayInputStream(uploadFileData));
-
- while ((zipEntry = inputZipStream.getNextEntry()) != null) {
- currentEntryName = zipEntry.getName();
- // else, get the file content (as byte array) and save it in a map.
- fileByteContent = FileUtils.toByteArray(inputZipStream);
-
- int index = lastIndexFileSeparatorIndex(currentEntryName);
- String currSubstringWithoutSeparator =
- currentEntryName.substring(index + 1, currentEntryName.length());
- if (index != -1) { //todo ?
- folderList.add(currentEntryName);
- } else {
- mapFileContent.addFile(currentEntryName, fileByteContent);
- }
-
- }
-
- } catch (RuntimeException e0) {
- throw new IOException(e0);
- }
-
- if (CollectionUtils.isNotEmpty(folderList)) {
- throw new CoreException((new ErrorCode.ErrorCodeBuilder())
- .withMessage(Messages.ZIP_SHOULD_NOT_CONTAIN_FOLDERS.getErrorMessage())
- .withId(Messages.ZIP_SHOULD_NOT_CONTAIN_FOLDERS.getErrorMessage())
- .withCategory(ErrorCategory.APPLICATION).build());
- }
-
- return mapFileContent;
- }
-
- /**
- * Load and translate template data translator output.
- *
- * @param fileNameContentMap the file name content map
- * @return the translator output
- */
- public static TranslatorOutput loadAndTranslateTemplateData(
- FileContentHandler fileNameContentMap) {
- HeatToToscaTranslator heatToToscaTranslator =
- HeatToToscaTranslatorFactory.getInstance().createInterface();
- InputStream fileContent = fileNameContentMap.getFileContent(AsdcCommon.MANIFEST_NAME);
-
- heatToToscaTranslator.addManifest(AsdcCommon.MANIFEST_NAME, FileUtils.toByteArray(fileContent));
-
- fileNameContentMap.getFileList().stream()
- .filter(fileName -> !(fileName.equals(AsdcCommon.MANIFEST_NAME))).forEach(
- fileName -> heatToToscaTranslator
- .addFile(fileName, FileUtils.toByteArray(fileNameContentMap.getFileContent(fileName))));
-
- Map<String, List<ErrorMessage>> errors = heatToToscaTranslator.validate();
- if (MapUtils.isNotEmpty(MessageContainerUtil.getMessageByLevel(
- org.openecomp.sdc.datatypes.error.ErrorLevel.ERROR, errors))) {
- TranslatorOutput translatorOutput = new TranslatorOutput();
- translatorOutput.setErrorMessages(errors);
- return translatorOutput;
- }
-
- InputStream structureFile = getHeatStructureTreeFile(fileNameContentMap);
- heatToToscaTranslator.addExternalArtifacts(AsdcCommon.HEAT_META, structureFile);
- return heatToToscaTranslator.translate();
- }
-
- private static InputStream getHeatStructureTreeFile(FileContentHandler fileNameContentMap) {
- HeatTreeManager heatTreeManager = HeatTreeManagerUtil.initHeatTreeManager(fileNameContentMap);
- heatTreeManager.createTree();
- HeatStructureTree tree = heatTreeManager.getTree();
- ValidationStructureList validationStructureList = new ValidationStructureList(tree);
- return FileUtils.convertToInputStream(validationStructureList, FileUtils.FileExtension.JSON);
- }
-
-
- private static int lastIndexFileSeparatorIndex(String filePath) {
- int length = filePath.length() - 1;
-
- for (int i = length; i >= 0; i--) {
- char currChar = filePath.charAt(i);
- if (currChar == '/' || currChar == File.separatorChar || currChar == File.pathSeparatorChar) {
- return i;
- }
- }
- // if we've reached to the start of the string and didn't find file separator - return -1
- return -1;
- }
-
- /**
- * Add file names to upload file response.
- *
- * @param fileContentMap the file content map
- * @param uploadFileResponse the upload file response
- */
- public static void addFileNamesToUploadFileResponse(FileContentHandler fileContentMap,
- UploadFileResponse uploadFileResponse) {
- uploadFileResponse.setFileNames(new ArrayList<>());
- for (String filename : fileContentMap.getFileList()) {
- if (!new File(filename).isDirectory()) {
- uploadFileResponse.addNewFileToList(filename);
- }
- }
- uploadFileResponse.removeFileFromList(AsdcCommon.MANIFEST_NAME);
- }
-
- /**
- * Validate raw zip data.
- *
- * @param uploadedFileData the uploaded file data
- * @param errors the errors
- */
- public static void validateRawZipData(byte[] uploadedFileData,
- Map<String, List<ErrorMessage>> errors) {
- if (uploadedFileData.length == 0) {
- ErrorMessage.ErrorMessageUtil.addMessage(AsdcCommon.UPLOAD_FILE, errors).add(
- new ErrorMessage(org.openecomp.sdc.datatypes.error.ErrorLevel.ERROR,
- Messages.NO_ZIP_FILE_WAS_UPLOADED_OR_ZIP_NOT_EXIST.getErrorMessage()));
- }
- }
-
- /**
- * Validate content zip data.
- *
- * @param contentMap the content map
- * @param errors the errors
- */
- public static void validateContentZipData(FileContentHandler contentMap,
- Map<String, List<ErrorMessage>> errors) {
- if (contentMap == null) {
- ErrorMessage.ErrorMessageUtil.addMessage(AsdcCommon.UPLOAD_FILE, errors).add(
- new ErrorMessage(org.openecomp.sdc.datatypes.error.ErrorLevel.ERROR,
- Messages.ZIP_SHOULD_NOT_CONTAIN_FOLDERS.getErrorMessage()));
-
- } else if (contentMap.getFileList().size() == 0) {
- ErrorMessage.ErrorMessageUtil.addMessage(AsdcCommon.UPLOAD_FILE, errors)
- .add(new ErrorMessage(org.openecomp.sdc.datatypes.error.ErrorLevel.ERROR,
- Messages.INVALID_ZIP_FILE.getErrorMessage()));
- }
- }
-
-
- /**
- * Filter non trap or poll artifacts map.
- *
- * @param artifacts the artifacts
- * @return the map
- */
- public static Map<ComponentArtifactType, String> filterNonTrapOrPollArtifacts(
- Collection<ComponentArtifactEntity> artifacts) {
- Map<ComponentArtifactType, String> artifactTypeToFilename = new HashMap<>();
-
- for (ComponentArtifactEntity entity : artifacts) {
- if (isTrapOrPoll(entity.getType())) {
- artifactTypeToFilename.put(entity.getType(), entity.getArtifactName());
- }
- }
-
- return artifactTypeToFilename;
- }
-
-
- private static boolean isTrapOrPoll(ComponentArtifactType type) {
- return type.equals(ComponentArtifactType.SNMP_POLL)
- || type.equals(ComponentArtifactType.SNMP_TRAP);
- }
-
-
-}