Create new VSP, onboard from TOSCA file - UI
[sdc.git] / openecomp-be / backend / openecomp-sdc-vendor-software-product-manager / src / main / java / org / openecomp / sdc / vendorsoftwareproduct / impl / orchestration / OrchestrationTemplateZipHandler.java
1 package org.openecomp.sdc.vendorsoftwareproduct.impl.orchestration;
2
3 import org.openecomp.core.utilities.file.FileContentHandler;
4 import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
5 import org.openecomp.sdc.common.errors.Messages;
6 import org.openecomp.sdc.common.utils.SdcCommon;
7 import org.openecomp.sdc.datatypes.error.ErrorLevel;
8 import org.openecomp.sdc.datatypes.error.ErrorMessage;
9 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData;
10 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
11 import org.openecomp.sdc.vendorsoftwareproduct.services.filedatastructuremodule.CandidateService;
12 import org.openecomp.sdc.vendorsoftwareproduct.services.utils.CandidateEntityBuilder;
13 import org.openecomp.sdc.vendorsoftwareproduct.types.UploadFileResponse;
14
15 import java.util.Optional;
16
17 import static org.openecomp.core.validation.errors.ErrorMessagesFormatBuilder.getErrorWithParameters;
18 public class OrchestrationTemplateZipHandler extends BaseOrchestrationTemplateHandler
19         implements OrchestrationTemplateFileHandler {
20
21     @Override
22     public  Optional<FileContentHandler> getFileContentMap(UploadFileResponse uploadFileResponse,
23                                                            byte[] uploadedFileData) {
24        return   OrchestrationUtil.getFileContentMap(OnboardingTypesEnum.ZIP, uploadFileResponse, uploadedFileData);
25     }
26
27     @Override
28     protected boolean updateCandidateData(String vspId, String user, CandidateService candidateService,
29                                           VspDetails vspDetails, UploadFileResponse uploadFileResponse,
30                                           byte[] uploadedFileData, Optional<FileContentHandler> optionalContentMap) {
31         try {
32             OrchestrationTemplateCandidateData candidateData =
33                     new CandidateEntityBuilder(candidateService)
34                             .buildCandidateEntityFromZip(vspDetails, uploadedFileData, optionalContentMap.get(),
35                                     uploadFileResponse.getErrors(), user);
36             candidateService.updateCandidateUploadData(candidateData, vspDetails.getId());
37         } catch (Exception exception) {
38             logger.error(getErrorWithParameters(Messages.FILE_CONTENT_MAP.getErrorMessage(),
39                     getHandlerType().toString()),exception);
40             uploadFileResponse
41                     .addStructureError(
42                             SdcCommon.UPLOAD_FILE,
43                             new ErrorMessage(ErrorLevel.ERROR, exception.getMessage()));
44
45             mdcDataDebugMessage.debugExitMessage("VSP id", vspId);
46             return true;
47         }
48         return false;
49     }
50
51     @Override
52     protected OnboardingTypesEnum getHandlerType() {
53         return OnboardingTypesEnum.ZIP;
54     }
55 }