Add additional error messages to dmaap service 33/98433/2
authorPatrick Brady <patrick.brady@att.com>
Thu, 14 Nov 2019 22:17:04 +0000 (14:17 -0800)
committerPatrick Brady <patrick.brady@att.com>
Thu, 14 Nov 2019 22:18:40 +0000 (22:18 +0000)
Add error checking and logging if required properties
are not present.

Change-Id: I270a7a088e36de603b89133e9ccb22f206e931e4
Signed-off-by: Patrick Brady <patrick.brady@att.com>
Issue-ID: APPC-1744

services/appc-dmaap-service/appc-dmaap-event-service/src/main/java/org/onap/appc/services/dmaapService/PublishService.java

index 1e1b9e7..cc20539 100644 (file)
@@ -30,6 +30,10 @@ import org.onap.appc.adapter.factory.DmaapMessageAdapterFactoryImpl;
 import org.onap.appc.configuration.Configuration;
 import org.onap.appc.configuration.ConfigurationFactory;
 import org.springframework.stereotype.Service;
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
 import org.onap.appc.adapter.message.MessageAdapterFactory;
 import org.onap.appc.adapter.message.Producer;
 import org.onap.appc.adapter.messaging.dmaap.http.HttpDmaapProducerImpl;
@@ -37,6 +41,8 @@ import org.onap.appc.adapter.messaging.dmaap.http.HttpDmaapProducerImpl;
 @Service
 public class PublishService {
     
+    private static final EELFLogger LOG = EELFManager.getInstance().getLogger(PublishService.class);
+    
     private Map<String,Producer> producers;
     private MessageAdapterFactory factory;
     Configuration configuration;
@@ -101,6 +107,14 @@ public class PublishService {
                     pool.add(name);
                 }
             }
+            if(pool.isEmpty()) {
+                LOG.error("There are no dmaap server pools. Check the property " + key + ".poolMembers");
+                return null;
+            }
+            if(writeTopic == null || writeTopic.isEmpty()) {
+                LOG.error("There is no write topic defined in the message request or in the properties file");
+                return null;
+            }
             return factory.createProducer(pool, writeTopic, apiKey, apiSecret);
         }
         return null;