Reformat catalog-fe 39/119939/2
authorvasraz <vasyl.razinkov@est.tech>
Sat, 27 Mar 2021 23:06:34 +0000 (23:06 +0000)
committerChristophe Closset <christophe.closset@intl.att.com>
Mon, 29 Mar 2021 07:14:31 +0000 (07:14 +0000)
Signed-off-by: Vasyl Razinkov <vasyl.razinkov@est.tech>
Issue-ID: SDC-3449
Change-Id: Ic4c34262e5cb4e5851af493400ccc01af5684a18

23 files changed:
catalog-fe/src/main/java/org/openecomp/sdc/fe/Constants.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/filters/GzipFilter.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/filters/SecurityFilter.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/impl/Audit.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/impl/CrudOperation.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/impl/HealthCheckScheduledTask.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/impl/HealthCheckService.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/impl/HttpRequestInfo.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/impl/ImportMetadata.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/impl/LogHandler.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/impl/MdcData.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/impl/PluginStatusBL.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/listen/FEAppContextListener.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/listen/MyObjectMapperProvider.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/ConfigMgrServlet.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/ConfigServlet.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/FeHealthCheckServlet.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/FeProxyServlet.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/LoggingServlet.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/PortalServlet.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/SSLProxyServlet.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/utils/BeProtocol.java
catalog-fe/src/main/java/org/openecomp/sdc/fe/utils/JettySSLUtils.java

index d316942..083f670 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe;
 
 public class Constants {
 
-    private Constants() {
-
-    }
-
     public static final String HTTP_IV_USER = "HTTP_IV_USER";
     public static final String USER_ID = "USER_ID";
     public static final String ECOMP_PORTAL_COOKIE = "UserId";
@@ -35,5 +30,6 @@ public class Constants {
     public static final String HTTP_CSP_WSTYPE = "HTTP_CSP_WSTYPE";
     public static final String HTTP_CSP_EMAIL = "HTTP_CSP_EMAIL";
     public static final String WEBSEAL_USER_ID_HEADER = "csp-attuid";
-
+    private Constants() {
+    }
 }
index bb2207c..641b55b 100644 (file)
@@ -17,9 +17,9 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.filters;
 
+import java.io.IOException;
 import javax.servlet.Filter;
 import javax.servlet.FilterChain;
 import javax.servlet.FilterConfig;
@@ -27,33 +27,24 @@ import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
 
 public class GzipFilter implements Filter {
 
     @Override
-    public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain)
-            throws IOException,
-            ServletException {
-
-      
+    public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException, ServletException {
         final HttpServletResponse httpResponse = (HttpServletResponse) response;
-
-
         httpResponse.setHeader("Content-Encoding", "gzip");
         httpResponse.setHeader("Content-Type", "application/javascript");
         chain.doFilter(request, response);
     }
 
-       @Override
-       public void init(FilterConfig filterConfig) throws ServletException {
-               // TODO Auto-generated method stub
-               
-       }
+    @Override
+    public void init(FilterConfig filterConfig) throws ServletException {
+        // TODO Auto-generated method stub
+    }
 
-       @Override
-       public void destroy() {
-               // TODO Auto-generated method stub
-               
-       }
-}
\ No newline at end of file
+    @Override
+    public void destroy() {
+        // TODO Auto-generated method stub
+    }
+}
index c615e4a..cfcb554 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.filters;
 
-
-import org.apache.commons.lang3.StringUtils;
-import org.onap.portalsdk.core.onboarding.util.PortalApiProperties;
-import org.openecomp.sdc.common.log.wrappers.Logger;
-
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+import java.util.NoSuchElementException;
 import javax.servlet.Filter;
 import javax.servlet.FilterChain;
 import javax.servlet.FilterConfig;
@@ -34,21 +32,18 @@ import javax.servlet.ServletResponse;
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-import java.util.NoSuchElementException;
+import org.apache.commons.lang3.StringUtils;
+import org.onap.portalsdk.core.onboarding.util.PortalApiProperties;
+import org.openecomp.sdc.common.log.wrappers.Logger;
 
 public class SecurityFilter implements Filter {
-    private static final Logger log = Logger.getLogger(SecurityFilter.class.getName());
-
-    private static final String PORTAL_COOKIE_NAME_IS_NOT_SET = "Portal cookie name is not set in portal.properties file";
-
-    private List<String> excludedUrls;
 
     static final String PORTAL_COOKIE_NAME_KEY = "portal_cookie_name";
     static final String PORTAL_REDIRECT_URL_KEY = "ecomp_redirect_url";
-    static final String FILTER_EXLUDED_URLS_KEY ="excludedUrls";
+    static final String FILTER_EXLUDED_URLS_KEY = "excludedUrls";
+    private static final Logger log = Logger.getLogger(SecurityFilter.class.getName());
+    private static final String PORTAL_COOKIE_NAME_IS_NOT_SET = "Portal cookie name is not set in portal.properties file";
+    private List<String> excludedUrls;
 
     @Override
     public void init(FilterConfig filterConfig) throws ServletException {
@@ -56,26 +51,23 @@ public class SecurityFilter implements Filter {
     }
 
     @Override
-    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
-
+    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
+        throws IOException, ServletException {
         final HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
         final HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
-
         log.debug("SecurityFilter received request with URL {}", httpRequest.getRequestURL());
         //add redirecting to Portal if cookie is not provided
         if (!excludedUrls.contains(httpRequest.getServletPath()) && !isRequestFromPortal(httpRequest.getCookies())) {
             //redirect to portal app
             log.debug("Request {} is not from Portal, redirecting there", httpRequest.getServletPath());
             httpResponse.sendRedirect(PortalApiProperties.getProperty(PORTAL_REDIRECT_URL_KEY));
-        }
-        else {
+        } else {
             filterChain.doFilter(servletRequest, servletResponse);
         }
     }
 
     @Override
     public void destroy() {
-
     }
 
     private boolean isRequestFromPortal(Cookie[] cookies) {
@@ -84,7 +76,6 @@ public class SecurityFilter implements Filter {
             log.error(PORTAL_COOKIE_NAME_IS_NOT_SET);
             throw new NoSuchElementException(PORTAL_COOKIE_NAME_IS_NOT_SET);
         }
-        return cookies != null && Arrays.stream(cookies)
-                .anyMatch(c->StringUtils.equals(c.getName(), portalCookieValue));
+        return cookies != null && Arrays.stream(cookies).anyMatch(c -> StringUtils.equals(c.getName(), portalCookieValue));
     }
 }
index 4cdc7d6..17a8e48 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.impl;
 
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
 import org.openecomp.sdc.common.api.Constants;
 import org.slf4j.Logger;
 
-import javax.servlet.http.HttpServletRequest;
-import java.util.Map;
-
 public class Audit {
 
     private Audit() {
@@ -36,10 +34,8 @@ public class Audit {
         if (requestInfo != null && requestInfo.getHeaders() != null) {
             Map<String, String> requestHeaders = requestInfo.getHeaders();
             errorMsg = String.format(Constants.ERROR_LOG_FORMAT, requestHeaders.get(Constants.USER_ID_HEADER),
-                    requestHeaders.get(Constants.FIRST_NAME_HEADER) + " "
-                            + requestHeaders.get(Constants.LAST_NAME_HEADER),
-                    requestHeaders.get(Constants.ORIGIN_HEADER), requestHeaders.get(Constants.ACCESS_HEADER),
-                    requestInfo.getRequestURL(), status);
+                requestHeaders.get(Constants.FIRST_NAME_HEADER) + " " + requestHeaders.get(Constants.LAST_NAME_HEADER),
+                requestHeaders.get(Constants.ORIGIN_HEADER), requestHeaders.get(Constants.ACCESS_HEADER), requestInfo.getRequestURL(), status);
         }
         log.error(errorMsg);
     }
@@ -47,12 +43,9 @@ public class Audit {
     public static void error(Logger log, HttpServletRequest request, int status) {
         String errorMsg = "Internal Error";
         if (request != null) {
-
             errorMsg = String.format(Constants.ERROR_LOG_FORMAT, request.getHeader(Constants.USER_ID_HEADER),
-                    request.getHeader(Constants.FIRST_NAME_HEADER) + " "
-                            + request.getHeader(Constants.LAST_NAME_HEADER),
-                    request.getHeader(Constants.ORIGIN_HEADER), request.getHeader(Constants.ACCESS_HEADER),
-                    request.getRequestURL(), status);
+                request.getHeader(Constants.FIRST_NAME_HEADER) + " " + request.getHeader(Constants.LAST_NAME_HEADER),
+                request.getHeader(Constants.ORIGIN_HEADER), request.getHeader(Constants.ACCESS_HEADER), request.getRequestURL(), status);
         }
         log.error(errorMsg);
     }
@@ -62,10 +55,8 @@ public class Audit {
         if (requestInfo != null && requestInfo.getHeaders() != null) {
             Map<String, String> requestHeaders = requestInfo.getHeaders();
             errorMsg = String.format(Constants.ERROR_LOG_FORMAT, requestHeaders.get(Constants.USER_ID_HEADER),
-                    requestHeaders.get(Constants.FIRST_NAME_HEADER) + " "
-                            + requestHeaders.get(Constants.LAST_NAME_HEADER),
-                    requestHeaders.get(Constants.ORIGIN_HEADER), requestHeaders.get(Constants.ACCESS_HEADER),
-                    requestInfo.getRequestURL(), status);
+                requestHeaders.get(Constants.FIRST_NAME_HEADER) + " " + requestHeaders.get(Constants.LAST_NAME_HEADER),
+                requestHeaders.get(Constants.ORIGIN_HEADER), requestHeaders.get(Constants.ACCESS_HEADER), requestInfo.getRequestURL(), status);
         }
         log.info(errorMsg);
     }
index 133e881..5e84bc2 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.impl;
 
-public enum CrudOperation {
-
-    CREATE, RETRIEVE, UPDATE, DELETE
-}
+public enum CrudOperation {CREATE, RETRIEVE, UPDATE, DELETE}
index 5470fc8..2d99f84 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.impl;
 
+import static org.openecomp.sdc.common.api.Constants.HC_COMPONENT_CATALOG_FACADE_MS;
+import static org.openecomp.sdc.common.api.Constants.HC_COMPONENT_ON_BOARDING;
+
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.annotations.VisibleForTesting;
@@ -28,6 +30,13 @@ import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.google.gson.JsonSyntaxException;
 import com.google.gson.reflect.TypeToken;
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.http.HttpStatus;
@@ -48,18 +57,8 @@ import org.openecomp.sdc.common.util.HealthCheckUtil;
 import org.openecomp.sdc.fe.config.Configuration;
 import org.openecomp.sdc.fe.config.FeEcompErrorManager;
 
-import java.io.IOException;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import static org.openecomp.sdc.common.api.Constants.HC_COMPONENT_CATALOG_FACADE_MS;
-import static org.openecomp.sdc.common.api.Constants.HC_COMPONENT_ON_BOARDING;
-
 public class HealthCheckScheduledTask implements Runnable {
+
     private static final Logger healthLogger = Logger.getLogger("asdc.fe.healthcheck");
     private static final Logger log = Logger.getLogger(HealthCheckScheduledTask.class.getName());
     private static final String LOG_PARTNER_NAME = "SDC.FE";
@@ -68,18 +67,14 @@ public class HealthCheckScheduledTask implements Runnable {
     private static final String LOG_TARGET_SERVICE_NAME_OB = "getOnboardingConfig";
     private static final String LOG_TARGET_SERVICE_NAME_FACADE = "getCatalogFacadeConfig";
     private static final String LOG_SERVICE_NAME = "/rest/healthCheck";
-    private static LogFieldsMdcHandler mdcFieldsHandler = new LogFieldsMdcHandler();
-
     private static final String URL = "%s://%s:%s/sdc2/rest/healthCheck";
-
-    private final List<String> healthCheckFeComponents =
-            Arrays.asList(HC_COMPONENT_ON_BOARDING, HC_COMPONENT_CATALOG_FACADE_MS);
     private static final HealthCheckUtil healthCheckUtil = new HealthCheckUtil();
     private static final String DEBUG_CONTEXT = "HEALTH_FE";
     private static final String EXTERNAL_HC_URL = "%s://%s:%s%s";
+    private static LogFieldsMdcHandler mdcFieldsHandler = new LogFieldsMdcHandler();
     private static String ONBOARDING_HC_URL;
     private static String CATALOG_FACADE_MS_HC_URL;
-
+    private final List<String> healthCheckFeComponents = Arrays.asList(HC_COMPONENT_ON_BOARDING, HC_COMPONENT_CATALOG_FACADE_MS);
     private final HealthCheckService service;
 
     HealthCheckScheduledTask(HealthCheckService service) {
@@ -94,7 +89,6 @@ public class HealthCheckScheduledTask implements Runnable {
         return CATALOG_FACADE_MS_HC_URL;
     }
 
-
     @Override
     public void run() {
         mdcFieldsHandler.addInfoForErrorAndDebugLogging(LOG_PARTNER_NAME);
@@ -102,7 +96,6 @@ public class HealthCheckScheduledTask implements Runnable {
         HealthCheckService.HealthStatus currentHealth = checkHealth();
         int currentHealthStatus = currentHealth.getStatusCode();
         healthLogger.trace("Executing FE Health Check Task - Status = {}", currentHealthStatus);
-
         // In case health status was changed, issue alarm/recovery
         if (currentHealthStatus != service.getLastHealthStatus().getStatusCode()) {
             log.trace("FE Health State Changed to {}. Issuing alarm / recovery alarm...", currentHealthStatus);
@@ -115,13 +108,11 @@ public class HealthCheckScheduledTask implements Runnable {
     private List<HealthCheckInfo> addHostedComponentsFeHealthCheck(String baseComponent, boolean requestedByBE) {
         String healthCheckUrl = getExternalComponentHcUrl(baseComponent);
         String serviceName = getExternalComponentHcUri(baseComponent);
-        ErrorLogOptionalData errorLogOptionalData = ErrorLogOptionalData.newBuilder().targetEntity(baseComponent)
-                .targetServiceName(serviceName).build();
-
+        ErrorLogOptionalData errorLogOptionalData = ErrorLogOptionalData.newBuilder().targetEntity(baseComponent).targetServiceName(serviceName)
+            .build();
         StringBuilder description = new StringBuilder("");
         int connectTimeoutMs = 3000;
         int readTimeoutMs = service.getConfig().getHealthCheckSocketTimeoutInMs(5000);
-
         if (healthCheckUrl != null) {
             ObjectMapper mapper = new ObjectMapper();
             try {
@@ -141,13 +132,8 @@ public class HealthCheckScheduledTask implements Runnable {
         } else {
             description.append(baseComponent + " health check Configuration is missing");
         }
-
-        String  compName = requestedByBE ? Constants.HC_COMPONENT_FE : baseComponent;
-        return Collections.singletonList(new HealthCheckInfo(
-                compName,
-                HealthCheckInfo.HealthCheckStatus.DOWN,
-                null,
-                description.toString()));
+        String compName = requestedByBE ? Constants.HC_COMPONENT_FE : baseComponent;
+        return Collections.singletonList(new HealthCheckInfo(compName, HealthCheckInfo.HealthCheckStatus.DOWN, null, description.toString()));
     }
 
     private String getExternalComponentHcUri(String baseComponent) {
@@ -166,7 +152,6 @@ public class HealthCheckScheduledTask implements Runnable {
         return healthCheckUri;
     }
 
-
     @VisibleForTesting
     String getExternalComponentHcUrl(String baseComponent) {
         String healthCheckUrl = null;
@@ -191,7 +176,8 @@ public class HealthCheckScheduledTask implements Runnable {
                 FeEcompErrorManager.getInstance().logFeHealthCheckRecovery("FE Health Recovered");
                 break;
             case 500:
-                FeEcompErrorManager.getInstance().processEcompError(DEBUG_CONTEXT, EcompErrorEnum.FeHealthCheckError, "Connection with ASDC-BE is probably down");
+                FeEcompErrorManager.getInstance()
+                    .processEcompError(DEBUG_CONTEXT, EcompErrorEnum.FeHealthCheckError, "Connection with ASDC-BE is probably down");
                 FeEcompErrorManager.getInstance().logFeHealthCheckError("Connection with ASDC-BE is probably down");
                 break;
             default:
@@ -202,16 +188,14 @@ public class HealthCheckScheduledTask implements Runnable {
     private HealthCheckService.HealthStatus checkHealth() {
         Gson gson = new GsonBuilder().setPrettyPrinting().create();
         Configuration config = service.getConfig();
-
         HealthCheckWrapper feAggHealthCheck;
         boolean aggregateFeStatus = false;
         String redirectedUrl = String.format(URL, config.getBeProtocol(), config.getBeHost(),
-                Constants.HTTPS.equals(config.getBeProtocol()) ? config.getBeSslPort() : config.getBeHttpPort());
+            Constants.HTTPS.equals(config.getBeProtocol()) ? config.getBeSslPort() : config.getBeHttpPort());
         int connectTimeoutMs = 3000;
         int readTimeoutMs = config.getHealthCheckSocketTimeoutInMs(5000);
         ErrorLogOptionalData errorLogOptionalData = ErrorLogOptionalData.newBuilder().targetEntity(LOG_TARGET_ENTITY_BE)
-                .targetServiceName(LOG_SERVICE_NAME).build();
-
+            .targetServiceName(LOG_SERVICE_NAME).build();
         try {
             HttpResponse<String> response = HttpRequest.get(redirectedUrl, new HttpClientConfig(new Timeouts(connectTimeoutMs, readTimeoutMs)));
             log.debug("HC call to BE - status code is {}", response.getStatusCode());
@@ -221,14 +205,14 @@ public class HealthCheckScheduledTask implements Runnable {
                 aggregateFeStatus = healthCheckUtil.getAggregateStatus(feAggHealthCheck.getComponentsInfo(), getExcludedComponentList());
             }
             //Getting aggregate FE status
-            return new HealthCheckService.HealthStatus(aggregateFeStatus ? HttpStatus.SC_OK : HttpStatus.SC_INTERNAL_SERVER_ERROR, gson.toJson(feAggHealthCheck));
-
-        }
-        catch (Exception e) {
+            return new HealthCheckService.HealthStatus(aggregateFeStatus ? HttpStatus.SC_OK : HttpStatus.SC_INTERNAL_SERVER_ERROR,
+                gson.toJson(feAggHealthCheck));
+        } catch (Exception e) {
             log.debug("Health Check error when trying to connect to BE or external FE. Error: {}", e);
             log.error(EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR, LOG_SERVICE_NAME, errorLogOptionalData,
-                    "Health Check error when trying to connect to BE or external FE.", e.getMessage());
-            FeEcompErrorManager.getInstance().processEcompError(DEBUG_CONTEXT,EcompErrorEnum.FeHealthCheckGeneralError, "Unexpected FE Health check error");
+                "Health Check error when trying to connect to BE or external FE.", e.getMessage());
+            FeEcompErrorManager.getInstance()
+                .processEcompError(DEBUG_CONTEXT, EcompErrorEnum.FeHealthCheckGeneralError, "Unexpected FE Health check error");
             FeEcompErrorManager.getInstance().logFeHealthCheckGeneralError("Unexpected FE Health check error");
             return new HealthCheckService.HealthStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR, gson.toJson(getBeDownCheckInfos()));
         }
@@ -236,7 +220,7 @@ public class HealthCheckScheduledTask implements Runnable {
 
     @VisibleForTesting
     List<String> getExcludedComponentList() {
-        List <String> excludedComponentList = Lists.newArrayList(service.getConfig().getHealthStatusExclude());
+        List<String> excludedComponentList = Lists.newArrayList(service.getConfig().getHealthStatusExclude());
         if (isCatalogFacadeMsExcluded()) {
             if (log.isInfoEnabled()) {
                 log.info(HC_COMPONENT_CATALOG_FACADE_MS + " has been added to the Healthcheck exclude list");
@@ -256,9 +240,8 @@ public class HealthCheckScheduledTask implements Runnable {
         }.getType();
         HealthCheckWrapper healthCheckWrapper = gson.fromJson(responseString, wrapperType);
         String description = "OK";
-        healthCheckWrapper.getComponentsInfo()
-                .add(new HealthCheckInfo(Constants.HC_COMPONENT_FE, HealthCheckInfo.HealthCheckStatus.UP, ExternalConfiguration.getAppVersion(), description));
-
+        healthCheckWrapper.getComponentsInfo().add(
+            new HealthCheckInfo(Constants.HC_COMPONENT_FE, HealthCheckInfo.HealthCheckStatus.UP, ExternalConfiguration.getAppVersion(), description));
         //add FE hosted components
         for (String component : healthCheckFeComponents) {
             buildHealthCheckListForComponent(component, healthCheckWrapper);
@@ -267,7 +250,6 @@ public class HealthCheckScheduledTask implements Runnable {
     }
 
     private void buildHealthCheckListForComponent(String component, HealthCheckWrapper healthCheckWrapper) {
-
         HealthCheckInfo componentHCInfoFromBE = getComponentHcFromList(component, healthCheckWrapper.getComponentsInfo());
         List<HealthCheckInfo> componentHCInfoList = addHostedComponentsFeHealthCheck(component, componentHCInfoFromBE != null);
         HealthCheckInfo calculateStatusFor;
@@ -277,21 +259,16 @@ public class HealthCheckScheduledTask implements Runnable {
             }
             //update the subcomponents's HC if exist and recalculate the component status according to the subcomponets HC
             calculateStatusFor = updateSubComponentsInfoOfBeHc(componentHCInfoFromBE, componentHCInfoList);
-        }
-        else {
-
+        } else {
             //this component is not in the BE HC response, need to add it and calculate the aggregated status
             if (log.isDebugEnabled()) {
                 log.debug("{} component healthcheck info has been received from the component itself, it is not monitored by the BE", component);
             }
             //we assume that response from components which HC is not requested by BE have only one entry in the responded list
             calculateStatusFor = componentHCInfoList.get(0);
-            healthCheckWrapper.getComponentsInfo()
-                        .add(calculateStatusFor);
-
+            healthCheckWrapper.getComponentsInfo().add(calculateStatusFor);
         }
         calculateAggregatedStatus(calculateStatusFor);
-
     }
 
     @VisibleForTesting
@@ -306,16 +283,14 @@ public class HealthCheckScheduledTask implements Runnable {
         return componentHCInfoFromBE;
     }
 
-    private HealthCheckInfo getComponentHcFromList(String component, List<HealthCheckInfo>  hcList) {
+    private HealthCheckInfo getComponentHcFromList(String component, List<HealthCheckInfo> hcList) {
         return hcList.stream().filter(c -> c.getHealthCheckComponent().equals(component)).findFirst().orElse(null);
     }
 
     private void calculateAggregatedStatus(HealthCheckInfo baseComponentHCInfo) {
         if (!CollectionUtils.isEmpty(baseComponentHCInfo.getComponentsInfo())) {
             boolean status = healthCheckUtil.getAggregateStatus(baseComponentHCInfo.getComponentsInfo(), getExcludedComponentList());
-            baseComponentHCInfo.setHealthCheckStatus(status ?
-                    HealthCheckInfo.HealthCheckStatus.UP : HealthCheckInfo.HealthCheckStatus.DOWN);
-
+            baseComponentHCInfo.setHealthCheckStatus(status ? HealthCheckInfo.HealthCheckStatus.UP : HealthCheckInfo.HealthCheckStatus.DOWN);
             String componentsDesc = healthCheckUtil.getAggregateDescription(baseComponentHCInfo.getComponentsInfo());
             if (!StringUtils.isEmpty(componentsDesc)) { //aggregated description contains all the internal components desc
                 baseComponentHCInfo.setDescription(componentsDesc);
@@ -325,8 +300,8 @@ public class HealthCheckScheduledTask implements Runnable {
 
     private HealthCheckWrapper getBeDownCheckInfos() {
         List<HealthCheckInfo> healthCheckInfos = new ArrayList<>();
-        healthCheckInfos.add(new HealthCheckInfo(Constants.HC_COMPONENT_FE, HealthCheckInfo.HealthCheckStatus.UP,
-                ExternalConfiguration.getAppVersion(), "OK"));
+        healthCheckInfos
+            .add(new HealthCheckInfo(Constants.HC_COMPONENT_FE, HealthCheckInfo.HealthCheckStatus.UP, ExternalConfiguration.getAppVersion(), "OK"));
         healthCheckInfos.add(new HealthCheckInfo(Constants.HC_COMPONENT_BE, HealthCheckInfo.HealthCheckStatus.DOWN, null, null));
         healthCheckInfos.add(new HealthCheckInfo(Constants.HC_COMPONENT_JANUSGRAPH, HealthCheckInfo.HealthCheckStatus.UNKNOWN, null, null));
         healthCheckInfos.add(new HealthCheckInfo(Constants.HC_COMPONENT_CASSANDRA, HealthCheckInfo.HealthCheckStatus.UNKNOWN, null, null));
@@ -343,17 +318,14 @@ public class HealthCheckScheduledTask implements Runnable {
     private String getOnboardingHealthCheckUrl() {
         Configuration.OnboardingConfig onboardingConfig = service.getConfig().getOnboarding();
         ErrorLogOptionalData errorLogOptionalData = ErrorLogOptionalData.newBuilder().targetEntity(LOG_TARGET_ENTITY_CONFIG)
-                .targetServiceName(LOG_TARGET_SERVICE_NAME_OB).build();
-
+            .targetServiceName(LOG_TARGET_SERVICE_NAME_OB).build();
         if (StringUtils.isEmpty(ONBOARDING_HC_URL)) {
             if (onboardingConfig != null) {
-                ONBOARDING_HC_URL = buildHealthCheckUrl(
-                        onboardingConfig.getProtocolFe(), onboardingConfig.getHostFe(),
-                        onboardingConfig.getPortFe(), onboardingConfig.getHealthCheckUriFe());
-            }
-            else {
+                ONBOARDING_HC_URL = buildHealthCheckUrl(onboardingConfig.getProtocolFe(), onboardingConfig.getHostFe(), onboardingConfig.getPortFe(),
+                    onboardingConfig.getHealthCheckUriFe());
+            } else {
                 log.error(EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR, LOG_SERVICE_NAME, errorLogOptionalData,
-                        "Onboarding health check configuration is missing.");
+                    "Onboarding health check configuration is missing.");
             }
         }
         return ONBOARDING_HC_URL;
@@ -362,27 +334,23 @@ public class HealthCheckScheduledTask implements Runnable {
     private String getCatalogFacadeHealthCheckUrl() {
         Configuration.CatalogFacadeMsConfig catalogFacadeMsConfig = service.getConfig().getCatalogFacadeMs();
         ErrorLogOptionalData errorLogOptionalData = ErrorLogOptionalData.newBuilder().targetEntity(LOG_TARGET_ENTITY_CONFIG)
-                .targetServiceName(LOG_TARGET_SERVICE_NAME_FACADE).build();
-
+            .targetServiceName(LOG_TARGET_SERVICE_NAME_FACADE).build();
         if (StringUtils.isEmpty(CATALOG_FACADE_MS_HC_URL)) {
             if (catalogFacadeMsConfig != null) {
-                CATALOG_FACADE_MS_HC_URL = buildHealthCheckUrl(
-                        catalogFacadeMsConfig.getProtocol(), catalogFacadeMsConfig.getHost(),
-                        catalogFacadeMsConfig.getPort(), catalogFacadeMsConfig.getHealthCheckUri());
-            }
-            else {
+                CATALOG_FACADE_MS_HC_URL = buildHealthCheckUrl(catalogFacadeMsConfig.getProtocol(), catalogFacadeMsConfig.getHost(),
+                    catalogFacadeMsConfig.getPort(), catalogFacadeMsConfig.getHealthCheckUri());
+            } else {
                 log.error(EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR, LOG_SERVICE_NAME, errorLogOptionalData,
-                        "Catalog Facade MS health check configuration is missing.");
+                    "Catalog Facade MS health check configuration is missing.");
             }
         }
         return CATALOG_FACADE_MS_HC_URL;
     }
 
-
-    private List<HealthCheckInfo> convertResponse(String beJsonResponse, ObjectMapper mapper, String baseComponent, StringBuilder description, int beStatus) {
-        ErrorLogOptionalData errorLogOptionalData = ErrorLogOptionalData.newBuilder().targetEntity(baseComponent)
-                .targetServiceName(LOG_SERVICE_NAME).build();
-
+    private List<HealthCheckInfo> convertResponse(String beJsonResponse, ObjectMapper mapper, String baseComponent, StringBuilder description,
+                                                  int beStatus) {
+        ErrorLogOptionalData errorLogOptionalData = ErrorLogOptionalData.newBuilder().targetEntity(baseComponent).targetServiceName(LOG_SERVICE_NAME)
+            .build();
         try {
             Map<String, Object> healthCheckMap = mapper.readValue(beJsonResponse, new TypeReference<Map<String, Object>>() {
             });
@@ -394,11 +362,9 @@ public class HealthCheckScheduledTask implements Runnable {
             }
         } catch (JsonSyntaxException | IOException e) {
             log.error(EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR, LOG_SERVICE_NAME, errorLogOptionalData,
-                    baseComponent + " Unexpected response body ", e);
-            description.append(baseComponent)
-                    .append("Unexpected response body. Response code: ")
-                    .append(beStatus);
+                baseComponent + " Unexpected response body ", e);
+            description.append(baseComponent).append("Unexpected response body. Response code: ").append(beStatus);
         }
         return new ArrayList<>();
     }
-}
\ No newline at end of file
+}
index d5cfaec..f91e1e0 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.impl;
 
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Response;
 import org.openecomp.sdc.common.api.Constants;
 import org.openecomp.sdc.common.log.wrappers.Logger;
 import org.openecomp.sdc.fe.config.Configuration;
 import org.openecomp.sdc.fe.config.ConfigurationManager;
 
-import javax.servlet.ServletContext;
-import javax.ws.rs.core.Response;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-
 public class HealthCheckService {
 
     private static final Logger healthLogger = Logger.getLogger("asdc.fe.healthcheck");
+    private final HealthCheckScheduledTask task;
     /**
      * This executor will execute the health check task.
      */
-    private ScheduledExecutorService healthCheckExecutor =
-            Executors.newSingleThreadScheduledExecutor((Runnable r) -> new Thread(r, "FE-Health-Check-Thread"));
-
-    private final HealthCheckScheduledTask task ;
-
+    private ScheduledExecutorService healthCheckExecutor = Executors
+        .newSingleThreadScheduledExecutor((Runnable r) -> new Thread(r, "FE-Health-Check-Thread"));
+    private HealthStatus lastHealthStatus = new HealthStatus(500, "{}");
+    private ServletContext context;
 
     public HealthCheckService(ServletContext context) {
         this.context = context;
         this.task = new HealthCheckScheduledTask(this);
     }
 
-    public Configuration getConfig(){
-        return ((ConfigurationManager) context.getAttribute(Constants.CONFIGURATION_MANAGER_ATTR))
-                .getConfiguration();
-    }
-
-    void setLastHealthStatus(HealthStatus lastHealthStatus) {
-        this.lastHealthStatus = lastHealthStatus;
+    public Configuration getConfig() {
+        return ((ConfigurationManager) context.getAttribute(Constants.CONFIGURATION_MANAGER_ATTR)).getConfiguration();
     }
 
-    private HealthStatus lastHealthStatus = new HealthStatus(500, "{}");
-    private ServletContext context;
-
     public void start(int interval) {
-        this.healthCheckExecutor.scheduleAtFixedRate( getTask() , 0, interval, TimeUnit.SECONDS);
+        this.healthCheckExecutor.scheduleAtFixedRate(getTask(), 0, interval, TimeUnit.SECONDS);
     }
 
     /**
@@ -82,6 +71,11 @@ public class HealthCheckService {
     public HealthStatus getLastHealthStatus() {
         return lastHealthStatus;
     }
+
+    void setLastHealthStatus(HealthStatus lastHealthStatus) {
+        this.lastHealthStatus = lastHealthStatus;
+    }
+
     public HealthCheckScheduledTask getTask() {
         return task;
     }
@@ -89,14 +83,6 @@ public class HealthCheckService {
     //immutable
     static class HealthStatus {
 
-        public void setBody(String body) {
-            this.body = body;
-        }
-
-        public void setStatusCode(int statusCode) {
-            this.statusCode = statusCode;
-        }
-
         private String body;
         private int statusCode;
 
@@ -109,11 +95,16 @@ public class HealthCheckService {
             return statusCode;
         }
 
+        public void setStatusCode(int statusCode) {
+            this.statusCode = statusCode;
+        }
+
         public String getBody() {
             return body;
         }
-    }
-
-
 
+        public void setBody(String body) {
+            this.body = body;
+        }
+    }
 }
index 717c726..ccd5836 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.impl;
 
 import com.google.common.annotations.VisibleForTesting;
-
-import javax.servlet.http.HttpServletRequest;
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
 
 public class HttpRequestInfo {
 
+    private Map<String, String> headers;
+    private String requestURL;
+    private InputStream requestData;
+    private String originServletContext;
     @VisibleForTesting
     HttpRequestInfo() {
     }
-
     public HttpRequestInfo(HttpServletRequest request, Map<String, String> headersMap, String data) {
         headers = headersMap;
         requestURL = request.getRequestURI();
@@ -40,11 +41,6 @@ public class HttpRequestInfo {
         originServletContext = request.getContextPath();
     }
 
-    private Map<String, String> headers;
-    private String requestURL;
-    private InputStream requestData;
-    private String originServletContext;
-
     public Map<String, String> getHeaders() {
         return headers;
     }
index 52c888f..f571931 100644 (file)
@@ -19,7 +19,6 @@
  * Modifications copyright (c) 2019 Nokia
  * ================================================================================
  */
-
 package org.openecomp.sdc.fe.impl;
 
 import lombok.AllArgsConstructor;
@@ -32,6 +31,7 @@ import lombok.Setter;
 @Getter
 @Setter
 public class ImportMetadata {
+
     private String name;
     private long size;
     private String mime;
index b97379b..be2381d 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.impl;
 
+import javax.servlet.http.HttpServletRequest;
 import org.onap.logging.ref.slf4j.ONAPLogConstants;
 import org.openecomp.sdc.common.api.Constants;
 import org.openecomp.sdc.common.log.api.ILogConfiguration;
 import org.openecomp.sdc.common.log.elements.LogFieldsMdcHandler;
 import org.slf4j.MDC;
 
-import javax.servlet.http.HttpServletRequest;
-
 public class LogHandler {
+
     public static final String UUID = "uuid";
     public static final String TRANSACTION_START_TIME = "transactionStartTime";
 
@@ -36,37 +35,34 @@ public class LogHandler {
         Long transactionStartTime = System.currentTimeMillis();
         String uuid = LogFieldsMdcHandler.getInstance().getKeyRequestId();
         String serviceInstanceID = httpRequest.getHeader(Constants.X_ECOMP_SERVICE_ID_HEADER);
-
         if (uuid != null && uuid.length() > 0) {
             String userId = httpRequest.getHeader(Constants.USER_ID_HEADER);
             String remoteAddr = httpRequest.getRemoteAddr();
             String localAddr = httpRequest.getLocalAddr();
-
-            httpRequest.setAttribute(UUID,uuid);
-            httpRequest.setAttribute(TRANSACTION_START_TIME,transactionStartTime);
-
+            httpRequest.setAttribute(UUID, uuid);
+            httpRequest.setAttribute(TRANSACTION_START_TIME, transactionStartTime);
             updateMdc(uuid, serviceInstanceID, userId, remoteAddr, localAddr, null);
         }
     }
 
     public static void logFeResponse(HttpServletRequest request) {
-        String uuid = (String)request.getAttribute(UUID);
+        String uuid = (String) request.getAttribute(UUID);
         String serviceInstanceID = request.getHeader(Constants.X_ECOMP_SERVICE_ID_HEADER);
         String userId = request.getHeader(Constants.USER_ID_HEADER);
         String remoteAddr = request.getRemoteAddr();
         String localAddr = request.getLocalAddr();
         String transactionRoundTime = null;
-
         if (uuid != null) {
-            Long transactionStartTime = (Long)request.getAttribute(TRANSACTION_START_TIME);
-            if(transactionStartTime != null){
+            Long transactionStartTime = (Long) request.getAttribute(TRANSACTION_START_TIME);
+            if (transactionStartTime != null) {
                 transactionRoundTime = Long.toString(System.currentTimeMillis() - transactionStartTime);
             }
             updateMdc(uuid, serviceInstanceID, userId, remoteAddr, localAddr, transactionRoundTime);
         }
     }
 
-    private static void updateMdc(String uuid, String serviceInstanceID, String userId, String remoteAddr, String localAddr, String transactionElapsedTime) {
+    private static void updateMdc(String uuid, String serviceInstanceID, String userId, String remoteAddr, String localAddr,
+                                  String transactionElapsedTime) {
         MDC.put(ONAPLogConstants.MDCs.REQUEST_ID, uuid);
         MDC.put(ILogConfiguration.MDC_SERVICE_INSTANCE_ID, serviceInstanceID);
         MDC.put("userId", userId);
index 8a996d5..f9f7caa 100644 (file)
@@ -27,6 +27,7 @@ import lombok.Getter;
 @Getter
 @AllArgsConstructor
 public class MdcData {
+
     private String serviceInstanceID;
     private String userId;
     private String remoteAddr;
index 13ff206..080ab68 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.impl;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
+import java.io.IOException;
+import java.security.GeneralSecurityException;
 import org.apache.http.HttpStatus;
 import org.apache.http.client.config.RequestConfig;
 import org.apache.http.client.methods.CloseableHttpResponse;
@@ -35,7 +36,6 @@ import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
-
 import org.openecomp.sdc.common.log.wrappers.Logger;
 import org.openecomp.sdc.exception.InvalidArgumentException;
 import org.openecomp.sdc.fe.config.ConfigurationManager;
@@ -43,105 +43,81 @@ import org.openecomp.sdc.fe.config.PluginsConfiguration;
 import org.openecomp.sdc.fe.config.PluginsConfiguration.Plugin;
 import org.openecomp.sdc.fe.utils.JettySSLUtils;
 
-import java.io.IOException;
-import java.security.GeneralSecurityException;
-
 public class PluginStatusBL {
 
     private static final Logger log = Logger.getLogger(PluginStatusBL.class.getName());
-       private static final String MAX_CONNECTION_POOL = "maxOutgoingConnectionPoolTotal";
-       private static final String MAX_ROUTE_POOL = "maxOutgoingPerRoute";
+    private static final String MAX_CONNECTION_POOL = "maxOutgoingConnectionPoolTotal";
+    private static final String MAX_ROUTE_POOL = "maxOutgoingPerRoute";
     private final Gson gson;
-    private CloseableHttpClient client;
     private final PluginsConfiguration pluginsConfiguration;
+    private CloseableHttpClient client;
     private RequestConfig requestConfig;
 
     public PluginStatusBL() {
         this.pluginsConfiguration = ConfigurationManager.getConfigurationManager().getPluginsConfiguration();
         this.gson = new GsonBuilder().setPrettyPrinting().create();
-               // check if we have secure connections in the plugin list, if not - we won't bother with it
-               try {
-                       this.client = getPooledClient(this.hasSecuredPlugins());
-               } catch (Exception e){
-                       log.error("Could not initialize the Https client: {}", e.getMessage());
-                       log.debug("Exception:",e);
-               }
+        // check if we have secure connections in the plugin list, if not - we won't bother with it
+        try {
+            this.client = getPooledClient(this.hasSecuredPlugins());
+        } catch (Exception e) {
+            log.error("Could not initialize the Https client: {}", e.getMessage());
+            log.debug("Exception:", e);
+        }
     }
 
     public PluginStatusBL(CloseableHttpClient client) {
         this.pluginsConfiguration = ConfigurationManager.getConfigurationManager().getPluginsConfiguration();
         this.client = client;
-
         this.gson = new GsonBuilder().setPrettyPrinting().create();
-
     }
 
-       private boolean hasSecuredPlugins() {
-               if (this.getPluginsList() != null) {
+    private boolean hasSecuredPlugins() {
+        if (this.getPluginsList() != null) {
             return pluginsConfiguration.getPluginsList().stream()
-                    .anyMatch(plugin -> plugin.getPluginDiscoveryUrl().toLowerCase().startsWith("https"));
-               }
-               return false;
-
-       }
-
-       private CloseableHttpClient getPooledClient(boolean isSecured) throws GeneralSecurityException, IOException {
-               final PoolingHttpClientConnectionManager  poolingConnManager;
-               if (!isSecured) {
-                       poolingConnManager
-                                       = new PoolingHttpClientConnectionManager();
-               } else {
-                       SSLConnectionSocketFactory s = new SSLConnectionSocketFactory(
-                    JettySSLUtils.getSslContext(),
-                                       new NoopHostnameVerifier());
+                .anyMatch(plugin -> plugin.getPluginDiscoveryUrl().toLowerCase().startsWith("https"));
+        }
+        return false;
+    }
 
-                       Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create()
-                                       .register("http", new PlainConnectionSocketFactory())
-                                       .register("https", s)
-                                       .build();
-                       poolingConnManager
-                                       = new PoolingHttpClientConnectionManager(registry);
-               }
-               int maxTotal = System.getProperties().containsKey(MAX_CONNECTION_POOL) ? Integer.parseInt(System.getProperty(MAX_CONNECTION_POOL)) : 5;
-               int routeMax = System.getProperties().containsKey(MAX_ROUTE_POOL) ? Integer.parseInt(System.getProperty(MAX_ROUTE_POOL)) : 20;
-               poolingConnManager.setMaxTotal(maxTotal);
-               poolingConnManager.setDefaultMaxPerRoute(routeMax);
-               return HttpClients.custom().setConnectionManager(poolingConnManager).setSSLHostnameVerifier(new NoopHostnameVerifier()).build();
-       }
+    private CloseableHttpClient getPooledClient(boolean isSecured) throws GeneralSecurityException, IOException {
+        final PoolingHttpClientConnectionManager poolingConnManager;
+        if (!isSecured) {
+            poolingConnManager = new PoolingHttpClientConnectionManager();
+        } else {
+            SSLConnectionSocketFactory s = new SSLConnectionSocketFactory(JettySSLUtils.getSslContext(), new NoopHostnameVerifier());
+            Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create()
+                .register("http", new PlainConnectionSocketFactory()).register("https", s).build();
+            poolingConnManager = new PoolingHttpClientConnectionManager(registry);
+        }
+        int maxTotal = System.getProperties().containsKey(MAX_CONNECTION_POOL) ? Integer.parseInt(System.getProperty(MAX_CONNECTION_POOL)) : 5;
+        int routeMax = System.getProperties().containsKey(MAX_ROUTE_POOL) ? Integer.parseInt(System.getProperty(MAX_ROUTE_POOL)) : 20;
+        poolingConnManager.setMaxTotal(maxTotal);
+        poolingConnManager.setDefaultMaxPerRoute(routeMax);
+        return HttpClients.custom().setConnectionManager(poolingConnManager).setSSLHostnameVerifier(new NoopHostnameVerifier()).build();
+    }
 
     public String getPluginsList() {
         if (pluginsConfiguration == null || pluginsConfiguration.getPluginsList() == null) {
             log.warn("Configuration of type {} was not found", PluginsConfiguration.class);
             throw new InvalidArgumentException("the plugin configuration was not read successfully.");
-
         } else {
             log.debug("The value returned from getConfig is {}", pluginsConfiguration);
-
             return gson.toJson(pluginsConfiguration.getPluginsList());
         }
     }
 
     public String getPluginAvailability(String pluginId) {
         String result = null;
-
         if (pluginsConfiguration == null || pluginsConfiguration.getPluginsList() == null) {
             log.warn("Configuration of type {} was not found", PluginsConfiguration.class);
             throw new InvalidArgumentException("the plugin configuration was not read successfully.");
-
         } else {
             log.debug("The value returned from getConfig is {}", pluginsConfiguration);
             Integer connectionTimeout = pluginsConfiguration.getConnectionTimeout();
-            this.requestConfig = RequestConfig.custom()
-                    .setSocketTimeout(connectionTimeout)
-                    .setConnectTimeout(connectionTimeout)
-                    .setConnectionRequestTimeout(connectionTimeout).build();
-
-
-            Plugin wantedPlugin = pluginsConfiguration.getPluginsList().stream()
-                    .filter(plugin -> plugin.getPluginId().equals(pluginId))
-                    .findAny()
-                    .orElse(null);
-
+            this.requestConfig = RequestConfig.custom().setSocketTimeout(connectionTimeout).setConnectTimeout(connectionTimeout)
+                .setConnectionRequestTimeout(connectionTimeout).build();
+            Plugin wantedPlugin = pluginsConfiguration.getPluginsList().stream().filter(plugin -> plugin.getPluginId().equals(pluginId)).findAny()
+                .orElse(null);
             if (wantedPlugin != null) {
                 result = gson.toJson(checkPluginAvailability(wantedPlugin));
             }
@@ -153,12 +129,11 @@ public class PluginStatusBL {
         boolean result = false;
         log.debug("sending head request to id:{} url:{}", plugin.getPluginId(), plugin.getPluginDiscoveryUrl());
         HttpHead head = new HttpHead(plugin.getPluginDiscoveryUrl());
-
         head.setConfig(this.requestConfig);
-               if (this.client == null) {
-                       log.debug("The plugin {} will not run because https is not configured on the FE server",plugin.getPluginId());
-                       return false;
-               }
+        if (this.client == null) {
+            log.debug("The plugin {} will not run because https is not configured on the FE server", plugin.getPluginId());
+            return false;
+        }
         try (CloseableHttpResponse response = this.client.execute(head)) {
             result = response != null && response.getStatusLine().getStatusCode() == HttpStatus.SC_OK;
             log.debug("The plugin {} is {} with result {}", plugin.getPluginId(), (result ? "online" : "offline"), result);
@@ -166,8 +141,6 @@ public class PluginStatusBL {
             log.debug("The plugin {} is offline", plugin.getPluginId());
             log.debug("Exception:", e);
         }
-
         return result;
     }
-
 }
index 70cb27e..877d637 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.listen;
 
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
 import org.openecomp.sdc.common.api.Constants;
 import org.openecomp.sdc.common.impl.ExternalConfiguration;
 import org.openecomp.sdc.common.listener.AppContextListener;
@@ -29,61 +32,40 @@ import org.openecomp.sdc.fe.impl.HealthCheckService;
 import org.openecomp.sdc.fe.impl.PluginStatusBL;
 import org.openecomp.sdc.fe.monitoring.FeMonitoringService;
 
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
 public class FEAppContextListener extends AppContextListener implements ServletContextListener {
 
-       private static Logger log = Logger.getLogger(FEAppContextListener.class.getName());
     private static final int HEALTH_CHECHK_INTERVALE = 5;
     private static final int PROBE_INTERVALE = 15;
+    private static Logger log = Logger.getLogger(FEAppContextListener.class.getName());
 
     public void contextInitialized(ServletContextEvent context) {
-
         super.contextInitialized(context);
-
-        ConfigurationManager configurationManager = new ConfigurationManager(
-                ExternalConfiguration.getConfigurationSource());
-        log.debug("loading configuration from configDir:{} appName:{}", ExternalConfiguration.getConfigDir(),
-                ExternalConfiguration.getAppName());
+        ConfigurationManager configurationManager = new ConfigurationManager(ExternalConfiguration.getConfigurationSource());
+        log.debug("loading configuration from configDir:{} appName:{}", ExternalConfiguration.getConfigDir(), ExternalConfiguration.getAppName());
         context.getServletContext().setAttribute(Constants.CONFIGURATION_MANAGER_ATTR, configurationManager);
-
         PluginStatusBL pbl = new PluginStatusBL();
         context.getServletContext().setAttribute(Constants.PLUGIN_BL_COMPONENT, pbl);
-
         // Health Check service
         HealthCheckService hcs = new HealthCheckService(context.getServletContext());
         hcs.start(configurationManager.getConfiguration().getHealthCheckIntervalInSeconds(HEALTH_CHECHK_INTERVALE));
         context.getServletContext().setAttribute(Constants.HEALTH_CHECK_SERVICE_ATTR, hcs);
-
         // Monitoring service
         FeMonitoringService fms = new FeMonitoringService(context.getServletContext());
         fms.start(configurationManager.getConfiguration().getSystemMonitoring().getProbeIntervalInSeconds(PROBE_INTERVALE));
-
         if (configurationManager.getConfiguration() == null) {
             log.debug("ERROR: configuration was not properly loaded");
             return;
         }
-
-        ExecutorService executorPool = Executors
-                .newFixedThreadPool(configurationManager.getConfiguration().getThreadpoolSize());
+        ExecutorService executorPool = Executors.newFixedThreadPool(configurationManager.getConfiguration().getThreadpoolSize());
         context.getServletContext().setAttribute(Constants.THREAD_EXECUTOR_ATTR, executorPool);
-
         log.debug("After executing {}", this.getClass());
     }
 
     public void contextDestroyed(ServletContextEvent context) {
-
-        ExecutorService executorPool = (ExecutorService) context.getServletContext()
-                .getAttribute(Constants.THREAD_EXECUTOR_ATTR);
+        ExecutorService executorPool = (ExecutorService) context.getServletContext().getAttribute(Constants.THREAD_EXECUTOR_ATTR);
         if (executorPool != null) {
             executorPool.shutdown();
         }
-
         super.contextDestroyed(context);
-
     }
-
 }
index e7a09b4..4f57070 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.listen;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
-
 import javax.ws.rs.ext.ContextResolver;
 import javax.ws.rs.ext.Provider;
 
 @Provider
 public class MyObjectMapperProvider implements ContextResolver<ObjectMapper> {
+
     private final ObjectMapper defaultObjectMapper;
 
     MyObjectMapperProvider() {
         defaultObjectMapper = createDefaultMapper();
     }
 
-    @Override
-    public ObjectMapper getContext(Class<?> type) {
-        return defaultObjectMapper;
-    }
-
     private static ObjectMapper createDefaultMapper() {
         final ObjectMapper result = new ObjectMapper();
         result.configure(SerializationFeature.INDENT_OUTPUT, true);
         return result;
     }
 
+    @Override
+    public ObjectMapper getContext(Class<?> type) {
+        return defaultObjectMapper;
+    }
 }
index c2ea725..7c75822 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.servlets;
 
-import org.openecomp.sdc.common.api.Constants;
-import org.openecomp.sdc.common.log.wrappers.Logger;
-import org.openecomp.sdc.common.rest.api.RestConfigurationInfo;
-import org.openecomp.sdc.common.servlets.BasicServlet;
-import org.openecomp.sdc.fe.config.Configuration;
-import org.openecomp.sdc.fe.config.ConfigurationManager;
-
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.GET;
@@ -35,6 +27,12 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
+import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.common.log.wrappers.Logger;
+import org.openecomp.sdc.common.rest.api.RestConfigurationInfo;
+import org.openecomp.sdc.common.servlets.BasicServlet;
+import org.openecomp.sdc.fe.config.Configuration;
+import org.openecomp.sdc.fe.config.ConfigurationManager;
 
 /**
  * Root resource (exposed at "/" path)
@@ -42,46 +40,32 @@ import javax.ws.rs.core.MediaType;
 @Path("/configmgr")
 public class ConfigMgrServlet extends BasicServlet {
 
-       private static Logger log = Logger.getLogger(ConfigMgrServlet.class.getName());
+    private static Logger log = Logger.getLogger(ConfigMgrServlet.class.getName());
 
     @GET
     @Path("/get")
     @Produces(MediaType.APPLICATION_JSON)
     public String getConfig(@Context final HttpServletRequest request, @QueryParam("type") String type) {
-
         String result = null;
-
         ServletContext context = request.getSession().getServletContext();
-
-        ConfigurationManager configurationManager = (ConfigurationManager) context
-                .getAttribute(Constants.CONFIGURATION_MANAGER_ATTR);
-
+        ConfigurationManager configurationManager = (ConfigurationManager) context.getAttribute(Constants.CONFIGURATION_MANAGER_ATTR);
         if (type == null || type.equals("configuration")) {
-
             Configuration configuration = configurationManager.getConfiguration();
             if (configuration == null) {
                 log.warn("Configuration of type {} was not found", Configuration.class);
             } else {
                 log.info("The value returned from getConfig is {}", configuration);
-
                 result = gson.toJson(configuration);
-
             }
         } else if (type.equals("rest")) {
-
             RestConfigurationInfo configuration = configurationManager.getRestClientConfiguration();
             if (configuration == null) {
                 log.warn("Configuration of type {} was not found", RestConfigurationInfo.class);
             } else {
                 log.info("The value returned from getConfig is {}", configuration);
-
                 result = gson.toJson(configuration);
-
             }
-
         }
         return result;
-
     }
-
 }
index f5d1736..bdc263f 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.servlets;
 
-import org.openecomp.sdc.common.api.Constants;
-import org.openecomp.sdc.exception.NotFoundException;
-import org.openecomp.sdc.fe.config.ConfigurationManager;
-import org.openecomp.sdc.fe.config.FeEcompErrorManager;
-import org.openecomp.sdc.fe.config.WorkspaceConfiguration;
-import org.openecomp.sdc.fe.impl.PluginStatusBL;
-import org.owasp.esapi.ESAPI;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.GET;
@@ -40,6 +29,15 @@ import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response.Status;
+import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.exception.NotFoundException;
+import org.openecomp.sdc.fe.config.ConfigurationManager;
+import org.openecomp.sdc.fe.config.FeEcompErrorManager;
+import org.openecomp.sdc.fe.config.WorkspaceConfiguration;
+import org.openecomp.sdc.fe.impl.PluginStatusBL;
+import org.owasp.esapi.ESAPI;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Root resource (exposed at "/" path)
@@ -47,23 +45,18 @@ import javax.ws.rs.core.Response.Status;
 @Path("/config")
 public class ConfigServlet extends LoggingServlet {
 
-    private static final Logger log = LoggerFactory.getLogger(ConfigServlet.class.getName());
     public static final String UNEXPECTED_FE_RESPONSE_LOGGING_ERROR = "Unexpected FE response logging error :";
     public static final String ERROR_FE_RESPONSE = "FE Response";
+    private static final Logger log = LoggerFactory.getLogger(ConfigServlet.class.getName());
 
     @GET
     @Path("/ui/workspace")
     @Produces(MediaType.APPLICATION_JSON)
     public Response getUIWorkspaceConfiguration(@Context final HttpServletRequest request) {
-
         try {
             logFeRequest(request);
-
             ServletContext context = request.getSession().getServletContext();
-
-            ConfigurationManager configurationManager = (ConfigurationManager) context
-                    .getAttribute(Constants.CONFIGURATION_MANAGER_ATTR);
-
+            ConfigurationManager configurationManager = (ConfigurationManager) context.getAttribute(Constants.CONFIGURATION_MANAGER_ATTR);
             WorkspaceConfiguration configuration = configurationManager.getWorkspaceConfiguration();
             if (configuration == null) {
                 throw new NotFoundException(WorkspaceConfiguration.class.getSimpleName());
@@ -72,67 +65,50 @@ public class ConfigServlet extends LoggingServlet {
             String result = gson.toJson(configuration);
             Response response = Response.status(Status.OK).entity(result).build();
             logFeResponse(request, response);
-
             return response;
         } catch (Exception e) {
             FeEcompErrorManager.getInstance().logFeHttpLoggingError(ERROR_FE_RESPONSE);
             log.error(UNEXPECTED_FE_RESPONSE_LOGGING_ERROR, e);
             return Response.status(Status.INTERNAL_SERVER_ERROR).entity("{}").build();
         }
-
     }
 
-
     @GET
     @Path("/ui/plugins")
     @Produces(MediaType.APPLICATION_JSON)
     public Response getPluginsConfiguration(@Context final HttpServletRequest request) {
-
         try {
             logFeRequest(request);
-
             ServletContext context = request.getSession().getServletContext();
-
             PluginStatusBL pluginStatusBL = (PluginStatusBL) context.getAttribute(Constants.PLUGIN_BL_COMPONENT);
-
             String result = pluginStatusBL.getPluginsList();
-
             Response response = Response.status(Status.OK).entity(result).build();
-
             logFeResponse(request, response);
-
             return response;
         } catch (Exception e) {
-            FeEcompErrorManager.getInstance().logFeHttpLoggingError( ERROR_FE_RESPONSE);
+            FeEcompErrorManager.getInstance().logFeHttpLoggingError(ERROR_FE_RESPONSE);
             log.error(UNEXPECTED_FE_RESPONSE_LOGGING_ERROR, e);
             return Response.status(Status.INTERNAL_SERVER_ERROR).entity("{}").build();
         }
-
     }
 
     @GET
     @Path("/ui/plugins/{pluginId}/online")
     @Produces(MediaType.APPLICATION_JSON)
     public Response getPluginOnlineState(@PathParam("pluginId") String pluginId, @Context final HttpServletRequest request) {
-
         try {
             logFeRequest(request);
             pluginId = ESAPI.encoder().encodeForHTML(pluginId);
             ServletContext context = request.getSession().getServletContext();
-
             PluginStatusBL pluginStatusBL = (PluginStatusBL) context.getAttribute(Constants.PLUGIN_BL_COMPONENT);
-
             String result = pluginStatusBL.getPluginAvailability(pluginId);
-
             if (result == null) {
                 log.debug("Plugin with pluginId: {} was not found in the configuration", pluginId);
-                return Response.status(Status.NOT_FOUND).entity("Plugin with pluginId:\"" + pluginId + "\" was not found in the configuration").build();
+                return Response.status(Status.NOT_FOUND).entity("Plugin with pluginId:\"" + pluginId + "\" was not found in the configuration")
+                    .build();
             }
-
             Response response = Response.status(Status.OK).entity(result).build();
-
             logFeResponse(request, response);
-
             return response;
         } catch (Exception e) {
             FeEcompErrorManager.getInstance().logFeHttpLoggingError(ERROR_FE_RESPONSE);
index 5243366..b23bb8b 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.servlets;
 
-import com.jcabi.aspects.Loggable;
-import org.openecomp.sdc.common.servlets.BasicServlet;
-import org.openecomp.sdc.fe.impl.HealthCheckService;
+import static org.openecomp.sdc.common.api.Constants.HEALTH_CHECK_SERVICE_ATTR;
 
+import com.jcabi.aspects.Loggable;
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.Response;
-
-import static org.openecomp.sdc.common.api.Constants.HEALTH_CHECK_SERVICE_ATTR;
+import org.openecomp.sdc.common.servlets.BasicServlet;
+import org.openecomp.sdc.fe.impl.HealthCheckService;
 
 @Loggable(prepend = true, value = Loggable.TRACE, trim = false)
 @Path("/healthCheck")
 public class FeHealthCheckServlet extends BasicServlet {
+
     @GET
     public Response getFEandBeHealthCheck(@Context final HttpServletRequest request) {
         ServletContext context = request.getSession().getServletContext();
index 5362b52..0ef4353 100644 (file)
@@ -7,9 +7,9 @@
  * 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.
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.servlets;
 
+import static org.apache.commons.lang3.StringUtils.isEmpty;
+
 import com.google.common.annotations.VisibleForTesting;
+import java.net.MalformedURLException;
+import java.net.URL;
 import java.util.Base64;
+import javax.servlet.http.HttpServletRequest;
 import org.apache.commons.lang3.NotImplementedException;
 import org.apache.commons.lang3.StringUtils;
 import org.eclipse.jetty.client.api.Request;
@@ -40,286 +44,270 @@ import org.openecomp.sdc.fe.config.PluginsConfiguration.Plugin;
 import org.openecomp.sdc.fe.impl.LogHandler;
 import org.openecomp.sdc.fe.utils.BeProtocol;
 
-import javax.servlet.http.HttpServletRequest;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import static org.apache.commons.lang3.StringUtils.isEmpty;
-
-
 public class FeProxyServlet extends SSLProxyServlet {
-       private static final long serialVersionUID = 1L;
-       private static final String URL = "%s://%s%s%s";
-       private static final String MS_URL = "%s://%s:%s";
-       private static final String ONBOARDING_CONTEXT = "/onboarding-api";
-       private static final String DCAED_CONTEXT = "/dcae-api";
-       private static final String WORKFLOW_CONTEXT = "/wf";
-       private static final String SDC1_FE_PROXY = "/sdc1/feProxy";
-       private static final String PLUGIN_ID_WORKFLOW = "WORKFLOW";
-       public static final String UUID = "uuid";
-       public static final String TRANSACTION_START_TIME = "transactionStartTime";
-       private static Logger log = Logger.getLogger(FeProxyServlet.class.getName());
-
-       private static String msUrl;
-       private static final String FACADE_PATH_IDENTIFIER = "uicache";
-       private static final String CATALOG_REQUEST_IDENTIFIER = "/v1/catalog";
-       private static final String ARCHIVE_PATH_IDENTIFIER = String.format("%s/archive/", CATALOG_REQUEST_IDENTIFIER);
-       private static final String HOME_REQUEST_IDENTIFIER = "/v1/followed";
-       @Override
-       protected String rewriteTarget(HttpServletRequest request) {
-               String originalUrl="";
-               String redirectedUrl = "";
-
-               try {
-                       logFeRequest(request);
-                       originalUrl = request.getRequestURL().toString();
 
-                       Configuration config = getConfiguration(request);
-                       if (config == null) {
-                               log.error("failed to retrieve configuration.");
-                       }
-                       if (isMsRequest(request.getRequestURL().toString())) {
-                               redirectedUrl = redirectMsRequestToMservice(request, config);
-                       } else {
-                               redirectedUrl = getModifiedUrl(config, getPluginConfiguration(request), request.getRequestURI(), getQueryString(request));
-                       }
-               }
-               catch (MalformedURLException mue) {
-                       FeEcompErrorManager.getInstance().logFeHttpLoggingError("FE Request");
-                       log.error(EcompLoggerErrorCode.DATA_ERROR, "FeProxyServlet rewriteTarget", "sdc-FE", "Malformed URL Exception: ", mue);
-               }
-               catch (Exception e) {
-            log.error(EcompLoggerErrorCode.UNKNOWN_ERROR,"FeProxyServlet rewriteTarget", "sdc-FE", "Unexpected FE request processing error: ", e);
-               }
-               if (log.isDebugEnabled()) {
-                       log.debug("FeProxyServlet Redirecting request from: {} , to: {}", originalUrl, redirectedUrl);
-               }
+    public static final String UUID = "uuid";
+    public static final String TRANSACTION_START_TIME = "transactionStartTime";
+    private static final long serialVersionUID = 1L;
+    private static final String URL = "%s://%s%s%s";
+    private static final String MS_URL = "%s://%s:%s";
+    private static final String ONBOARDING_CONTEXT = "/onboarding-api";
+    private static final String DCAED_CONTEXT = "/dcae-api";
+    private static final String WORKFLOW_CONTEXT = "/wf";
+    private static final String SDC1_FE_PROXY = "/sdc1/feProxy";
+    private static final String PLUGIN_ID_WORKFLOW = "WORKFLOW";
+    private static final String FACADE_PATH_IDENTIFIER = "uicache";
+    private static final String CATALOG_REQUEST_IDENTIFIER = "/v1/catalog";
+    private static final String ARCHIVE_PATH_IDENTIFIER = String.format("%s/archive/", CATALOG_REQUEST_IDENTIFIER);
+    private static final String HOME_REQUEST_IDENTIFIER = "/v1/followed";
+    private static Logger log = Logger.getLogger(FeProxyServlet.class.getName());
+    private static String msUrl;
 
-               return redirectedUrl;
-       }
+    @Override
+    protected String rewriteTarget(HttpServletRequest request) {
+        String originalUrl = "";
+        String redirectedUrl = "";
+        try {
+            logFeRequest(request);
+            originalUrl = request.getRequestURL().toString();
+            Configuration config = getConfiguration(request);
+            if (config == null) {
+                log.error("failed to retrieve configuration.");
+            }
+            if (isMsRequest(request.getRequestURL().toString())) {
+                redirectedUrl = redirectMsRequestToMservice(request, config);
+            } else {
+                redirectedUrl = getModifiedUrl(config, getPluginConfiguration(request), request.getRequestURI(), getQueryString(request));
+            }
+        } catch (MalformedURLException mue) {
+            FeEcompErrorManager.getInstance().logFeHttpLoggingError("FE Request");
+            log.error(EcompLoggerErrorCode.DATA_ERROR, "FeProxyServlet rewriteTarget", "sdc-FE", "Malformed URL Exception: ", mue);
+        } catch (Exception e) {
+            log.error(EcompLoggerErrorCode.UNKNOWN_ERROR, "FeProxyServlet rewriteTarget", "sdc-FE", "Unexpected FE request processing error: ", e);
+        }
+        if (log.isDebugEnabled()) {
+            log.debug("FeProxyServlet Redirecting request from: {} , to: {}", originalUrl, redirectedUrl);
+        }
+        return redirectedUrl;
+    }
 
-       @Override
-       protected void addProxyHeaders(HttpServletRequest clientRequest, Request proxyRequest)
-       {
-               Configuration config = getConfiguration(clientRequest);
-               if (config == null) {
-                       log.error("Failed to retrieve configuration. Adding proxy header failed.");
-                       return;
-               }
-               BasicAuthConfig basicAuth = config.getBasicAuth();
-               if (basicAuth.isEnabled()) {
-                       proxyRequest.header(HttpHeader.AUTHORIZATION,
-                               "Basic " + Base64.getEncoder().encodeToString((basicAuth.getUserName() + ":" + basicAuth.getUserPass()).getBytes()));
-               }
-               super.addProxyHeaders(clientRequest, proxyRequest);
-       }
+    @Override
+    protected void addProxyHeaders(HttpServletRequest clientRequest, Request proxyRequest) {
+        Configuration config = getConfiguration(clientRequest);
+        if (config == null) {
+            log.error("Failed to retrieve configuration. Adding proxy header failed.");
+            return;
+        }
+        BasicAuthConfig basicAuth = config.getBasicAuth();
+        if (basicAuth.isEnabled()) {
+            proxyRequest.header(HttpHeader.AUTHORIZATION,
+                "Basic " + Base64.getEncoder().encodeToString((basicAuth.getUserName() + ":" + basicAuth.getUserPass()).getBytes()));
+        }
+        super.addProxyHeaders(clientRequest, proxyRequest);
+    }
 
-       private void logFeRequest(HttpServletRequest httpRequest){
-               LogHandler.logFeRequest(httpRequest);
-               inHttpRequest(httpRequest);
-       }
+    private void logFeRequest(HttpServletRequest httpRequest) {
+        LogHandler.logFeRequest(httpRequest);
+        inHttpRequest(httpRequest);
+    }
 
-       private void logFeResponse(HttpServletRequest request, Response proxyResponse){
-               LogHandler.logFeResponse(request);
-               outHttpResponse(proxyResponse);
-       }
+    private void logFeResponse(HttpServletRequest request, Response proxyResponse) {
+        LogHandler.logFeResponse(request);
+        outHttpResponse(proxyResponse);
+    }
 
-       // Extracted for purpose of clear method name, for logback %M parameter
-       private void inHttpRequest(HttpServletRequest httpRequest) {
-               log.info("{} {} {}", httpRequest.getMethod(), httpRequest.getRequestURI(), httpRequest.getProtocol());
-       }
+    // Extracted for purpose of clear method name, for logback %M parameter
+    private void inHttpRequest(HttpServletRequest httpRequest) {
+        log.info("{} {} {}", httpRequest.getMethod(), httpRequest.getRequestURI(), httpRequest.getProtocol());
+    }
 
-       // Extracted for purpose of clear method name, for logback %M parameter
-       private void outHttpResponse(Response proxyResponse) {
-               log.info("SC=\"{}\"", proxyResponse.getStatus());
-       }
+    // Extracted for purpose of clear method name, for logback %M parameter
+    private void outHttpResponse(Response proxyResponse) {
+        log.info("SC=\"{}\"", proxyResponse.getStatus());
+    }
 
-       private String getModifiedUrl(Configuration config, PluginsConfiguration pluginConf, String uri, String queryString) throws MalformedURLException{
-               if (config == null) {
-            log.error(EcompLoggerErrorCode.UNKNOWN_ERROR,"FeProxyServlet getModifiedUrl", "sdc-FE", "failed to retrieve configuration.");
-                       throw new RuntimeException("failed to read FE configuration");
-               }
-               String protocol;
-               String host;
-               String port;
-               String path = "";
-               if (uri.contains(ONBOARDING_CONTEXT)){
-                       uri = uri.replace(SDC1_FE_PROXY+ONBOARDING_CONTEXT,ONBOARDING_CONTEXT);
-                       protocol = config.getOnboarding().getProtocolBe();
-                       host = config.getOnboarding().getHostBe();
-                       port = config.getOnboarding().getPortBe().toString();           
-               }else if(uri.contains(DCAED_CONTEXT)){
-                       uri = uri.replace(SDC1_FE_PROXY+DCAED_CONTEXT,DCAED_CONTEXT);
-                       protocol = config.getBeProtocol();
-                       host = config.getBeHost();
-                       if (config.getBeProtocol().equals(BeProtocol.HTTP.getProtocolName())) {
-                               port = config.getBeHttpPort().toString();
-                       } else {
-                               port = config.getBeSslPort().toString();
-                       }
-               }
-               else if (uri.contains(WORKFLOW_CONTEXT)){
-                       uri = uri.replace(SDC1_FE_PROXY +WORKFLOW_CONTEXT,WORKFLOW_CONTEXT);
-                       String workflowPluginURL = pluginConf.getPluginsList()
-                                       .stream()
-                                       .filter(plugin -> plugin.getPluginId().equalsIgnoreCase(PLUGIN_ID_WORKFLOW))
-                                       .map(Plugin::getPluginDiscoveryUrl)
-                                       .findFirst().orElse(null);
+    private String getModifiedUrl(Configuration config, PluginsConfiguration pluginConf, String uri, String queryString)
+        throws MalformedURLException {
+        if (config == null) {
+            log.error(EcompLoggerErrorCode.UNKNOWN_ERROR, "FeProxyServlet getModifiedUrl", "sdc-FE", "failed to retrieve configuration.");
+            throw new RuntimeException("failed to read FE configuration");
+        }
+        String protocol;
+        String host;
+        String port;
+        String path = "";
+        if (uri.contains(ONBOARDING_CONTEXT)) {
+            uri = uri.replace(SDC1_FE_PROXY + ONBOARDING_CONTEXT, ONBOARDING_CONTEXT);
+            protocol = config.getOnboarding().getProtocolBe();
+            host = config.getOnboarding().getHostBe();
+            port = config.getOnboarding().getPortBe().toString();
+        } else if (uri.contains(DCAED_CONTEXT)) {
+            uri = uri.replace(SDC1_FE_PROXY + DCAED_CONTEXT, DCAED_CONTEXT);
+            protocol = config.getBeProtocol();
+            host = config.getBeHost();
+            if (config.getBeProtocol().equals(BeProtocol.HTTP.getProtocolName())) {
+                port = config.getBeHttpPort().toString();
+            } else {
+                port = config.getBeSslPort().toString();
+            }
+        } else if (uri.contains(WORKFLOW_CONTEXT)) {
+            uri = uri.replace(SDC1_FE_PROXY + WORKFLOW_CONTEXT, WORKFLOW_CONTEXT);
+            String workflowPluginURL = pluginConf.getPluginsList().stream()
+                .filter(plugin -> plugin.getPluginId().equalsIgnoreCase(PLUGIN_ID_WORKFLOW)).map(Plugin::getPluginDiscoveryUrl).findFirst()
+                .orElse(null);
+            java.net.URL workflowURL = new URL(workflowPluginURL);
+            protocol = workflowURL.getProtocol();
+            host = workflowURL.getHost();
+            path = workflowURL.getPath();
+            port = String.valueOf(workflowURL.getPort());
+        } else {
+            uri = uri.replace(SDC1_FE_PROXY, "/sdc2");
+            protocol = config.getBeProtocol();
+            host = config.getBeHost();
+            if (config.getBeProtocol().equals(BeProtocol.HTTP.getProtocolName())) {
+                port = config.getBeHttpPort().toString();
+            } else {
+                port = config.getBeSslPort().toString();
+            }
+        }
+        final String authority = getAuthority(host, port);
+        String modifiedUrl = String.format(URL, protocol, authority, path, uri);
+        if (StringUtils.isNotEmpty(queryString)) {
+            modifiedUrl += "?" + queryString;
+        }
+        return modifiedUrl;
+    }
 
-                       java.net.URL workflowURL = new URL(workflowPluginURL);
-                       protocol = workflowURL.getProtocol();
-                       host = workflowURL.getHost();
-                       path = workflowURL.getPath();
-                       port = String.valueOf(workflowURL.getPort());
-               }
-               else{
-                       uri = uri.replace(SDC1_FE_PROXY,"/sdc2");
-                       protocol = config.getBeProtocol();
-                       host = config.getBeHost();
-                       if (config.getBeProtocol().equals(BeProtocol.HTTP.getProtocolName())) {
-                               port = config.getBeHttpPort().toString();
-                       } else {
-                               port = config.getBeSslPort().toString();
-                       }
-               }       
+    @VisibleForTesting
+    String redirectMsRequestToMservice(HttpServletRequest request, Configuration config) throws MalformedURLException {
+        boolean isMsToggledOn = isMsToggleOn(config);
+        String redirectValue;
+        if (isMsToggledOn) {
+            redirectValue = handleMsToggleOnRedirect(request, config);
+        } else {
+            redirectValue = handleMsToggleOffRedirect(request, config);
+        }
+        return redirectValue;
+    }
 
-               final String authority = getAuthority(host, port);
-               String modifiedUrl = String.format(URL, protocol, authority, path, uri);
-               if (StringUtils.isNotEmpty(queryString)) {
-                       modifiedUrl += "?" + queryString;
-               }
-                
-               return modifiedUrl;
-       }
+    private PluginsConfiguration getPluginConfiguration(HttpServletRequest request) {
+        return ((ConfigurationManager) request.getSession().getServletContext().getAttribute(Constants.CONFIGURATION_MANAGER_ATTR))
+            .getPluginsConfiguration();
+    }
 
-       @VisibleForTesting
-       String redirectMsRequestToMservice(HttpServletRequest request, Configuration config) throws MalformedURLException {
+    private boolean isMsToggleOn(Configuration config) {
+        boolean toggleOn = true;
+        final CatalogFacadeMsConfig catalogFacadeMs = config.getCatalogFacadeMs();
+        if (catalogFacadeMs == null) {
+            toggleOn = false;
+            ;
+        } else if (isEmpty(catalogFacadeMs.getHealthCheckUri())) {
+            toggleOn = false;
+        } else if (isEmpty(catalogFacadeMs.getHost())) {
+            toggleOn = false;
+        } else if (isEmpty(catalogFacadeMs.getPath())) {
+            toggleOn = false;
+        } else if (isEmpty(catalogFacadeMs.getProtocol())) {
+            toggleOn = false;
+        } else if (catalogFacadeMs.getPort() == null) {
+            toggleOn = false;
+        }
+        return toggleOn;
+    }
 
-               boolean isMsToggledOn = isMsToggleOn(config);
-               String redirectValue;
-               if (isMsToggledOn) {
-                       redirectValue = handleMsToggleOnRedirect(request, config);
-               } else {
-                       redirectValue = handleMsToggleOffRedirect(request, config);
-               }
-               return redirectValue;
-       }
-private PluginsConfiguration getPluginConfiguration(HttpServletRequest request) {
-               return ((ConfigurationManager) request.getSession().getServletContext().getAttribute(Constants.CONFIGURATION_MANAGER_ATTR)).getPluginsConfiguration();
-  }
-       private boolean isMsToggleOn(Configuration config) {
-               boolean toggleOn = true;
-               final CatalogFacadeMsConfig catalogFacadeMs = config.getCatalogFacadeMs();
-               if (catalogFacadeMs == null) {
-                       toggleOn = false;
-                       ;
-               } else if (isEmpty(catalogFacadeMs.getHealthCheckUri())) {
-                       toggleOn = false;
-               } else if (isEmpty(catalogFacadeMs.getHost())) {
-                       toggleOn = false;
-               } else if (isEmpty(catalogFacadeMs.getPath())) {
-                       toggleOn = false;
-               } else if (isEmpty(catalogFacadeMs.getProtocol())) {
-                       toggleOn = false;
-               } else if (catalogFacadeMs.getPort() == null) {
-                       toggleOn = false;
-               }
-               return toggleOn;
-       }
-       private String handleMsToggleOffRedirect(HttpServletRequest request, Configuration config) throws MalformedURLException {
-               String redirectValue;
-               String currentURI = request.getRequestURI();
-               if (isEmpty(request.getQueryString())) {
-                       // Catalog
-                       if (currentURI.endsWith(CATALOG_REQUEST_IDENTIFIER)) {
-                               String facadeSuffix = String.format("%s%s", FACADE_PATH_IDENTIFIER, CATALOG_REQUEST_IDENTIFIER);
-                               String nonFacadeUrl = currentURI.replace(facadeSuffix, "rest/v1/screen");
-                               redirectValue = getModifiedUrl(config, getPluginConfiguration(request), nonFacadeUrl, "excludeTypes=VFCMT&excludeTypes=Configuration");
-                       }
-                       // Home
-                       else if (currentURI.endsWith(HOME_REQUEST_IDENTIFIER)){
-                               redirectValue = getModifiedUrl(config, getPluginConfiguration(request), currentURI, getQueryString(request));
-                       }
-                       // Archive
-                       else if (currentURI.endsWith(ARCHIVE_PATH_IDENTIFIER)) {
-                               redirectValue = getModifiedUrl(config, getPluginConfiguration(request), currentURI, getQueryString(request));
-                       } else {
-                               String message = String.format("facade is toggled off, Could not rediret url %s", currentURI);
-                               log.error(message);
-                               throw new NotImplementedException(message);
-                       }
-               } else {
-                       // Left Pallet
-                       if (currentURI.contains("/latestversion/notabstract/metadata")) {
-                               String nonFacadeUrl = currentURI.replace(FACADE_PATH_IDENTIFIER, "rest");
-                               redirectValue = getModifiedUrl(config, getPluginConfiguration(request), nonFacadeUrl, getQueryString(request));
-                       }
-                       // Catalog with Query Params
-                       else if (currentURI.endsWith(CATALOG_REQUEST_IDENTIFIER)) {
-                               String facadeSuffix = String.format("%s%s", FACADE_PATH_IDENTIFIER, CATALOG_REQUEST_IDENTIFIER);
-                               String nonFacadeUrl = currentURI.replace(facadeSuffix, "rest/v1/screen");
-                               redirectValue = getModifiedUrl(config, getPluginConfiguration(request), nonFacadeUrl, "excludeTypes=VFCMT&excludeTypes=Configuration");
-                       } else {
-                               String message = String.format("facade is toggled off, Could not rediret url %s with query params %s",
-                                               currentURI, getQueryString(request));
-                               log.error(message);
-                               throw new NotImplementedException(message);
-                       }
-               }
+    private String handleMsToggleOffRedirect(HttpServletRequest request, Configuration config) throws MalformedURLException {
+        String redirectValue;
+        String currentURI = request.getRequestURI();
+        if (isEmpty(request.getQueryString())) {
+            // Catalog
+            if (currentURI.endsWith(CATALOG_REQUEST_IDENTIFIER)) {
+                String facadeSuffix = String.format("%s%s", FACADE_PATH_IDENTIFIER, CATALOG_REQUEST_IDENTIFIER);
+                String nonFacadeUrl = currentURI.replace(facadeSuffix, "rest/v1/screen");
+                redirectValue = getModifiedUrl(config, getPluginConfiguration(request), nonFacadeUrl,
+                    "excludeTypes=VFCMT&excludeTypes=Configuration");
+            }
+            // Home
+            else if (currentURI.endsWith(HOME_REQUEST_IDENTIFIER)) {
+                redirectValue = getModifiedUrl(config, getPluginConfiguration(request), currentURI, getQueryString(request));
+            }
+            // Archive
+            else if (currentURI.endsWith(ARCHIVE_PATH_IDENTIFIER)) {
+                redirectValue = getModifiedUrl(config, getPluginConfiguration(request), currentURI, getQueryString(request));
+            } else {
+                String message = String.format("facade is toggled off, Could not rediret url %s", currentURI);
+                log.error(message);
+                throw new NotImplementedException(message);
+            }
+        } else {
+            // Left Pallet
+            if (currentURI.contains("/latestversion/notabstract/metadata")) {
+                String nonFacadeUrl = currentURI.replace(FACADE_PATH_IDENTIFIER, "rest");
+                redirectValue = getModifiedUrl(config, getPluginConfiguration(request), nonFacadeUrl, getQueryString(request));
+            }
+            // Catalog with Query Params
+            else if (currentURI.endsWith(CATALOG_REQUEST_IDENTIFIER)) {
+                String facadeSuffix = String.format("%s%s", FACADE_PATH_IDENTIFIER, CATALOG_REQUEST_IDENTIFIER);
+                String nonFacadeUrl = currentURI.replace(facadeSuffix, "rest/v1/screen");
+                redirectValue = getModifiedUrl(config, getPluginConfiguration(request), nonFacadeUrl,
+                    "excludeTypes=VFCMT&excludeTypes=Configuration");
+            } else {
+                String message = String
+                    .format("facade is toggled off, Could not rediret url %s with query params %s", currentURI, getQueryString(request));
+                log.error(message);
+                throw new NotImplementedException(message);
+            }
+        }
+        return redirectValue;
+    }
 
-               return redirectValue;
-       }
+    private String handleMsToggleOnRedirect(HttpServletRequest request, Configuration config) {
+        String currentUrl = request.getRequestURL().toString();
+        if (StringUtils.isEmpty(msUrl)) {
+            // do that only once
+            msUrl = String.format(MS_URL, config.getCatalogFacadeMs().getProtocol(), config.getCatalogFacadeMs().getHost(),
+                config.getCatalogFacadeMs().getPort());
+        }
+        StringBuilder url;
+        String queryString;
+        String msPath = config.getCatalogFacadeMs().getPath();
+        if (currentUrl.endsWith(ARCHIVE_PATH_IDENTIFIER)) {
+            url = new StringBuilder(msUrl + msPath + CATALOG_REQUEST_IDENTIFIER);
+            queryString = "arc=true";
+        } else {
+            url = new StringBuilder(msUrl + currentUrl.substring(currentUrl.indexOf(msPath)));
+            queryString = request.getQueryString();
+        }
+        if (queryString != null) {
+            url.append("?").append(queryString);
+        }
+        if (log.isDebugEnabled()) {
+            log.debug("Redirect catalog request to {}", url.toString());
+        }
+        return url.toString();
+    }
 
-  private String handleMsToggleOnRedirect(HttpServletRequest request, Configuration config) {
-               String currentUrl = request.getRequestURL()
-                               .toString();
-               if (StringUtils.isEmpty(msUrl)) {
-                       // do that only once
-                       msUrl = String.format(MS_URL, config.getCatalogFacadeMs()
-                                       .getProtocol(),
-                                       config.getCatalogFacadeMs().getHost(),
-                                       config.getCatalogFacadeMs().getPort());
-               }
-               StringBuilder url;
-               String queryString;
-               String msPath = config.getCatalogFacadeMs().getPath();
-               if (currentUrl.endsWith(ARCHIVE_PATH_IDENTIFIER)) {
-                       url = new StringBuilder(msUrl + msPath + CATALOG_REQUEST_IDENTIFIER);
-                       queryString = "arc=true";
-               } else {
-                       url = new StringBuilder(msUrl + currentUrl.substring(currentUrl.indexOf(msPath)));
-                       queryString = request.getQueryString();
-               }
-               if (queryString != null) {
-                       url.append("?").append(queryString);
-               }
-               if (log.isDebugEnabled()) {
-                       log.debug("Redirect catalog request to {}", url.toString());
-               }
-               return url.toString();
-       }
+    @VisibleForTesting
+    boolean isMsRequest(String currentUrl) {
+        return currentUrl.contains(FACADE_PATH_IDENTIFIER) || currentUrl.endsWith(ARCHIVE_PATH_IDENTIFIER);
+    }
 
-       @VisibleForTesting
-       boolean isMsRequest(String currentUrl) {
-               return currentUrl.contains(FACADE_PATH_IDENTIFIER) || currentUrl.endsWith(ARCHIVE_PATH_IDENTIFIER);
-       }
-       private Configuration getConfiguration(HttpServletRequest request) {
-               return ((ConfigurationManager) request.getSession().getServletContext().getAttribute(Constants.CONFIGURATION_MANAGER_ATTR)).getConfiguration();
-       }
+    private Configuration getConfiguration(HttpServletRequest request) {
+        return ((ConfigurationManager) request.getSession().getServletContext().getAttribute(Constants.CONFIGURATION_MANAGER_ATTR))
+            .getConfiguration();
+    }
 
-       private String getAuthority(String host, String port) {
-               String authority;
-               if (port == null) {
-                       authority = host;
-               } else {
-                       authority = host + ":" + port;
-               }
-               return authority;
-       }
-       
-       private String getQueryString(HttpServletRequest request){
-               final String queryString = request.getQueryString();
-               return StringUtils.isEmpty(queryString) ? StringUtils.EMPTY : queryString;
-       }
+    private String getAuthority(String host, String port) {
+        String authority;
+        if (port == null) {
+            authority = host;
+        } else {
+            authority = host + ":" + port;
+        }
+        return authority;
+    }
 
+    private String getQueryString(HttpServletRequest request) {
+        final String queryString = request.getQueryString();
+        return StringUtils.isEmpty(queryString) ? StringUtils.EMPTY : queryString;
+    }
 }
index 4bcbaa5..8e0702a 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.servlets;
 
-import org.openecomp.sdc.common.servlets.BasicServlet;
-import org.openecomp.sdc.fe.impl.LogHandler;
-
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.core.Response;
+import org.openecomp.sdc.common.servlets.BasicServlet;
+import org.openecomp.sdc.fe.impl.LogHandler;
 
 public abstract class LoggingServlet extends BasicServlet {
 
@@ -33,16 +31,18 @@ public abstract class LoggingServlet extends BasicServlet {
 
     /**
      * log incoming requests
+     *
      * @param httpRequest the http request
      */
-    void logFeRequest(HttpServletRequest httpRequest){
+    void logFeRequest(HttpServletRequest httpRequest) {
         LogHandler.logFeRequest(httpRequest);
         inHttpRequest(httpRequest);
     }
 
     /**
      * log response
-     * @param request orig request
+     *
+     * @param request  orig request
      * @param response returned response
      */
     void logFeResponse(HttpServletRequest request, Response response) {
@@ -52,13 +52,14 @@ public abstract class LoggingServlet extends BasicServlet {
 
     /**
      * Extracted for purpose of clear method name, for logback %M parameter
+     *
      * @param httpRequest http request
      */
-    protected abstract void inHttpRequest(HttpServletRequest httpRequest) ;
-
+    protected abstract void inHttpRequest(HttpServletRequest httpRequest);
 
     /**
      * Extracted for purpose of clear method name, for logback %M parameter
+     *
      * @param response http response
      */
     protected abstract void outHttpResponse(Response response);
index 18c6a64..64b8cb1 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.servlets;
 
+import java.io.IOException;
+import java.util.Enumeration;
+import java.util.List;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.core.Context;
 import org.onap.portalsdk.core.onboarding.exception.CipherUtilException;
 import org.onap.portalsdk.core.onboarding.util.CipherUtil;
 import org.onap.sdc.security.AuthenticationCookie;
@@ -31,32 +42,51 @@ import org.openecomp.sdc.fe.config.Configuration;
 import org.openecomp.sdc.fe.config.ConfigurationManager;
 import org.openecomp.sdc.fe.config.FeEcompErrorManager;
 
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.List;
-
 /**
  * Root resource (exposed at "/" path)
  */
 @Path("/")
 public class PortalServlet extends HttpServlet {
 
-    private static Logger log = Logger.getLogger(PortalServlet.class.getName());
-    private static final long serialVersionUID = 1L;
-
     public static final String MISSING_HEADERS_MSG = "Missing Headers In Request";
+    private static final long serialVersionUID = 1L;
     private static final String AUTHORIZATION_ERROR_MSG = "Autherization error";
     private static final String NEW_LINE = System.getProperty("line.separator");
+    private static Logger log = Logger.getLogger(PortalServlet.class.getName());
+
+    private static String getUserIdFromCookie(HttpServletRequest request) throws CipherUtilException {
+        String userId = "";
+        Cookie[] cookies = request.getCookies();
+        Cookie userIdcookie = null;
+        if (cookies != null) {
+            for (Cookie cookie : cookies) {
+                if (cookie.getName().equals(Constants.ECOMP_PORTAL_COOKIE)) {
+                    userIdcookie = cookie;
+                }
+            }
+        }
+        if (userIdcookie != null) {
+            userId = CipherUtil.decrypt(userIdcookie.getValue());
+        }
+        return userId;
+    }
 
+    private static String getValueFromCookie(HttpServletRequest request, String cookieName) {
+        String value = "";
+        Cookie[] cookies = request.getCookies();
+        Cookie valueFromCookie = null;
+        if (cookies != null) {
+            for (Cookie cookie : cookies) {
+                if (cookie.getName().endsWith(cookieName)) {
+                    valueFromCookie = cookie;
+                }
+            }
+        }
+        if (valueFromCookie != null) {
+            value = valueFromCookie.getValue();
+        }
+        return value;
+    }
 
     /**
      * Entry point from ECOMP portal
@@ -74,24 +104,20 @@ public class PortalServlet extends HttpServlet {
     }
 
     /**
-     * Building new HTTP request and setting headers for the request The request
-     * will dispatch to index.html
+     * Building new HTTP request and setting headers for the request The request will dispatch to index.html
      *
      * @param request
      * @param response
      * @throws ServletException
      * @throws IOException
      */
-    private void addRequestHeadersUsingWebseal(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException {
-
+    private void addRequestHeadersUsingWebseal(final HttpServletRequest request, final HttpServletResponse response)
+        throws ServletException, IOException {
         response.setContentType("text/html");
-
         // Create new request object to dispatch
         MutableHttpServletRequest mutableRequest = new MutableHttpServletRequest(request);
-
         // Get configuration object (reads data from configuration.yaml)
         Configuration configuration = getConfiguration(request);
-
         // Check if we got header from webseal
         String userId = request.getHeader(Constants.WEBSEAL_USER_ID_HEADER);
         if (null == userId) {
@@ -108,49 +134,43 @@ public class PortalServlet extends HttpServlet {
                 log.error("Error during adding request header", e);
             }
         }
-
         // Replace webseal header with open source header
         mutableRequest.putHeader(Constants.USER_ID, userId);
-
-
-
-
-               
         // Getting identification headers from configuration.yaml
+
         // (identificationHeaderFields) and setting them to new request
+
         // mutableRequest
         List<List<String>> identificationHeaderFields = configuration.getIdentificationHeaderFields();
         for (List<String> possibleHeadersToRecieve : identificationHeaderFields) {
             String allowedHeaderToPass = possibleHeadersToRecieve.get(0);
             setNewHeader(possibleHeadersToRecieve, allowedHeaderToPass, request, mutableRequest);
         }
-
         // Getting optional headers from configuration.yaml
+
         // (optionalHeaderFields) and setting them to new request mutableRequest
         List<List<String>> optionalHeaderFields = configuration.getOptionalHeaderFields();
         for (List<String> possibleHeadersToRecieve : optionalHeaderFields) {
             String allowedHeaderToPass = possibleHeadersToRecieve.get(0);
             setNewHeader(possibleHeadersToRecieve, allowedHeaderToPass, request, mutableRequest);
         }
-
         // Print headers from original request for debug purposes
         printHeaders(request);
-
         // In case using webseal, validate all mandatory headers (identificationHeaderFields) are included in the new request (mutableRequest).
+
         // Via ecomp portal do not need to check the headers.
         boolean allHeadersExist = true;
         if (null != request.getHeader(Constants.WEBSEAL_USER_ID_HEADER)) {
             allHeadersExist = checkHeaders(mutableRequest);
         }
-
         if (allHeadersExist) {
             addCookies(response, mutableRequest, getMandatoryHeaders(request));
             addCookies(response, mutableRequest, getOptionalHeaders(request));
-                       getValueFromCookie(request, Constants.HTTP_CSP_FIRSTNAME );
-                       getValueFromCookie(request, Constants.HTTP_CSP_LASTNAME);
+            getValueFromCookie(request, Constants.HTTP_CSP_FIRSTNAME);
+            getValueFromCookie(request, Constants.HTTP_CSP_LASTNAME);
+            //To be fixed
 
-                       //To be fixed
-                       //addAuthCookie(response, userId, firstNameFromCookie, lastNameFromCookie);
+            //addAuthCookie(response, userId, firstNameFromCookie, lastNameFromCookie);
             RequestDispatcher rd = request.getRequestDispatcher("index.html");
             rd.forward(mutableRequest, response);
         } else {
@@ -158,37 +178,32 @@ public class PortalServlet extends HttpServlet {
         }
     }
 
-       boolean addAuthCookie(HttpServletResponse response, String userId, String firstName, String lastName) throws IOException {
-               boolean isBuildCookieCompleted = true;
-               Cookie authCookie = null;
-               Configuration.CookieConfig confCookie =
-                               ConfigurationManager.getConfigurationManager().getConfiguration().getAuthCookie();
-
-               //create authentication and send it to encryption
-
-               String encryptedCookie = "";
-               try {
+    boolean addAuthCookie(HttpServletResponse response, String userId, String firstName, String lastName) throws IOException {
+        boolean isBuildCookieCompleted = true;
+        Cookie authCookie = null;
+        Configuration.CookieConfig confCookie = ConfigurationManager.getConfigurationManager().getConfiguration().getAuthCookie();
+        //create authentication and send it to encryption
+        String encryptedCookie = "";
+        try {
             AuthenticationCookie authenticationCookie = new AuthenticationCookie(userId, firstName, lastName);
-                       String cookieAsJson = RepresentationUtils.toRepresentation(authenticationCookie);
-                       encryptedCookie = org.onap.sdc.security.CipherUtil.encryptPKC(cookieAsJson, confCookie.getSecurityKey());
-               } catch (Exception e) {
-                       isBuildCookieCompleted=false;
-                       log.error(" Cookie Encryption failed ", e);
-               }
-
-               authCookie = new Cookie(confCookie.getCookieName(), encryptedCookie);
-               authCookie.setPath(confCookie.getPath());
-               authCookie.setDomain(confCookie.getDomain());
-               authCookie.setHttpOnly(true);
-
-               // add generated cookie to response
-               if (isBuildCookieCompleted) {
-                       response.addCookie(authCookie);
-                       return true;
-               }
-               response.sendError(HttpServletResponse.SC_UNAUTHORIZED, AUTHORIZATION_ERROR_MSG);
-               return false;
-       }
+            String cookieAsJson = RepresentationUtils.toRepresentation(authenticationCookie);
+            encryptedCookie = org.onap.sdc.security.CipherUtil.encryptPKC(cookieAsJson, confCookie.getSecurityKey());
+        } catch (Exception e) {
+            isBuildCookieCompleted = false;
+            log.error(" Cookie Encryption failed ", e);
+        }
+        authCookie = new Cookie(confCookie.getCookieName(), encryptedCookie);
+        authCookie.setPath(confCookie.getPath());
+        authCookie.setDomain(confCookie.getDomain());
+        authCookie.setHttpOnly(true);
+        // add generated cookie to response
+        if (isBuildCookieCompleted) {
+            response.addCookie(authCookie);
+            return true;
+        }
+        response.sendError(HttpServletResponse.SC_UNAUTHORIZED, AUTHORIZATION_ERROR_MSG);
+        return false;
+    }
 
     /**
      * Print all request headers to the log
@@ -196,7 +211,6 @@ public class PortalServlet extends HttpServlet {
      * @param request
      */
     private void printHeaders(HttpServletRequest request) {
-
         if (log.isDebugEnabled()) {
             StringBuilder builder = new StringBuilder();
             String sessionId = "";
@@ -206,11 +220,9 @@ public class PortalServlet extends HttpServlet {
                     sessionId = id;
                 }
             }
-
             builder.append("Receiving request with headers:" + NEW_LINE);
             log.debug("{}", request.getHeaderNames());
-            @SuppressWarnings("unchecked")
-            Enumeration<String> headerNames = request.getHeaderNames();
+            @SuppressWarnings("unchecked") Enumeration<String> headerNames = request.getHeaderNames();
             if (headerNames != null) {
                 while (headerNames.hasMoreElements()) {
                     String headerName = headerNames.nextElement();
@@ -218,15 +230,13 @@ public class PortalServlet extends HttpServlet {
                     builder.append("session " + sessionId + " header: name = " + headerName + ", value = " + headerValue + NEW_LINE);
                 }
             }
-
             log.debug(builder.toString());
         }
-
     }
 
     /**
-     * Add cookies (that where set in the new request headers) in the response
-     * Using DefaultHTTPUtilities Object to prevent CRLF injection in HTTP headers.
+     * Add cookies (that where set in the new request headers) in the response Using DefaultHTTPUtilities Object to prevent CRLF injection in HTTP
+     * headers.
      *
      * @param response
      * @param request
@@ -245,15 +255,13 @@ public class PortalServlet extends HttpServlet {
     }
 
     /**
-     * Get mandatory headers (identificationHeaderFields) String array, and
-     * checks that each header exists in the new request
+     * Get mandatory headers (identificationHeaderFields) String array, and checks that each header exists in the new request
      *
      * @param request
      * @return boolean
      */
     private boolean checkHeaders(HttpServletRequest request) {
         String[] mandatoryHeaders = getMandatoryHeaders(request);
-
         boolean allHeadersExist = true;
         for (int i = 0; i < mandatoryHeaders.length; i++) {
             String headerValue = request.getHeader(mandatoryHeaders[i]);
@@ -266,8 +274,7 @@ public class PortalServlet extends HttpServlet {
     }
 
     /**
-     * Get mandatory headers (identificationHeaderFields) from
-     * configuration.yaml file and return String[]
+     * Get mandatory headers (identificationHeaderFields) from configuration.yaml file and return String[]
      *
      * @param request
      * @return String[]
@@ -283,8 +290,7 @@ public class PortalServlet extends HttpServlet {
     }
 
     /**
-     * Get optional headers (optionalHeaderFields) from configuration.yaml file
-     * and return String[]
+     * Get optional headers (optionalHeaderFields) from configuration.yaml file and return String[]
      *
      * @param request
      * @return String[]
@@ -306,11 +312,13 @@ public class PortalServlet extends HttpServlet {
      * @return Configuration
      */
     private Configuration getConfiguration(HttpServletRequest request) {
-        ConfigurationManager configManager = (ConfigurationManager) request.getSession().getServletContext().getAttribute(org.openecomp.sdc.common.api.Constants.CONFIGURATION_MANAGER_ATTR);
+        ConfigurationManager configManager = (ConfigurationManager) request.getSession().getServletContext()
+            .getAttribute(org.openecomp.sdc.common.api.Constants.CONFIGURATION_MANAGER_ATTR);
         return configManager.getConfiguration();
     }
 
-    private boolean setNewHeader(List<String> possibleOldHeaders, String newHeaderToSet, HttpServletRequest oldRequest, MutableHttpServletRequest newRequest) {
+    private boolean setNewHeader(List<String> possibleOldHeaders, String newHeaderToSet, HttpServletRequest oldRequest,
+                                 MutableHttpServletRequest newRequest) {
         boolean newHeaderIsSet = false;
         for (int i = 0; i < possibleOldHeaders.size() && !newHeaderIsSet; i++) {
             String headerValue = oldRequest.getHeader(possibleOldHeaders.get(i));
@@ -321,38 +329,4 @@ public class PortalServlet extends HttpServlet {
         }
         return newHeaderIsSet;
     }
-
-    private static String getUserIdFromCookie(HttpServletRequest request) throws CipherUtilException {
-        String userId = "";
-        Cookie[] cookies = request.getCookies();
-        Cookie userIdcookie = null;
-        if (cookies != null) {
-            for (Cookie cookie : cookies) {
-                if (cookie.getName().equals(Constants.ECOMP_PORTAL_COOKIE)) {
-                    userIdcookie = cookie;
-                }
-            }
-        }
-        if (userIdcookie != null) {
-            userId = CipherUtil.decrypt(userIdcookie.getValue());
-        }
-        return userId;
-       }
-
-       private static String getValueFromCookie(HttpServletRequest request, String cookieName) {
-               String value = "";
-               Cookie[] cookies = request.getCookies();
-               Cookie valueFromCookie = null;
-               if (cookies != null)
-                       for (Cookie cookie : cookies) {
-                               if (cookie.getName().endsWith(cookieName)) {
-                                       valueFromCookie = cookie;
-                               }
-                       }
-               if (valueFromCookie != null) {
-                       value = valueFromCookie.getValue();
-               }
-
-               return value;
-    }
 }
index 5f5bcd6..e74893f 100644 (file)
@@ -7,9 +7,9 @@
  * 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.
@@ -17,9 +17,9 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.servlets;
 
+import javax.servlet.ServletException;
 import org.eclipse.jetty.client.HttpClient;
 import org.eclipse.jetty.proxy.ProxyServlet;
 import org.eclipse.jetty.util.ssl.SslContextFactory;
@@ -30,8 +30,6 @@ import org.openecomp.sdc.fe.utils.BeProtocol;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.servlet.ServletException;
-
 public abstract class SSLProxyServlet extends ProxyServlet {
 
     private static final long serialVersionUID = 1L;
@@ -40,27 +38,23 @@ public abstract class SSLProxyServlet extends ProxyServlet {
 
     @Override
     protected HttpClient createHttpClient() throws ServletException {
-        Configuration config = ((ConfigurationManager) getServletConfig().getServletContext()
-                .getAttribute(Constants.CONFIGURATION_MANAGER_ATTR)).getConfiguration();
+        Configuration config = ((ConfigurationManager) getServletConfig().getServletContext().getAttribute(Constants.CONFIGURATION_MANAGER_ATTR))
+            .getConfiguration();
         boolean isSecureClient = !config.getBeProtocol().equals(BeProtocol.HTTP.getProtocolName());
         HttpClient client = (isSecureClient) ? getSecureHttpClient() : super.createHttpClient();
         setTimeout(TIMEOUT);
         client.setIdleTimeout(TIMEOUT);
         client.setStopTimeout(TIMEOUT);
-
         return client;
     }
 
     private HttpClient getSecureHttpClient() throws ServletException {
         // Instantiate and configure the SslContextFactory
         SslContextFactory sslContextFactory = new SslContextFactory(true);
-
         // Instantiate HttpClient with the SslContextFactory
         HttpClient httpClient = new HttpClient(sslContextFactory);
-
         // Configure HttpClient, for example:
         httpClient.setFollowRedirects(false);
-
         // Start HttpClient
         try {
             httpClient.start();
@@ -68,7 +62,6 @@ public abstract class SSLProxyServlet extends ProxyServlet {
             log.error("Exception thrown while starting httpClient", x);
             throw new ServletException(x);
         }
-
         return httpClient;
     }
 }
index 9257bd4..59d5606 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.utils;
 
 public enum BeProtocol {
     HTTP("http"), SSL("ssl");
     private String protocolName;
 
-    public String getProtocolName() {
-        return protocolName;
-    }
-
     BeProtocol(String protocolName) {
         this.protocolName = protocolName;
     }
+
+    public String getProtocolName() {
+        return protocolName;
+    }
 };
index 51fa1d1..a9badde 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.fe.utils;
 
-import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
-import org.apache.http.ssl.SSLContexts;
-
-import javax.net.ssl.SSLContext;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.security.GeneralSecurityException;
 import java.security.KeyStore;
 import java.util.Properties;
+import javax.net.ssl.SSLContext;
+import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
+import org.apache.http.ssl.SSLContexts;
 
 public class JettySSLUtils {
+
     private JettySSLUtils() {
     }
 
     public static JettySslConfig getSSLConfig() throws IOException {
         Properties sslProperties = new Properties();
-
         String sslPropsPath = System.getenv("JETTY_BASE") + File.separator + "/start.d/ssl.ini";
         File sslPropsFile = new File(sslPropsPath);
         try (FileInputStream fis = new FileInputStream(sslPropsFile)) {
             sslProperties.load(fis);
         }
-
         return new JettySslConfig(sslProperties);
     }
 
-
     public static SSLContext getSslContext() throws GeneralSecurityException, IOException {
         JettySSLUtils.JettySslConfig sslProperties = JettySSLUtils.getSSLConfig();
-
-        KeyStore trustStore  = KeyStore.getInstance(sslProperties.getTruststoreType());
-        try (FileInputStream instream = new FileInputStream(new File(sslProperties.getTruststorePath()));
-        ){
+        KeyStore trustStore = KeyStore.getInstance(sslProperties.getTruststoreType());
+        try (FileInputStream instream = new FileInputStream(new File(sslProperties.getTruststorePath()));) {
             trustStore.load(instream, (sslProperties.getTruststorePass()).toCharArray());
         }
-
-        KeyStore keystore  = KeyStore.getInstance(sslProperties.getKeystoreType());
-        try (FileInputStream instream = new FileInputStream(new File(sslProperties.getKeystorePath()));
-        ){
+        KeyStore keystore = KeyStore.getInstance(sslProperties.getKeystoreType());
+        try (FileInputStream instream = new FileInputStream(new File(sslProperties.getKeystorePath()));) {
             keystore.load(instream, sslProperties.getKeystorePass().toCharArray());
         }
-
         // Trust own CA and all self-signed certs
-        return SSLContexts.custom()
-                .loadKeyMaterial(keystore, sslProperties.getKeystorePass().toCharArray())
-                .loadTrustMaterial(trustStore, new TrustSelfSignedStrategy())
-                .build();
+        return SSLContexts.custom().loadKeyMaterial(keystore, sslProperties.getKeystorePass().toCharArray())
+            .loadTrustMaterial(trustStore, new TrustSelfSignedStrategy()).build();
     }
 
-
     public static class JettySslConfig {
-        Properties sslProperties;
+
         static final String JETTY_BASE = System.getenv("JETTY_BASE");
-        static final String KEY_STORE_TYPE_PROPERTY_NAME="jetty.sslContext.keyStoreType";
-        static final String TRUST_STORE_TYPE_PROPERTY_NAME="jetty.sslContext.trustStoreType";
+        static final String KEY_STORE_TYPE_PROPERTY_NAME = "jetty.sslContext.keyStoreType";
+        static final String TRUST_STORE_TYPE_PROPERTY_NAME = "jetty.sslContext.trustStoreType";
+        Properties sslProperties;
+
         JettySslConfig(Properties sslProperties) {
             this.sslProperties = sslProperties;
         }
@@ -123,7 +113,5 @@ public class JettySSLUtils {
         public String getProperty(String key) {
             return sslProperties.getProperty(key);
         }
-
     }
-
 }