summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/BeGenericServlet.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/servlets/BeGenericServlet.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/servlets/BeGenericServlet.java96
1 files changed, 42 insertions, 54 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/BeGenericServlet.java b/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/BeGenericServlet.java
index 382e01c60a..1b8ed5fab6 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/BeGenericServlet.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/BeGenericServlet.java
@@ -42,12 +42,11 @@ import org.openecomp.sdc.be.components.impl.ComponentBusinessLogic;
import org.openecomp.sdc.be.components.impl.ComponentInstanceBusinessLogic;
import org.openecomp.sdc.be.components.impl.ElementBusinessLogic;
import org.openecomp.sdc.be.components.impl.GenericArtifactBrowserBusinessLogic;
-import org.openecomp.sdc.be.components.impl.GroupBusinessLogic;
import org.openecomp.sdc.be.components.impl.InputsBusinessLogic;
import org.openecomp.sdc.be.components.impl.InterfaceOperationBusinessLogic;
+import org.openecomp.sdc.be.components.impl.OutputsBusinessLogic;
import org.openecomp.sdc.be.components.impl.PolicyBusinessLogic;
import org.openecomp.sdc.be.components.impl.ProductBusinessLogic;
-import org.openecomp.sdc.be.components.impl.PropertyBusinessLogic;
import org.openecomp.sdc.be.components.impl.RelationshipTypeBusinessLogic;
import org.openecomp.sdc.be.components.impl.RequirementBusinessLogic;
import org.openecomp.sdc.be.components.impl.ResourceBusinessLogic;
@@ -242,31 +241,17 @@ public class BeGenericServlet extends BasicServlet {
return getClassFromWebAppContext(context, () -> LifecycleBusinessLogic.class);
}
- <T> T getClassFromWebAppContext(ServletContext context, Supplier<Class<T>> businessLogicClassGen) {
- WebAppContextWrapper webApplicationContextWrapper = (WebAppContextWrapper) context.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR);
- WebApplicationContext webApplicationContext = webApplicationContextWrapper.getWebAppContext(context);
- return webApplicationContext.getBean(businessLogicClassGen.get());
+ <T> T getClassFromWebAppContext(final ServletContext context, final Supplier<Class<T>> businessLogicClassGen) {
+ return getWebAppContext(context).getBean(businessLogicClassGen.get());
}
- GroupBusinessLogic getGroupBL(ServletContext context) {
-
- WebAppContextWrapper webApplicationContextWrapper = (WebAppContextWrapper) context.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR);
- WebApplicationContext webApplicationContext = webApplicationContextWrapper.getWebAppContext(context);
- return webApplicationContext.getBean(GroupBusinessLogic.class);
- }
-
- protected ComponentInstanceBusinessLogic getComponentInstanceBL(ServletContext context) {
- WebAppContextWrapper webApplicationContextWrapper = (WebAppContextWrapper) context.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR);
- WebApplicationContext webApplicationContext = webApplicationContextWrapper.getWebAppContext(context);
- return webApplicationContext.getBean(ComponentInstanceBusinessLogic.class);
+ protected ComponentInstanceBusinessLogic getComponentInstanceBL(final ServletContext context) {
+ return getClassFromWebAppContext(context, () -> ComponentInstanceBusinessLogic.class);
}
protected ComponentsUtils getComponentsUtils() {
- ServletContext context = this.servletRequest.getSession().getServletContext();
-
- WebAppContextWrapper webApplicationContextWrapper = (WebAppContextWrapper) context.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR);
- WebApplicationContext webApplicationContext = webApplicationContextWrapper.getWebAppContext(context);
- return webApplicationContext.getBean(ComponentsUtils.class);
+ final ServletContext context = this.servletRequest.getSession().getServletContext();
+ return getClassFromWebAppContext(context, () -> ComponentsUtils.class);
}
/**
@@ -289,8 +274,6 @@ public class BeGenericServlet extends BasicServlet {
return new StringBuilder().append("attachment; filename=\"").append(artifactFileName).append("\"").toString();
}
-
-
protected ComponentBusinessLogic getComponentBL(ComponentTypeEnum componentTypeEnum, ServletContext context) {
ComponentBusinessLogic businessLogic;
switch (componentTypeEnum) {
@@ -451,10 +434,8 @@ public class BeGenericServlet extends BasicServlet {
if (either.isRight()) {
return new JSONObject();
}
- String value = either.left().value();
try {
- JSONObject root = (JSONObject) new JSONParser().parse(value);
- return root;
+ return (JSONObject) new JSONParser().parse(either.left().value());
} catch (ParseException e) {
log.info("failed to convert input to json");
log.error("failed to convert to json", e);
@@ -506,53 +487,55 @@ public class BeGenericServlet extends BasicServlet {
}
- protected PropertyBusinessLogic getPropertyBL(ServletContext context) {
- WebAppContextWrapper webApplicationContextWrapper = (WebAppContextWrapper) context.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR);
- WebApplicationContext webApplicationContext = webApplicationContextWrapper.getWebAppContext(context);
- PropertyBusinessLogic propertytBl = webApplicationContext.getBean(PropertyBusinessLogic.class);
- return propertytBl;
+ private OutputsBusinessLogic getOutputBL(final ServletContext context) {
+ return getClassFromWebAppContext(context, () -> OutputsBusinessLogic.class);
+ }
+
+ private InputsBusinessLogic getInputBL(final ServletContext context) {
+ return getClassFromWebAppContext(context, () -> InputsBusinessLogic.class);
}
- protected InputsBusinessLogic getInputBL(ServletContext context) {
- WebAppContextWrapper webApplicationContextWrapper = (WebAppContextWrapper) context.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR);
- WebApplicationContext webApplicationContext = webApplicationContextWrapper.getWebAppContext(context);
- return webApplicationContext.getBean(InputsBusinessLogic.class);
+ private PolicyBusinessLogic getPolicyBL(final ServletContext context) {
+ return getClassFromWebAppContext(context, () -> PolicyBusinessLogic.class);
}
- protected PolicyBusinessLogic getPolicyBL(ServletContext context) {
- WebAppContextWrapper webApplicationContextWrapper = (WebAppContextWrapper) context.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR);
- WebApplicationContext webApplicationContext = webApplicationContextWrapper.getWebAppContext(context);
- return webApplicationContext.getBean(PolicyBusinessLogic.class);
+ private WebApplicationContext getWebAppContext(final ServletContext context) {
+ return ((WebAppContextWrapper) context.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR)).getWebAppContext(context);
}
- protected Either<ComponentInstInputsMap, ResponseFormat> parseToComponentInstanceMap(String componentJson, User user, ComponentTypeEnum componentType) {
- return getComponentsUtils().convertJsonToObjectUsingObjectMapper(componentJson, user, ComponentInstInputsMap.class, AuditingActionEnum.CREATE_RESOURCE, componentType);
+ protected <T> Either<T, ResponseFormat> parseToComponentInstanceMap(final String componentJson,
+ final User user,
+ final ComponentTypeEnum componentType,
+ final Class<T> clazz) {
+ return getComponentsUtils()
+ .convertJsonToObjectUsingObjectMapper(componentJson, user, clazz, AuditingActionEnum.CREATE_RESOURCE, componentType);
}
protected Response declareProperties(String userId, String componentId, String componentType,
- String componentInstInputsMapObj, DeclarationTypeEnum typeEnum, HttpServletRequest request) {
+ String componentInstInputsMapObj, DeclarationTypeEnum typeEnum, HttpServletRequest request) {
ServletContext context = request.getSession().getServletContext();
String url = request.getMethod() + " " + request.getRequestURI();
log.debug("(get) Start handle request of {}", url);
try {
- BaseBusinessLogic businessLogic = getBlForPropertyDeclaration(typeEnum, context);
+ BaseBusinessLogic businessLogic = getBlForDeclaration(typeEnum, context);
// get modifier id
User modifier = new User();
modifier.setUserId(userId);
log.debug("modifier id is {}", userId);
ComponentTypeEnum componentTypeEnum = ComponentTypeEnum.findByParamName(componentType);
- Either<ComponentInstInputsMap, ResponseFormat> componentInstInputsMapRes = parseToComponentInstanceMap(componentInstInputsMapObj, modifier, componentTypeEnum);
+ Either<ComponentInstInputsMap, ResponseFormat> componentInstInputsMapRes = parseToComponentInstanceMap(
+ componentInstInputsMapObj, modifier, componentTypeEnum, ComponentInstInputsMap.class);
if (componentInstInputsMapRes.isRight()) {
log.debug("failed to parse componentInstInputsMap");
return buildErrorResponse(componentInstInputsMapRes.right().value());
}
Either<List<ToscaDataDefinition>, ResponseFormat> propertiesAfterDeclaration = businessLogic
- .declareProperties(userId, componentId,
- componentTypeEnum,
- componentInstInputsMapRes.left().value());
+ .declareProperties(userId, componentId,
+ componentTypeEnum,
+ componentInstInputsMapRes.left().value());
if (propertiesAfterDeclaration.isRight()) {
log.debug("failed to create inputs for service: {}", componentId);
return buildErrorResponse(propertiesAfterDeclaration.right().value());
@@ -567,13 +550,18 @@ public class BeGenericServlet extends BasicServlet {
}
}
- public BaseBusinessLogic getBlForPropertyDeclaration(DeclarationTypeEnum typeEnum,
- ServletContext context) {
- if(typeEnum.equals(DeclarationTypeEnum.POLICY)) {
- return getPolicyBL(context);
+ public BaseBusinessLogic getBlForDeclaration(final DeclarationTypeEnum typeEnum,
+ final ServletContext context) {
+ switch (typeEnum) {
+ case OUTPUT:
+ return getOutputBL(context);
+ case POLICY:
+ return getPolicyBL(context);
+ case INPUT:
+ return getInputBL(context);
+ default:
+ throw new IllegalArgumentException("Invalid DeclarationTypeEnum");
}
-
- return getInputBL(context);
}
protected Either<Map<String, InputDefinition>, ActionStatus> getInputModel(String componentId, String data) {