import org.openecomp.config.api.Configuration;
import org.openecomp.config.api.ConfigurationManager;
import org.openecomp.core.utilities.CommonMethods;
+import org.openecomp.sdc.common.errors.CoreException;
import org.openecomp.sdc.datatypes.configuration.ImplementationConfiguration;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.errors.OrchestrationTemplateFileExtensionErrorBuilder;
import java.util.Map;
+import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import static org.openecomp.sdc.vendorsoftwareproduct.impl.orchestration.OrchestrationUtil.ORCHESTRATION_CONFIG_NAMESPACE;
}
public static final OrchestrationTemplateFileHandler createOrchestrationTemplateFileHandler(String filePrefix) {
- ImplementationConfiguration orchestrationTemplateFileHandler = fileHanlders.get(filePrefix);
+ String fileExtension = filePrefix.toLowerCase();
+ ImplementationConfiguration orchestrationTemplateFileHandler = fileHanlders.get(fileExtension);
+
+ if(Objects.isNull(orchestrationTemplateFileHandler)){
+ throw new CoreException(new OrchestrationTemplateFileExtensionErrorBuilder
+ ().build());
+ }
+
return CommonMethods.newInstance(orchestrationTemplateFileHandler.getImplementationClass(),
OrchestrationTemplateFileHandler.class);
}
--- /dev/null
+package org.openecomp.sdc.vendorsoftwareproduct.dao.errors;
+
+import org.openecomp.sdc.common.errors.ErrorCategory;
+import org.openecomp.sdc.common.errors.ErrorCode;
+
+import static org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes.INVALID_EXTENSION;
+
+public class OrchestrationTemplateFileExtensionErrorBuilder {
+ private static final String INVALID_EXTENSION_MSG = "Invalid file extension. Valid extensions " +
+ "are : zip, csar.";
+ private final ErrorCode.ErrorCodeBuilder builder = new ErrorCode.ErrorCodeBuilder();
+
+ public OrchestrationTemplateFileExtensionErrorBuilder(){
+ builder.withId(INVALID_EXTENSION);
+ builder.withCategory(ErrorCategory.APPLICATION);
+ builder.withMessage(String.format(INVALID_EXTENSION_MSG));
+ }
+
+ public ErrorCode build() {
+ return builder.build();
+ }
+}