Enhancements for the aai-common library
[aai/aai-common.git] / aai-rest / src / main / java / org / onap / aai / restclient / OneWaySSLRestClient.java
index aa67257..b2534f5 100644 (file)
 
 package org.onap.aai.restclient;
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.security.KeyStore;
-
-import javax.annotation.PostConstruct;
-import javax.net.ssl.SSLContext;
-
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.apache.http.client.HttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.ssl.SSLContextBuilder;
+import org.onap.aai.aailog.filter.RestClientLoggingInterceptor;
 import org.springframework.boot.web.client.RestTemplateBuilder;
 import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 import org.springframework.util.ResourceUtils;
 import org.springframework.web.client.RestTemplate;
 
+import javax.annotation.PostConstruct;
+import javax.net.ssl.SSLContext;
+
 public abstract class OneWaySSLRestClient extends RestClient {
 
-    private static EELFLogger logger = EELFManager.getInstance().getLogger(OneWaySSLRestClient.class);
+    private static Logger logger = LoggerFactory.getLogger(OneWaySSLRestClient.class);
 
     private RestTemplate restTemplate;
 
     @PostConstruct
     public void init() throws Exception {
+        restTemplate =
+            new RestTemplateBuilder().requestFactory(this.getHttpRequestFactory()).build();
+
+        restTemplate.setErrorHandler(new RestClientResponseErrorHandler());
+        RestClientLoggingInterceptor loggingInterceptor = new RestClientLoggingInterceptor();
+        restTemplate.getInterceptors().add(loggingInterceptor);
+
+    }
+
+    protected HttpComponentsClientHttpRequestFactory getHttpRequestFactory() throws Exception {
+        return new HttpComponentsClientHttpRequestFactory(this.getClient());
+    }
+
+    protected HttpClient getClient() throws Exception {
 
         char[] trustStorePassword = getTruststorePassword();
 
         String trustStore = getTruststorePath();
 
-        SSLContext sslContext = SSLContextBuilder.create()
+        SSLContext sslContext =
+            SSLContextBuilder.create()
                 .loadTrustMaterial(ResourceUtils.getFile(trustStore), trustStorePassword).build();
 
         HttpClient client =
-                HttpClients.custom().setSSLContext(sslContext).setSSLHostnameVerifier((s, sslSession) -> true).build();
-
-        restTemplate =
-            new RestTemplateBuilder().requestFactory(() -> new HttpComponentsClientHttpRequestFactory(client)).build();
-
-        restTemplate.setErrorHandler(new RestClientResponseErrorHandler());
+            HttpClients.custom().setSSLContext(sslContext).setSSLHostnameVerifier((s, sslSession) -> true).build();
 
+        return client;
     }
 
     protected abstract String getTruststorePath();