X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Faaf%2FAafConnection.java;h=1d7b273a4bd35b1140f5ae16592985affee94272;hb=08d41a3fdcf909466e82c43ba30fefa0cf80c41e;hp=2e91ca52593d2367a60a8fe0ca15a289fbfe8d54;hpb=1ab29ec8a91e845a59a2990ca2fe17166111a458;p=dmaap%2Fdbcapi.git diff --git a/src/main/java/org/onap/dmaap/dbcapi/aaf/AafConnection.java b/src/main/java/org/onap/dmaap/dbcapi/aaf/AafConnection.java index 2e91ca5..1d7b273 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/aaf/AafConnection.java +++ b/src/main/java/org/onap/dmaap/dbcapi/aaf/AafConnection.java @@ -32,6 +32,7 @@ import java.io.OutputStream; import java.net.ProtocolException; import java.net.URL; import java.net.UnknownHostException; +import java.net.ConnectException; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLHandshakeException; @@ -39,40 +40,45 @@ import javax.net.ssl.SSLHandshakeException; import org.apache.commons.codec.binary.Base64; import org.onap.dmaap.dbcapi.logging.BaseLoggingClass; import org.onap.dmaap.dbcapi.logging.DmaapbcLogMessageEnum; -import org.onap.dmaap.dbcapi.service.DmaapService; +import org.onap.dmaap.dbcapi.util.DmaapConfig; public class AafConnection extends BaseLoggingClass { - - + + private String aafCred; + private String unit_test; + - private HttpsURLConnection uc; public AafConnection( String cred ) { aafCred = cred; + DmaapConfig p = (DmaapConfig)DmaapConfig.getConfig(); + unit_test = p.getProperty( "UnitTest", "No" ); + } - + private boolean makeConnection( String pURL ) { - + try { URL u = new URL( pURL ); uc = (HttpsURLConnection) u.openConnection(); uc.setInstanceFollowRedirects(false); logger.info( "successful connect to " + pURL ); return(true); - } catch ( UnknownHostException uhe ) { + } catch ( UnknownHostException uhe ) { errorLogger.error(DmaapbcLogMessageEnum.UNKNOWN_HOST_EXCEPTION, pURL, uhe.getMessage() ); - uhe.printStackTrace(); + logger.error("Error", uhe); return(false); } catch (Exception e) { - errorLogger.error(DmaapbcLogMessageEnum.HTTP_CONNECTION_ERROR, pURL, e.getMessage() ); + logger.error("Error", e); + errorLogger.error(DmaapbcLogMessageEnum.HTTP_CONNECTION_ERROR, pURL, e.getMessage()); e.printStackTrace(); return(false); } @@ -88,9 +94,9 @@ public class AafConnection extends BaseLoggingClass { sb.append( line ); } } catch (IOException ex ) { - errorLogger.error( DmaapbcLogMessageEnum.IO_EXCEPTION, ex.getMessage()); + errorLogger.error( DmaapbcLogMessageEnum.IO_EXCEPTION + ex.getMessage(),ex); } - + return sb.toString(); } @@ -101,11 +107,11 @@ public class AafConnection extends BaseLoggingClass { String auth = "Basic " + Base64.encodeBase64String(aafCred.getBytes()); int rc = -1; - + if ( ! makeConnection( pURL ) ) { return rc; }; - + byte[] postData = obj.getBytes(); //logger.info( "post fields=" + postData ); //byte isn't very readable @@ -131,23 +137,37 @@ public class AafConnection extends BaseLoggingClass { os.write( postData ); } catch (ProtocolException pe) { + logger.error("Error", pe); // Rcvd error instead of 100-Continue try { // work around glitch in Java 1.7.0.21 and likely others // without this, Java will connect multiple times to the server to run the same request uc.setDoOutput(false); } catch (Exception e) { + logger.error("Error", e); } } catch ( SSLHandshakeException she ) { + logger.error("Error", she); errorLogger.error( DmaapbcLogMessageEnum.SSL_HANDSHAKE_ERROR, pURL); } catch ( UnknownHostException uhe ) { + logger.error("Error", uhe); errorLogger.error(DmaapbcLogMessageEnum.UNKNOWN_HOST_EXCEPTION, pURL, uhe.getMessage() ); rc = 500; return rc; - } + } catch ( ConnectException ce ) { + logger.error("Error", ce); + if ( "Yes".equals(unit_test) ) { + rc = 201; + return rc; + } + errorLogger.error(DmaapbcLogMessageEnum.HTTP_CONNECTION_EXCEPTION, pURL, ce.getMessage() ); + rc = 500; + return rc; + } try { rc = uc.getResponseCode(); } catch ( SSLHandshakeException she ) { + logger.error("Error", she); errorLogger.error( DmaapbcLogMessageEnum.SSL_HANDSHAKE_ERROR, pURL); rc = 500; return rc; @@ -176,16 +196,16 @@ public class AafConnection extends BaseLoggingClass { } } catch (Exception e) { - System.err.println("Unable to read response " ); - e.printStackTrace(); + logger.error("Unable to read response "); + logger.error("Error", e); } finally { try { uc.disconnect(); - } catch ( Exception e ) {} - } - //return responseBody; - + } catch ( Exception e ) { + logger.error("Error", e); + } + } return rc; } @@ -225,19 +245,22 @@ public class AafConnection extends BaseLoggingClass { os.write( postData ); } catch (ProtocolException pe) { + logger.error("Error", pe); // Rcvd error instead of 100-Continue try { // work around glitch in Java 1.7.0.21 and likely others // without this, Java will connect multiple times to the server to run the same request uc.setDoOutput(false); } catch (Exception e) { + logger.error("Error", e); } } catch ( SSLHandshakeException she ) { - errorLogger.error( DmaapbcLogMessageEnum.SSL_HANDSHAKE_ERROR, pURL); + errorLogger.error( DmaapbcLogMessageEnum.SSL_HANDSHAKE_ERROR +"For:- "+pURL,she); } try { rc = uc.getResponseCode(); } catch ( SSLHandshakeException she ) { + logger.error("Error", she); errorLogger.error( DmaapbcLogMessageEnum.SSL_HANDSHAKE_ERROR, pURL); rc = 500; return rc; @@ -266,11 +289,9 @@ public class AafConnection extends BaseLoggingClass { } } catch (Exception e) { - System.err.println("Unable to read response " ); - e.printStackTrace(); - } - //return responseBody; - + logger.error("Unable to read response "); + logger.error("Error", e); + } return rc; }