* 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.ProtocolException;
-import java.net.SocketException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import javax.net.ssl.HttpsURLConnection;
-
-import org.apache.log4j.Logger;
-import org.apache.log4j.PropertyConfigurator;
import org.onap.dmaap.dbcapi.logging.BaseLoggingClass;
import org.onap.dmaap.dbcapi.logging.DmaapbcLogMessageEnum;
import org.onap.dmaap.dbcapi.model.ApiError;
-import org.onap.dmaap.dbcapi.model.DR_Pub;
import org.onap.dmaap.dbcapi.model.DR_Sub;
import org.onap.dmaap.dbcapi.model.Feed;
import org.onap.dmaap.dbcapi.service.DmaapService;
-import org.onap.dmaap.dbcapi.util.RandomInteger;
+import org.onap.dmaap.dbcapi.util.DmaapConfig;
+
+import javax.net.ssl.HttpsURLConnection;
+import java.io.*;
+import java.net.ConnectException;
+import java.net.ProtocolException;
+import java.net.SocketException;
+import java.net.URL;
+import java.util.Arrays;
private String provURL;
+ private String provApi;
+ private String behalfHeader;
+ private String feedContentType;
+ private String subContentType;
private HttpsURLConnection uc;
if ( provURL.length() < 1 ) {
errorLogger.error( DmaapbcLogMessageEnum.PREREQ_DMAAP_OBJECT, "getDrProvUrl");
}
+ DmaapConfig p = (DmaapConfig)DmaapConfig.getConfig();
+ provApi = p.getProperty( "DR.provApi", "ONAP" );
+ behalfHeader = p.getProperty( "DR.onBehalfHeader", "X-DMAAP-DR-ON-BEHALF-OF");
+ feedContentType = p.getProperty( "DR.feedContentType", "application/vnd.dmaap-dr.feed");
+ subContentType = p.getProperty( "DR.subContentType", "application/vnd.dmaap-dr.subscription");
+ logger.info( "provURL=" + provURL + " provApi=" + provApi + " behalfHeader=" + behalfHeader
+ + " feedContentType=" + feedContentType + " subContentType=" + subContentType );
}
try {
logger.info( "uc=" + uc );
uc.setRequestMethod("POST");
- uc.setRequestProperty("Content-Type", "application/vnd.att-dr.feed");
+ uc.setRequestProperty("Content-Type", feedContentType);
uc.setRequestProperty( "charset", "utf-8");
- uc.setRequestProperty( "X-ATT-DR-ON-BEHALF-OF", postFeed.getOwner() );
+ uc.setRequestProperty( behalfHeader, postFeed.getOwner() );
uc.setRequestProperty( "Content-Length", Integer.toString( postData.length ));
uc.setUseCaches(false);
uc.setDoOutput(true);
try {
uc.setRequestMethod("POST");
-// uc.setRequestProperty("Content-Type", "application/vnd.att-dr.feed");
-// uc.setRequestProperty( "charset", "utf-8");
-// uc.setRequestProperty( "X-ATT-DR-ON-BEHALF-OF", postFeed.getOwner() );
-// uc.setRequestProperty( "Content-Length", Integer.toString( postData.length ));
-// uc.setUseCaches(false);
-// uc.setDoOutput(true);
- OutputStream os = null;
-
-
+
+
try {
uc.connect();
- os = uc.getOutputStream();
-
} catch (ProtocolException pe) {
// Rcvd error instead of 100-Continue
// without this, Java will connect multiple times to the server to run the same request
uc.setDoOutput(false);
} catch (Exception e) {
+ logger.error(e.getMessage(), e);
}
}
rc = uc.getResponseCode();
err.setMessage(responsemessage);
}
} catch (Exception e) {
- System.err.println("Unable to read response " );
+ logger.error("Unable to read response " );
e.printStackTrace();
} finally {
try {
uc.disconnect();
- } catch ( Exception e ) {}
+ } catch ( Exception e ) {
+ logger.error(e.getMessage(), e);
+ }
}
return rc;
public String doPostDr_Sub( DR_Sub postSub, ApiError err ) {
logger.info( "entry: doPostDr_Sub() " );
- byte[] postData = postSub.getBytes();
+ byte[] postData = postSub.getBytes(provApi );
logger.info( "post fields=" + postData );
String responsemessage = null;
String responseBody = null;
uc.setRequestMethod("POST");
- uc.setRequestProperty("Content-Type", "application/vnd.att-dr.subscription");
+ uc.setRequestProperty("Content-Type", subContentType );
uc.setRequestProperty( "charset", "utf-8");
- uc.setRequestProperty( "X-ATT-DR-ON-BEHALF-OF", "DGL" );
+ uc.setRequestProperty( behalfHeader, "DGL" );
uc.setRequestProperty( "Content-Length", Integer.toString( postData.length ));
uc.setUseCaches(false);
uc.setDoOutput(true);
try {
logger.info( "uc=" + uc );
uc.setRequestMethod("PUT");
- uc.setRequestProperty("Content-Type", "application/vnd.att-dr.feed");
+ uc.setRequestProperty("Content-Type", feedContentType );
uc.setRequestProperty( "charset", "utf-8");
- uc.setRequestProperty( "X-ATT-DR-ON-BEHALF-OF", putFeed.getOwner() );
+ uc.setRequestProperty( behalfHeader, putFeed.getOwner() );
uc.setRequestProperty( "Content-Length", Integer.toString( postData.length ));
uc.setUseCaches(false);
uc.setDoOutput(true);
}
public String doPutDr_Sub(DR_Sub postSub, ApiError err) {
logger.info( "entry: doPutDr_Sub() " );
- byte[] postData = postSub.getBytes();
+ byte[] postData = postSub.getBytes(provApi);
logger.info( "post fields=" + postData );
String responsemessage = null;
String responseBody = null;
uc.setRequestMethod("PUT");
- uc.setRequestProperty("Content-Type", "application/vnd.att-dr.subscription");
+ uc.setRequestProperty("Content-Type", subContentType );
uc.setRequestProperty( "charset", "utf-8");
- uc.setRequestProperty( "X-ATT-DR-ON-BEHALF-OF", "DGL" );
+ uc.setRequestProperty( behalfHeader, "DGL" );
uc.setRequestProperty( "Content-Length", Integer.toString( postData.length ));
uc.setUseCaches(false);
uc.setDoOutput(true);
err.setCode( 500 );
err.setMessage("Backend connection refused");
} catch (Exception e) {
- System.err.println("Unable to read response " );
- e.printStackTrace();
+ logger.error("Unable to read response " );
+ logger.error(e.getMessage(), e);
} finally {
uc.disconnect();
}
logger.info( "templog:doGetNodes at 12.10.14.11" );
uc.setRequestMethod("GET");
-
- //uc.setRequestProperty("Content-Type", "application/vnd.att-dr.subscription");
- //uc.setRequestProperty( "charset", "utf-8");
- //uc.setRequestProperty( "X-ATT-DR-ON-BEHALF-OF", "DGL" );
- //uc.setRequestProperty( "Content-Length", Integer.toString( postData.length ));
- //uc.setUseCaches(false);
- //uc.setDoOutput(true);
- OutputStream os = null;
int rc = -1;
logger.info( "templog:doGetNodes at 12.10.14.12" );
try {
- uc.connect();
- logger.info( "templog:doGetNodes at 12.10.14.13" );
- //os = uc.getOutputStream();
- //os.write( postData );
+ uc.connect();
+ logger.info( "templog:doGetNodes at 12.10.14.13" );
+
} catch (ProtocolException pe) {
logger.info( "templog:doGetNodes at 12.10.14.14" );
uc.setRequestMethod("PUT");
- //uc.setRequestProperty("Content-Type", "application/vnd.att-dr.subscription");
+ //uc.setRequestProperty("Content-Type", subContentType );
//uc.setRequestProperty( "charset", "utf-8");
- //uc.setRequestProperty( "X-ATT-DR-ON-BEHALF-OF", "DGL" );
+ //uc.setRequestProperty( behalfHeader, "DGL" );
//uc.setRequestProperty( "Content-Length", Integer.toString( postData.length ));
uc.setUseCaches(false);
//uc.setDoOutput(true);
try {
logger.info( "uc=" + uc );
uc.setRequestMethod("DELETE");
- uc.setRequestProperty("Content-Type", "application/vnd.att-dr.feed");
+ uc.setRequestProperty("Content-Type", feedContentType );
uc.setRequestProperty( "charset", "utf-8");
- uc.setRequestProperty( "X-ATT-DR-ON-BEHALF-OF", putFeed.getOwner() );
+ uc.setRequestProperty( behalfHeader, putFeed.getOwner() );
//uc.setRequestProperty( "Content-Length", Integer.toString( postData.length ));
uc.setUseCaches(false);
uc.setDoOutput(true);
public String doDeleteDr_Sub(DR_Sub delSub, ApiError err) {
logger.info( "entry: doDeleteDr_Sub() " );
- byte[] postData = delSub.getBytes();
+ byte[] postData = delSub.getBytes(provApi);
logger.info( "post fields=" + postData );
String responsemessage = null;
String responseBody = null;
uc.setRequestMethod("DELETE");
- uc.setRequestProperty("Content-Type", "application/vnd.att-dr.subscription");
+ uc.setRequestProperty("Content-Type", subContentType);
uc.setRequestProperty( "charset", "utf-8");
- uc.setRequestProperty( "X-ATT-DR-ON-BEHALF-OF", "DGL" );
+ uc.setRequestProperty( behalfHeader, "DGL" );
//uc.setRequestProperty( "Content-Length", Integer.toString( postData.length ));
uc.setUseCaches(false);
uc.setDoOutput(true);