Fix duplciates reported by sonar cloud 92/125392/2
authorSirisha_Manchikanti <sirisha.manchikanti@est.tech>
Wed, 27 Oct 2021 07:33:41 +0000 (08:33 +0100)
committerSirisha_Manchikanti <sirisha.manchikanti@est.tech>
Wed, 27 Oct 2021 12:43:53 +0000 (13:43 +0100)
Fixes for the removal of duplicate code blocks reported by sonar cloud

Issue-ID: POLICY-3792
Signed-off-by: Sirisha_Manchikanti <sirisha.manchikanti@est.tech>
Change-Id: I8943f625cd940e7d1f9dd04b0dff2dd838879431

common/src/main/java/org/onap/policy/clamp/controlloop/common/rest/CoderHttpMesageConverter.java [moved from runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/config/CoderHttpMesageConverter.java with 98% similarity]
common/src/main/java/org/onap/policy/clamp/controlloop/common/rest/RequestResponseLoggingFilter.java [moved from runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/main/web/RequestResponseLoggingFilter.java with 97% similarity]
participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/ParticipantSimulatorApplication.java
participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/config/ParticipantConfig.java
participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/config/YamlConfiguration.java
participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/config/YamlHttpMessageConverter.java [deleted file]
participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/RequestResponseLoggingFilter.java [deleted file]
runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/Application.java
runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/config/ConverterConfiguration.java
runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/config/FilterConfig.java

index 580bffa..5e72d94 100644 (file)
@@ -34,7 +34,8 @@ import org.springframework.context.annotation.ComponentScan;
 @ConfigurationPropertiesScan("org.onap.policy.clamp.controlloop.participant.simulator.main.parameters")\r
 @ComponentScan({\r
     "org.onap.policy.clamp.controlloop.participant.simulator",\r
-    "org.onap.policy.clamp.controlloop.participant.intermediary"\r
+    "org.onap.policy.clamp.controlloop.participant.intermediary",\r
+    "org.onap.policy.clamp.controlloop.common.rest"\r
 })\r
 //@formatter:on\r
 public class ParticipantSimulatorApplication {\r
index d28ddf9..f2079ed 100644 (file)
@@ -20,9 +20,9 @@
 
 package org.onap.policy.clamp.controlloop.participant.simulator.config;
 
+import org.onap.policy.clamp.controlloop.common.rest.RequestResponseLoggingFilter;
 import org.onap.policy.clamp.controlloop.participant.intermediary.api.ParticipantIntermediaryApi;
 import org.onap.policy.clamp.controlloop.participant.simulator.main.handler.ControlLoopElementHandler;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.rest.RequestResponseLoggingFilter;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.web.servlet.FilterRegistrationBean;
 import org.springframework.context.annotation.Bean;
index 16da5cf..28dd2f9 100644 (file)
@@ -21,6 +21,7 @@
 package org.onap.policy.clamp.controlloop.participant.simulator.config;
 
 import java.util.List;
+import org.onap.policy.clamp.controlloop.common.rest.CoderHttpMesageConverter;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.http.MediaType;
 import org.springframework.http.converter.HttpMessageConverter;
@@ -32,8 +33,8 @@ public class YamlConfiguration implements WebMvcConfigurer {
 
     @Override
     public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
-        converters.add(new YamlHttpMessageConverter<>("yaml"));
-        converters.add(new YamlHttpMessageConverter<>("json"));
+        converters.add(new CoderHttpMesageConverter<>("yaml"));
+        converters.add(new CoderHttpMesageConverter<>("json"));
 
         StringHttpMessageConverter converter = new StringHttpMessageConverter();
         converter.setSupportedMediaTypes(List.of(MediaType.TEXT_PLAIN));
diff --git a/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/config/YamlHttpMessageConverter.java b/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/config/YamlHttpMessageConverter.java
deleted file mode 100644 (file)
index d9a72ce..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- *  Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.participant.simulator.config;
-
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.nio.charset.StandardCharsets;
-import javax.ws.rs.core.Response;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopRuntimeException;
-import org.onap.policy.common.utils.coder.Coder;
-import org.onap.policy.common.utils.coder.CoderException;
-import org.onap.policy.common.utils.coder.StandardCoder;
-import org.onap.policy.common.utils.coder.StandardYamlCoder;
-import org.springframework.http.HttpInputMessage;
-import org.springframework.http.HttpOutputMessage;
-import org.springframework.http.MediaType;
-import org.springframework.http.converter.AbstractHttpMessageConverter;
-import org.springframework.http.converter.HttpMessageNotReadableException;
-import org.springframework.http.converter.HttpMessageNotWritableException;
-
-public class YamlHttpMessageConverter<T> extends AbstractHttpMessageConverter<T> {
-
-    private Coder coder;
-
-    public YamlHttpMessageConverter(String type) {
-        super(new MediaType("application", type, StandardCharsets.UTF_8));
-        this.coder = "json".equals(type) ? new StandardCoder() : new StandardYamlCoder();
-    }
-
-    @Override
-    protected boolean supports(Class<?> clazz) {
-        return true;
-    }
-
-    @Override
-    protected T readInternal(Class<? extends T> clazz, HttpInputMessage inputMessage)
-            throws IOException, HttpMessageNotReadableException {
-        try (var is = new InputStreamReader(inputMessage.getBody(), StandardCharsets.UTF_8)) {
-            return coder.decode(is, clazz);
-        } catch (CoderException e) {
-            throw new ControlLoopRuntimeException(Response.Status.BAD_REQUEST, e.getMessage(), e);
-        }
-    }
-
-    @Override
-    protected void writeInternal(T t, HttpOutputMessage outputMessage)
-            throws IOException, HttpMessageNotWritableException {
-        try (var writer = new OutputStreamWriter(outputMessage.getBody(), StandardCharsets.UTF_8)) {
-            coder.encode(writer, t);
-        } catch (CoderException e) {
-            throw new ControlLoopRuntimeException(Response.Status.BAD_REQUEST, e.getMessage(), e);
-        }
-    }
-}
diff --git a/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/RequestResponseLoggingFilter.java b/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/RequestResponseLoggingFilter.java
deleted file mode 100644 (file)
index 9626421..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- *  Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.participant.simulator.main.rest;
-
-import java.io.IOException;
-import java.util.UUID;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.core.annotation.Order;
-import org.springframework.stereotype.Component;
-
-@Component
-@Order(2)
-public class RequestResponseLoggingFilter implements Filter {
-
-    private static final String VERSION_MINOR_NAME = "X-MinorVersion";
-    private static final String VERSION_PATCH_NAME = "X-PatchVersion";
-    private static final String VERSION_LATEST_NAME = "X-LatestVersion";
-    public static final String API_VERSION = "1.0.0";
-    public static final String REQUEST_ID_NAME = "X-ONAP-RequestID";
-
-    @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
-            throws IOException, ServletException {
-
-
-        HttpServletResponse res = (HttpServletResponse) response;
-        HttpServletRequest req = (HttpServletRequest) request;
-
-        /*
-         * Disabling sonar because of ONAP requires the request ID to be copied from the request
-         * to the response, and just a simulator used during testing.
-         */
-        String requestId = req.getHeader(REQUEST_ID_NAME);
-        res.addHeader(REQUEST_ID_NAME, requestId != null ? requestId : UUID.randomUUID().toString()); // NOSONAR
-
-        res.addHeader(VERSION_MINOR_NAME, "0");
-        res.addHeader(VERSION_PATCH_NAME, "0");
-        res.addHeader(VERSION_LATEST_NAME, API_VERSION);
-
-        chain.doFilter(request, response);
-    }
-
-}
index 5fbd36c..a9b45c5 100644 (file)
@@ -29,7 +29,8 @@ import org.springframework.scheduling.annotation.EnableScheduling;
 @EnableScheduling
 @SpringBootApplication
 @ComponentScan({"org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider",
-    "org.onap.policy.clamp.controlloop.runtime"})
+    "org.onap.policy.clamp.controlloop.runtime",
+    "org.onap.policy.clamp.controlloop.common.rest"})
 @ConfigurationPropertiesScan("org.onap.policy.clamp.controlloop.runtime.main.parameters")
 public class Application {
 
index b14c675..d67d2e7 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.policy.clamp.controlloop.runtime.config;
 
 import java.util.Arrays;
 import java.util.List;
+import org.onap.policy.clamp.controlloop.common.rest.CoderHttpMesageConverter;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.http.MediaType;
 import org.springframework.http.converter.HttpMessageConverter;
index d58553a..57bfc2e 100644 (file)
@@ -20,7 +20,7 @@
 
 package org.onap.policy.clamp.controlloop.runtime.config;
 
-import org.onap.policy.clamp.controlloop.runtime.main.web.RequestResponseLoggingFilter;
+import org.onap.policy.clamp.controlloop.common.rest.RequestResponseLoggingFilter;
 import org.springframework.boot.web.servlet.FilterRegistrationBean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;