X-Git-Url: https://gerrit.onap.org/r/gitweb?p=dmaap%2Fdbcapi.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Fclient%2FDrProvConnection.java;h=f928a1170edc8b854f872b120b00cc510481a3c1;hp=3cb3d672b92bfe712bfb03546d611236d0b4c041;hb=bfe1f5204aa40a4178c005f23e530401b991ac58;hpb=ac4050d5dd0598a337712c34d918433a075ba854 diff --git a/src/main/java/org/onap/dmaap/dbcapi/client/DrProvConnection.java b/src/main/java/org/onap/dmaap/dbcapi/client/DrProvConnection.java index 3cb3d67..f928a11 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/client/DrProvConnection.java +++ b/src/main/java/org/onap/dmaap/dbcapi/client/DrProvConnection.java @@ -48,6 +48,7 @@ public class DrProvConnection extends BaseLoggingClass { private String behalfHeader; private String feedContentType; private String subContentType; + private String unit_test; private HttpsURLConnection uc; @@ -64,6 +65,7 @@ public class DrProvConnection extends BaseLoggingClass { subContentType = p.getProperty( "DR.subContentType", "application/vnd.dmaap-dr.subscription"); logger.info( "provURL=" + provURL + " provApi=" + provApi + " behalfHeader=" + behalfHeader + " feedContentType=" + feedContentType + " subContentType=" + subContentType ); + unit_test = p.getProperty( "UnitTest", "No" ); } @@ -214,15 +216,21 @@ public class DrProvConnection extends BaseLoggingClass { err.setCode( 500 ); err.setMessage( "Unable to read response from DR"); } catch (Exception e) { - logger.warn("Unable to read response " ); - e.printStackTrace(); - try { - err.setCode( uc.getResponseCode()); - err.setMessage(uc.getResponseMessage()); - } catch (Exception e2) { - err.setCode( 500 ); - err.setMessage("Unable to determine response message"); - } + if ( unit_test.equals( "Yes" ) ) { + err.setCode(200); + err.setMessage( "simulated response"); + logger.info( "artificial 200 response from doPostFeed because unit_test =" + unit_test ); + } else { + logger.warn("Unable to read response " ); + e.printStackTrace(); + try { + err.setCode( uc.getResponseCode()); + err.setMessage(uc.getResponseMessage()); + } catch (Exception e2) { + err.setCode( 500 ); + err.setMessage("Unable to determine response message"); + } + } } finally { try { @@ -270,9 +278,16 @@ public class DrProvConnection extends BaseLoggingClass { err.setMessage(responsemessage); } } catch (Exception e) { - logger.error("Unable to read response " ); - e.printStackTrace(); - } finally { + if ( unit_test.equals( "Yes" ) ) { + err.setCode(200); + err.setMessage( "simulated response"); + logger.info( "artificial 200 response from doXgressPost because unit_test =" + unit_test ); + } else { + logger.error("Unable to read response " ); + e.printStackTrace(); + } + } + finally { try { uc.disconnect(); } catch ( Exception e ) { @@ -346,9 +361,16 @@ public class DrProvConnection extends BaseLoggingClass { } } catch (Exception e) { - System.err.println("Unable to read response " ); - e.printStackTrace(); - } finally { + if ( unit_test.equals( "Yes" ) ) { + err.setCode(200); + err.setMessage( "simulated response"); + logger.info( "artificial 200 response from doPostDr_Sub because unit_test =" + unit_test ); + } else { + System.err.println("Unable to read response " ); + e.printStackTrace(); + } + } + finally { try { uc.disconnect(); } catch ( Exception e ) {} @@ -433,8 +455,14 @@ public class DrProvConnection extends BaseLoggingClass { err.setCode( 500 ); err.setMessage( "Unable to read response from DR"); } catch (Exception e) { - logger.warn("Unable to read response " ); - e.printStackTrace(); + if ( unit_test.equals( "Yes" ) ) { + err.setCode(200); + err.setMessage( "simulated response"); + logger.info( "artificial 200 response from doPutFeed because unit_test =" + unit_test ); + } else { + logger.warn("Unable to read response " ); + e.printStackTrace(); + } try { err.setCode( uc.getResponseCode()); err.setMessage(uc.getResponseMessage()); @@ -515,8 +543,14 @@ public class DrProvConnection extends BaseLoggingClass { err.setCode( 500 ); err.setMessage("Backend connection refused"); } catch (Exception e) { - logger.error("Unable to read response " ); - logger.error(e.getMessage(), e); + if ( unit_test.equals( "Yes" ) ) { + err.setCode(200); + err.setMessage( "simulated response"); + logger.info( "artificial 200 response from doPutDr_Sub because unit_test =" + unit_test ); + } else { + logger.error("Unable to read response " ); + logger.error(e.getMessage(), e); + } } finally { uc.disconnect(); } @@ -530,22 +564,19 @@ public class DrProvConnection extends BaseLoggingClass { //logger.info( "get fields=" + postData ); String responsemessage = null; String responseBody = null; - logger.info( "templog:doGetNodes at 12.10.14.10" ); try { - logger.info( "templog:doGetNodes at 12.10.14.11" ); uc.setRequestMethod("GET"); int rc = -1; - logger.info( "templog:doGetNodes at 12.10.14.12" ); + try { uc.connect(); - logger.info( "templog:doGetNodes at 12.10.14.13" ); - + } catch (ProtocolException pe) { - logger.info( "templog:doGetNodes at 12.10.14.14" ); + // Rcvd error instead of 100-Continue try { // work around glitch in Java 1.7.0.21 and likely others @@ -554,16 +585,16 @@ public class DrProvConnection extends BaseLoggingClass { } catch (Exception e) { } } - logger.info( "templog:doGetNodes at 12.10.14.15" ); + rc = uc.getResponseCode(); logger.info( "http response code:" + rc ); responsemessage = uc.getResponseMessage(); logger.info( "responsemessage=" + responsemessage ); - logger.info( "templog:doGetNodes at 12.10.14.16" ); + if (responsemessage == null) { - logger.info( "templog:doGetNodes at 12.10.14.17" ); + // work around for glitch in Java 1.7.0.21 and likely others // When Expect: 100 is set and a non-100 response is received, the response message is not set but the response code is String h0 = uc.getHeaderField(0); @@ -575,7 +606,7 @@ public class DrProvConnection extends BaseLoggingClass { } } } - logger.info( "templog:doGetNodes at 12.10.14.18" ); + err.setCode(rc); // may not really be an error, but we save rc if (rc == 200 ) { responseBody = bodyToString( uc.getInputStream() ); @@ -584,21 +615,26 @@ public class DrProvConnection extends BaseLoggingClass { err.setMessage(responsemessage); } - logger.info( "templog:doGetNodes at 12.10.14.19" ); + } catch (ConnectException ce) { - logger.info( "templog:doGetNodes at 12.10.14.20" ); + errorLogger.error( DmaapbcLogMessageEnum.HTTP_CONNECTION_EXCEPTION, provURL, ce.getMessage() ); err.setCode( 500 ); err.setMessage("Backend connection refused"); } catch (Exception e) { - logger.info( "templog:doGetNodes at 12.10.14.21" ); - System.err.println("Unable to read response " ); - e.printStackTrace(); + if ( unit_test.equals( "Yes" ) ) { + err.setCode(200); + err.setMessage( "simulated response"); + logger.info( "artificial 200 response from doGetNodes because unit_test =" + unit_test ); + } else { + System.err.println("Unable to read response " ); + e.printStackTrace(); + } } finally { - logger.info( "templog:doGetNodes at 12.10.14.22" ); + if ( uc != null ) uc.disconnect(); } - logger.info( "templog:doGetNodes at 12.10.14.23" ); + return responseBody; } @@ -665,8 +701,14 @@ public class DrProvConnection extends BaseLoggingClass { } } catch (Exception e) { - System.err.println("Unable to read response " + e.getMessage() ); - e.printStackTrace(); + if ( unit_test.equals( "Yes" ) ) { + err.setCode(200); + err.setMessage( "simulated response"); + logger.info( "artificial 200 response from doPutNodes because unit_test =" + unit_test ); + } else { + System.err.println("Unable to read response " + e.getMessage() ); + e.printStackTrace(); + } } finally { if ( uc != null ) { uc.disconnect(); @@ -751,15 +793,21 @@ public class DrProvConnection extends BaseLoggingClass { err.setCode( 500 ); err.setMessage( "Unable to read response from DR"); } catch (Exception e) { - logger.warn("Unable to read response " ); - e.printStackTrace(); - try { - err.setCode( uc.getResponseCode()); - err.setMessage(uc.getResponseMessage()); - } catch (Exception e2) { - err.setCode( 500 ); - err.setMessage("Unable to determine response message"); - } + if ( unit_test.equals( "Yes" ) ) { + err.setCode(200); + err.setMessage( "simulated response"); + logger.info( "artificial 200 response from doDeleteFeed because unit_test =" + unit_test ); + } else { + logger.warn("Unable to read response " ); + e.printStackTrace(); + try { + err.setCode( uc.getResponseCode()); + err.setMessage(uc.getResponseMessage()); + } catch (Exception e2) { + err.setCode( 500 ); + err.setMessage("Unable to determine response message"); + } + } } finally { try { uc.disconnect(); @@ -829,48 +877,30 @@ public class DrProvConnection extends BaseLoggingClass { } } catch (ConnectException ce) { - errorLogger.error( DmaapbcLogMessageEnum.HTTP_CONNECTION_EXCEPTION, provURL, ce.getMessage() ); - err.setCode( 500 ); - err.setMessage("Backend connection refused"); + if ( unit_test.equals( "Yes" ) ) { + err.setCode(200); + err.setMessage( "simulated response"); + logger.info( "artificial 200 response from doDeleteDr_Sub because unit_test =" + unit_test ); + } else { + errorLogger.error( DmaapbcLogMessageEnum.HTTP_CONNECTION_EXCEPTION, provURL, ce.getMessage() ); + err.setCode( 500 ); + err.setMessage("Backend connection refused"); + } } catch (Exception e) { - System.err.println("Unable to read response " ); - e.printStackTrace(); + if ( unit_test.equals( "Yes" ) ) { + err.setCode(200); + err.setMessage( "simulated response"); + logger.info( "artificial 200 response from doDeleteDr_Sub because unit_test =" + unit_test ); + } else { + System.err.println("Unable to read response " ); + e.printStackTrace(); + } } finally { uc.disconnect(); } return responseBody; } - /* - public static void main( String[] args ) throws Exception { - PropertyConfigurator.configure("log4j.properties"); - logger.info("Started."); - - RandomInteger ri = new RandomInteger(10000); - //String postJSON = String.format("{\"name\": \"dgl feed %d\", \"version\": \"v1.0\", \"description\": \"dgl feed N for testing\", \"authorization\": { \"classification\": \"unclassified\", \"endpoint_addrs\": [],\"endpoint_ids\": [{\"password\": \"test\",\"id\": \"test\"}]}}", ri.next()) ; - int i = ri.next(); - Feed tst = new Feed( "dgl feed " + i, - "v1.0", - "dgl feed " + i + "for testing", - "TEST", - "unclassified" - ); - ArrayList pubs = new ArrayList(); - pubs.add( new DR_Pub( "centralLocation" ) ); - tst.setPubs(pubs); - - boolean rc; - DrProvConnection context = new DrProvConnection(); - rc = context.makeFeedConnection(); - logger.info( "makeFeedConnection returns " + rc); - ApiError err = new ApiError(); - if ( rc ) { - String tmp = context.doPostFeed( tst, err ); - logger.info( "doPostFeed returns " + tmp); - } - - } - */ }