add filters to base 91/97291/3
authorSmokowski, Kevin (ks6305) <kevin.smokowski@att.com>
Thu, 17 Oct 2019 21:00:21 +0000 (21:00 +0000)
committerDan Timoney <dtimoney@att.com>
Wed, 23 Oct 2019 16:34:42 +0000 (16:34 +0000)
incorporate common filters into base adaptor

Issue-ID: CCSDK-1849
Signed-off-by: Smokowski, Kevin (ks6305) <kevin.smokowski@att.com>
Change-Id: Ib1de49f29ff88c0f8cff87642ae60dc11517331b

base/http/provider/pom.xml
base/http/provider/src/main/java/org/onap/ccsdk/sli/adaptors/base/http/AbstractHttpAdapter.java
base/http/provider/src/test/java/org/onap/ccsdk/sli/adaptors/base/http/AbstractHttpAdapterTest.java

index 56728be..e6061ed 100644 (file)
                        <version>${jersey.version}</version>
                        <scope>test</scope>
                </dependency>
+               <dependency>
+                       <groupId>org.onap.logging-analytics</groupId>
+                       <artifactId>logging-filter-base</artifactId>
+            <version>1.5.0</version>
+                       <scope>provided</scope>
+               </dependency>
        </dependencies>
 </project>
index 92e64b6..cc6f06a 100644 (file)
@@ -4,13 +4,13 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.util.Base64;
 import java.util.Properties;
-
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.SSLSession;
 import javax.ws.rs.client.ClientBuilder;
-import javax.xml.bind.DatatypeConverter;
-
+import org.onap.logging.filter.base.MetricLogClientFilter;
+import org.onap.logging.filter.base.PayloadLoggingClientFilter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -26,7 +26,6 @@ public abstract class AbstractHttpAdapter {
     public AbstractHttpAdapter() {
         clientBuilder = ClientBuilder.newBuilder();
         setTimeouts();
-        registerLoggingFilter();
         defaultHostNameVerifier();
     }
     
@@ -39,7 +38,13 @@ public abstract class AbstractHttpAdapter {
         });
     }
 
-    protected abstract void registerLoggingFilter();
+    protected void enableMetricLogging() {
+        clientBuilder.register(new MetricLogClientFilter());
+    }
+
+    protected void enablePayloadLogging() {
+        clientBuilder.register(new PayloadLoggingClientFilter());
+    }
 
     private void setTimeouts() {
         Integer httpReadTimeout = readOptionalInteger("HTTP_READ_TIMEOUT_MS", DEFAULT_HTTP_READ_TIMEOUT_MS);
@@ -83,7 +88,7 @@ public abstract class AbstractHttpAdapter {
     protected String getBasicAuthValue(String userName, String password) {
         String token = userName + ":" + password;
         try {
-            return "Basic " + DatatypeConverter.printBase64Binary(token.getBytes("UTF-8"));
+            return "Basic " + Base64.getEncoder().encodeToString(token.getBytes());
         } catch (Exception e) {
             logger.error("getBasicAuthValue threw an exception, credentials will be null", e);
         }
index ee2d223..d0973d9 100644 (file)
@@ -12,16 +12,13 @@ import org.junit.Test;
 \r
 public class AbstractHttpAdapterTest {\r
     \r
-    public class NonLoggingHttpAdapter extends AbstractHttpAdapter {\r
-        @Override\r
-        protected void registerLoggingFilter() {\r
-            // nonlogging, do nothing\r
-        }\r
+    public class TestAdapter extends AbstractHttpAdapter {\r
+\r
     }\r
     \r
     @Test\r
     public void checkTimeouts() throws Exception {\r
-        NonLoggingHttpAdapter adapter = new NonLoggingHttpAdapter();\r
+        TestAdapter adapter = new TestAdapter();\r
         Client client = adapter.getClientBuilder().build();\r
         assertNotNull(client.getConfiguration().getProperty("jersey.config.client.readTimeout"));\r
         assertNotNull(client.getConfiguration().getProperty("jersey.config.client.connectTimeout"));\r
@@ -30,7 +27,7 @@ public class AbstractHttpAdapterTest {
     @Test\r
     public void propertiesTest() throws Exception {\r
         System.setProperty(AbstractHttpAdapter.SDNC_CONFIG_DIR, "src/test/resources/");\r
-        NonLoggingHttpAdapter adapter = new NonLoggingHttpAdapter();\r
+        TestAdapter adapter = new TestAdapter();\r
         Properties props = adapter.getProperties("testprops.properties");\r
         assertNotNull(props);\r
         assertEquals("world", props.get("hello"));\r
@@ -38,7 +35,7 @@ public class AbstractHttpAdapterTest {
     \r
     @Test\r
     public void basicAuthFilter() throws Exception {\r
-        NonLoggingHttpAdapter adapter = new NonLoggingHttpAdapter();\r
+        TestAdapter adapter = new TestAdapter();\r
         adapter.addBasicAuthCredentials("hello", "world");\r
         Set<Object> objs = adapter.getClientBuilder().getConfiguration().getInstances();\r
         assertEquals(BasicAuthFilter.class,objs.iterator().next().getClass());\r