Merge "Replace "StringBuffer" by "StringBuilder"."
[dmaap/dbcapi.git] / src / main / java / org / onap / dmaap / dbcapi / client / MrProvConnection.java
index a8ace78..51bad4f 100644 (file)
@@ -3,6 +3,7 @@
  * org.onap.dmaap
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 IBM.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 package org.onap.dmaap.dbcapi.client;
 
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.net.ConnectException;
-import java.net.HttpURLConnection;
-import java.net.ProtocolException;
-import java.net.URL;
-import java.net.UnknownHostException;
-
-import javax.net.ssl.HttpsURLConnection;
-
 import org.apache.commons.codec.binary.Base64;
-import org.apache.log4j.Logger;
 import org.onap.dmaap.dbcapi.aaf.AafDecrypt;
-import org.onap.dmaap.dbcapi.aaf.AafService;
-import org.onap.dmaap.dbcapi.aaf.DecryptionInterface;
-import org.onap.dmaap.dbcapi.aaf.AafService.ServiceType;
 import org.onap.dmaap.dbcapi.logging.BaseLoggingClass;
 import org.onap.dmaap.dbcapi.logging.DmaapbcLogMessageEnum;
 import org.onap.dmaap.dbcapi.model.ApiError;
@@ -46,6 +30,11 @@ import org.onap.dmaap.dbcapi.model.MR_Cluster;
 import org.onap.dmaap.dbcapi.model.Topic;
 import org.onap.dmaap.dbcapi.util.DmaapConfig;
 
+import javax.net.ssl.HttpsURLConnection;
+import java.io.*;
+import java.net.*;
+import java.util.Arrays;
+
 public class MrProvConnection extends BaseLoggingClass{
            
        private String provURL;
@@ -54,37 +43,31 @@ public class MrProvConnection extends BaseLoggingClass{
 
        
        private String topicMgrCred;
+       private boolean useAAF;
+       private String  user;
+       private String  encPwd;
        
-       private String getCred( ) {
+       public MrProvConnection() {
                String mechIdProperty = "aaf.TopicMgrUser";
                String pwdProperty = "aaf.TopicMgrPassword";
                DmaapConfig p = (DmaapConfig)DmaapConfig.getConfig();
-               logger.info( "templog:getCred: 10");
+               user = p.getProperty( mechIdProperty, "noMechId@domain.netset.com" );
+               encPwd = p.getProperty( pwdProperty, "notSet" );
+               useAAF= "true".equalsIgnoreCase(p.getProperty("UseAAF", "false"));
+               topicMgrCred =  getCred();
+               
+       }
+       
+       private String getCred( ) {
 
-               String user = p.getProperty( mechIdProperty, "noMechId@domain.netset.com" );
-               logger.info( "templog:getCred: 20");
 
                String pwd = "";
-               String encPwd = p.getProperty( pwdProperty, "notSet" );
-               logger.info( "templog:getCred: 30");
-
-               AafDecrypt decryptor = new AafDecrypt();
-               logger.info( "templog:getCred: 40");
+               AafDecrypt decryptor = new AafDecrypt();        
                pwd = decryptor.decrypt(encPwd);
-               logger.info( "templog:getCred: 50");
-       
-               return user + ":" + pwd;
-               
-               
-               
+               return user + ":" + pwd;        
        }
        
        
-       public MrProvConnection( ) {
-               topicMgrCred =  getCred();
-
-       }
-       
        public boolean makeTopicConnection( MR_Cluster cluster ) {
                logger.info( "connect to cluster: " + cluster.getDcaeLocationName());
        
@@ -161,9 +144,13 @@ public class MrProvConnection extends BaseLoggingClass{
 
                try {
                        byte[] postData = postTopic.getBytes();
-                       logger.info( "post fields=" + postData.toString() );
-                       uc.setRequestProperty("Authorization", auth);
-                       logger.info( "Authenticating with " + auth );
+                       logger.info( "post fields=" + Arrays.toString(postData));
+                       
+                       // when not using AAF, do not attempt Basic Authentication
+                       if ( useAAF ) {
+                               uc.setRequestProperty("Authorization", auth);
+                               logger.info( "Authenticating with " + auth );
+                       }
                        uc.setRequestMethod("POST");
                        uc.setRequestProperty("Content-Type", "application/json");
                        uc.setRequestProperty( "charset", "utf-8");
@@ -228,13 +215,15 @@ public class MrProvConnection extends BaseLoggingClass{
             } 
             
                } catch (Exception e) {
-            System.err.println("Unable to read response  " );
-            e.printStackTrace();
+                       errorLogger.error("Unable to read response  " );
+           
         }
                finally {
                        try {
                                uc.disconnect();
-                       } catch ( Exception e ) {}
+                       } catch ( Exception e ) {
+                               errorLogger.error("Unable to disconnect");
+                       }
                }
                return new String( rc +": " + responsemessage );