package org.onap.dmaap.dbcapi.service;
+import org.onap.dmaap.dbcapi.util.RandomInteger;
+
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.ws.rs.core.Response.Status;
import org.apache.log4j.Logger;
-import org.onap.dmaap.dbcapi.aaf.client.DrProvConnection;
-import org.onap.dmaap.dbcapi.aaf.database.DatabaseClass;
+import org.onap.dmaap.dbcapi.client.DrProvConnection;
+import org.onap.dmaap.dbcapi.database.DatabaseClass;
import org.onap.dmaap.dbcapi.logging.BaseLoggingClass;
import org.onap.dmaap.dbcapi.model.ApiError;
import org.onap.dmaap.dbcapi.model.DR_Pub;
private DR_SubService subService = new DR_SubService();
private DcaeLocationService dcaeLocations = new DcaeLocationService();
private String deleteHandling;
+ private String unit_test;
public FeedService() {
logger.info( "new FeedService");
DmaapConfig p = (DmaapConfig)DmaapConfig.getConfig();
deleteHandling = p.getProperty("Feed.deleteHandling", "DeleteOnDR");
+ unit_test = p.getProperty( "UnitTest", "No" );
}
f.setSubs(subs);
}
- public List<Feed> getAllFeeds() {
+ public List<Feed> getAllFeeds( String name, String ver, String match ) {
+ logger.info( "getAllFeeds: name=" + name + " ver=" + ver + " match=" + match);
ArrayList<Feed> fatFeeds = new ArrayList<Feed>();
for( Feed f: feeds.values() ) {
- getSubObjects(f);
- fatFeeds.add(f);
+ boolean keep = true;
+ if ( name != null ) {
+ if ( match != null && match.equals("startsWith") ) {
+ if ( ! f.getFeedName().startsWith( name ) ) {
+ logger.info( "getAllFeeds: feedName=" + f.getFeedName() + " doesn't start with=" + name);
+ keep = false;
+ }
+ } else if ( match != null && match.equals("contains") ) {
+ if ( ! f.getFeedName().contains( name ) ) {
+ logger.info( "getAllFeeds: feedName=" + f.getFeedName() + " doesn't contain=" + name);
+ keep = false;
+ }
+ } else {
+ if ( ! f.getFeedName().equals( name ) ) {
+ logger.info( "getAllFeeds: feedName=" + f.getFeedName() + " doesn't equal=" + name);
+ keep = false;
+ }
+ }
+
+ }
+ if ( keep && ver != null ) {
+ if ( ! f.getFeedVersion().equals(ver)) {
+ logger.info( "getAllFeeds: feedVersion=" + f.getFeedName() + " doesn't match " + ver);
+ keep = false;
+ } else {
+ logger.info( "getAllFeeds: feedVersion=" + f.getFeedName() + " matches " + ver);
+ }
+ }
+
+ if (keep){
+ getSubObjects(f);
+ fatFeeds.add(f);
+ }
}
return fatFeeds;
}
DrProvConnection prov = new DrProvConnection();
prov.makeFeedConnection();
String resp = prov.doPostFeed( req, err );
+ if ( unit_test.equals( "Yes" ) ) {
+ // assume resp is null, so need to simulate it
+ resp = simulateResp( req, "POST" );
+ }
logger.info( "resp=" + resp );
if ( resp == null ) {
switch( err.getCode() ) {
DrProvConnection prov = new DrProvConnection();
prov.makeFeedConnection( req.getFeedId() );
String resp = prov.doPutFeed( req, err );
+ if ( unit_test.equals( "Yes" ) ) {
+ // assume resp is null, so need to simulate it
+ resp = simulateResp( req, "PUT" );
+ }
logger.info( "resp=" + resp );
if ( resp == null ) {
switch( err.getCode() ) {
DrProvConnection prov = new DrProvConnection();
prov.makeFeedConnection( req.getFeedId() );
String resp = prov.doDeleteFeed( req, err );
+ if ( unit_test.equals( "Yes" ) ) {
+ // assume resp is null, so need to simulate it
+ resp = simulateDelResp( req );
+ }
logger.info( "resp=" + resp );
if ( resp == null ) {
switch( err.getCode() ) {
}
+ private String simulateResp( Feed f, String action ){
+ String server = "localhost";
+ String feedid;
+ if ( action.equals( "POST" ) ) {
+ RandomInteger ran = new RandomInteger(10000);
+ feedid = Integer.toString( ran.next() );
+ } else if ( action.equals( "PUT" ) ) {
+ feedid = f.getFeedId();
+ } else {
+ feedid = "99";
+ }
+ String ret = String.format(
+"{\"suspend\":false,\"groupid\":0,\"description\":\"%s\",\"version\":\"1.0\",\"authorization\":{\"endpoint_addrs\":[],\"classification\":\"unclassified\",\"endpoint_ids\":[{\"password\":\"topSecret123\",\"id\":\"sim\"}]},\"name\":\"%s\",\"business_description\":\"\",\"publisher\":\"sim\",\"links\":{\"subscribe\":\"https://%s/subscribe/%s\",\"log\":\"https://%s/feedlog/%s\",\"publish\":\"https://%s/publish/%s\",\"self\":\"https://%s/feed/%s\"}}",
+ f.getFeedDescription(),
+ f.getFeedName(),
+ server, feedid,
+ server, feedid,
+ server, feedid,
+ server, feedid
+
+ );
+ return ret;
+ }
+ private String simulateDelResp( Feed f ){
+ String server = "localhost";
+ String feedid = f.getFeedId();
+ String ret = String.format(
+"{\"suspend\":true,\"groupid\":0,\"description\":\"%s\",\"version\":\"1.0\",\"authorization\":{\"endpoint_addrs\":[],\"classification\":\"unclassified\",\"endpoint_ids\":[{\"password\":\"topSecret123\",\"id\":\"sim\"}]},\"name\":\"%s\",\"business_description\":\"\",\"publisher\":\"sim\",\"links\":{\"subscribe\":\"https://%s/subscribe/%s\",\"log\":\"https://%s/feedlog/%s\",\"publish\":\"https://%s/publish/%s\",\"self\":\"https://%s/feed/%s\"}}",
+ f.getFeedDescription(),
+ f.getFeedName(),
+ server, feedid,
+ server, feedid,
+ server, feedid,
+ server, feedid
+
+ );
+ return ret;
+ }
}