No topic dups in mmagent whitelist
[dmaap/dbcapi.git] / src / main / java / org / onap / dmaap / dbcapi / model / MR_Cluster.java
index 46279ee..166fc21 100644 (file)
 
 package org.onap.dmaap.dbcapi.model;
 
-import java.util.Date;
-
 import javax.xml.bind.annotation.XmlRootElement;
 
+import org.onap.dmaap.dbcapi.util.DmaapConfig;
 import org.onap.dmaap.dbcapi.util.DmaapTimestamp;
 
 
@@ -33,54 +32,122 @@ public class MR_Cluster extends DmaapObject {
 
        private String dcaeLocationName;
        private String fqdn;
-       private String[] hosts;
        private DmaapTimestamp lastMod;
        private String  topicProtocol;
        private String  topicPort;
+       private String  replicationGroup;
+       private String  sourceReplicationPort;
+       private String  targetReplicationPort;
 
        
        // TODO: make this a system property
-       private static String defaultTopicProtocol = "https";
-       private static String defaultTopicPort = "3905";
+       private static  String defaultTopicProtocol;
+       private static   String defaultTopicPort;
+       private static  String defaultReplicationGroup;
+       private static  String defaultSourceReplicationPort;
+       private static  String defaultTargetReplicationPort;
        
-
+       private static void setDefaults() {
+               boolean been_here = false;
+               if ( been_here ) {
+                       return;
+               }
+               DmaapConfig dc = (DmaapConfig)DmaapConfig.getConfig();
+               defaultTopicProtocol = dc.getProperty("MR.TopicProtocol", "https");
+               defaultTopicPort = dc.getProperty( "MR.TopicPort", "3905");
+               defaultReplicationGroup = dc.getProperty( "MR.ReplicationGroup", "" );
+               defaultSourceReplicationPort = dc.getProperty( "MR.SourceReplicationPort", "2181");
+               defaultTargetReplicationPort = dc.getProperty( "MR.TargetReplicationPort", "9092");
+               been_here = true;
+       }
 
 
        public MR_Cluster() {
+               setDefaults();
                this.topicProtocol = defaultTopicProtocol;
                this.topicPort = defaultTopicPort;
-               this.hosts = new String[3];
+               this.replicationGroup = null;
+               this.sourceReplicationPort = defaultSourceReplicationPort;
+               this.targetReplicationPort = defaultTargetReplicationPort;
                this.lastMod = new DmaapTimestamp();
                this.lastMod.mark();
 
                debugLogger.debug( "MR_Cluster constructor " + this.lastMod );
                
        }
-       
+
+       // new style constructor
        public MR_Cluster( String dLN,
-                                               String f,
-                                               String a,
-                                               String[] h ) {
+                       String f,
+                       String prot,
+                       String port) {
+               setDefaults();
                this.dcaeLocationName = dLN;
                this.fqdn = f;
-logger.info( "templog:MR_Cluster at 10" );
-               this.hosts = new String[3];
-               this.hosts[0] = h[0];
-logger.info( "templog:MR_Cluster at 20" );
-               this.hosts[1] = h[1];
-logger.info( "templog:MR_Cluster at 30" );
-               this.hosts[2] = h[2];
-logger.info( "templog:MR_Cluster at 40" );
-               this.topicProtocol = defaultTopicProtocol;
-logger.info( "templog:MR_Cluster at 50" );
-               this.topicPort = defaultTopicPort;
+
+               if ( prot == null || prot.isEmpty() ) {
+                       this.topicProtocol = defaultTopicProtocol;
+               } else {
+                       this.topicProtocol = prot;
+               }
+               if ( port == null || port.isEmpty() ) {
+                       this.topicPort = defaultTopicPort;
+               } else {
+                       this.topicPort = port;
+               }
+
+               this.replicationGroup = defaultReplicationGroup;
+               this.sourceReplicationPort = defaultSourceReplicationPort;
+               this.targetReplicationPort = defaultTargetReplicationPort;
+
                this.lastMod = new DmaapTimestamp();
                this.lastMod.mark();
-
+               
                debugLogger.debug( "MR_Cluster constructor w initialization complete" + this.lastMod.getVal() );
-logger.info( "templog:MR_Cluster at 60" );
        }
 
+       public MR_Cluster( String dLN,
+                       String f,
+                       String prot,
+                       String port,
+                       String repGroup,
+                       String sourceRepPort,
+                       String targetRepPort ) {
+               setDefaults();
+               this.dcaeLocationName = dLN;
+               this.fqdn = f;
+
+               if ( prot == null || prot.isEmpty() ) {
+                       this.topicProtocol = defaultTopicProtocol;
+               } else {
+                       this.topicProtocol = prot;
+               }
+               if ( port == null || port.isEmpty() ) {
+                       this.topicPort = defaultTopicPort;
+               } else {
+                       this.topicPort = port;
+               }
+               if ( repGroup == null || repGroup.isEmpty() ) {
+                       this.replicationGroup = defaultReplicationGroup;
+               } else {
+                       this.replicationGroup = repGroup;
+               }
+               if ( sourceRepPort == null || sourceRepPort.isEmpty()) {
+                       this.sourceReplicationPort = defaultSourceReplicationPort;
+               } else {
+                       this.sourceReplicationPort = sourceRepPort;
+               }
+               if ( targetRepPort == null || targetRepPort.isEmpty()) {
+                       this.targetReplicationPort = defaultTargetReplicationPort;
+               } else {
+                       this.targetReplicationPort = targetRepPort;
+               }
+                               
+               this.lastMod = new DmaapTimestamp();
+               this.lastMod.mark();
+               
+               debugLogger.debug( "MR_Cluster constructor w initialization complete" + this.lastMod.getVal() );
+       }
        public String getDcaeLocationName() {
                return dcaeLocationName;
        }
@@ -97,13 +164,6 @@ logger.info( "templog:MR_Cluster at 60" );
                this.fqdn = fqdn;
        }
 
-       public String[] getHosts() {
-               return hosts;
-       }
-
-       public void setHosts(String[] hosts) {
-               this.hosts = hosts;
-       }
 
        public String getTopicProtocol() {
                return topicProtocol;
@@ -121,6 +181,39 @@ logger.info( "templog:MR_Cluster at 60" );
                this.topicPort = topicPort;
        }
 
+       public String getReplicationGroup() {
+               return replicationGroup;
+       }
+
+       public void setReplicationGroup(String replicationGroup) {
+               this.replicationGroup = replicationGroup;
+       }
+
+
+
+
+       public String getSourceReplicationPort() {
+               return sourceReplicationPort;
+       }
+
+
+
+       public void setSourceReplicationPort(String sourceReplicationPort) {
+               this.sourceReplicationPort = sourceReplicationPort;
+       }
+
+
+
+       public String getTargetReplicationPort() {
+               return targetReplicationPort;
+       }
+
+
+
+       public void setTargetReplicationPort(String targetReplicationPort) {
+               this.targetReplicationPort = targetReplicationPort;
+       }
+
 
 
        public String genTopicURL(String overideFqdn, String topic) {