X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Fservice%2FTopicService.java;fp=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Fservice%2FTopicService.java;h=6a93a21dde5b8bdeb786ad56c24acbe6d18285a9;hb=87bf9245434ad317ea39a84a0099233197f3d7c2;hp=6e7b7445e1e2a280a568ea7dcee60e6777977f0e;hpb=ebdb8b74c1d10e4bdc477c0f5e61311a9bfd9ead;p=dmaap%2Fdbcapi.git diff --git a/src/main/java/org/onap/dmaap/dbcapi/service/TopicService.java b/src/main/java/org/onap/dmaap/dbcapi/service/TopicService.java index 6e7b744..6a93a21 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/service/TopicService.java +++ b/src/main/java/org/onap/dmaap/dbcapi/service/TopicService.java @@ -102,14 +102,19 @@ public class TopicService extends BaseLoggingClass { return t; } - public Topic addTopic( Topic topic, ApiError err ) { + public Topic addTopic( Topic topic, ApiError err, Boolean useExisting ) { logger.info( "Entry: addTopic"); logger.info( "Topic name=" + topic.getTopicName() + " fqtnStyle=" + topic.getFqtnStyle() ); String nFqtn = topic.genFqtn(); logger.info( "FQTN=" + nFqtn ); - if ( getTopic( nFqtn, err ) != null ) { + Topic pTopic = getTopic( nFqtn, err ); + if ( pTopic != null ) { String t = "topic already exists: " + nFqtn; logger.info( t ); + if ( useExisting ) { + err.setCode(Status.OK.getStatusCode()); + return pTopic; + } err.setMessage( t ); err.setFields( "fqtn"); err.setCode(Status.CONFLICT.getStatusCode()); @@ -251,7 +256,7 @@ public class TopicService extends BaseLoggingClass { TopicService ts = new TopicService(); ApiError err = new ApiError(); - ts.addTopic(bridgeAdminTopic, err); + ts.addTopic(bridgeAdminTopic, err, true); if ( err.is2xx() || err.getCode() == 409 ){ err.setCode(200);