More unit tests to pass 50%
[dmaap/dbcapi.git] / src / main / java / org / onap / dmaap / dbcapi / model / MR_Cluster.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * org.onap.dmaap
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.dmaap.dbcapi.model;
22
23 import javax.xml.bind.annotation.XmlRootElement;
24
25 import org.onap.dmaap.dbcapi.util.DmaapTimestamp;
26
27
28
29 @XmlRootElement
30 public class MR_Cluster extends DmaapObject {
31
32         private String dcaeLocationName;
33         private String fqdn;
34         private String[] hosts;
35         private DmaapTimestamp lastMod;
36         private String  topicProtocol;
37         private String  topicPort;
38
39         
40         // TODO: make this a system property
41         private static String defaultTopicProtocol = "https";
42         private static String defaultTopicPort = "3905";
43         
44
45
46
47         public MR_Cluster() {
48                 this.topicProtocol = defaultTopicProtocol;
49                 this.topicPort = defaultTopicPort;
50                 this.hosts = new String[3];
51                 this.lastMod = new DmaapTimestamp();
52                 this.lastMod.mark();
53
54                 debugLogger.debug( "MR_Cluster constructor " + this.lastMod );
55                 
56         }
57         
58         public MR_Cluster( String dLN,
59                                                 String f,
60                                                 String a,
61                                                 String[] h ) {
62                 this.dcaeLocationName = dLN;
63                 this.fqdn = f;
64                 this.hosts = new String[3];
65                 this.hosts[0] = h[0];
66                 this.hosts[1] = h[1];
67                 this.hosts[2] = h[2];
68                 this.topicProtocol = defaultTopicProtocol;
69                 this.topicPort = defaultTopicPort;
70                 this.lastMod = new DmaapTimestamp();
71                 this.lastMod.mark();
72
73                 debugLogger.debug( "MR_Cluster constructor w initialization complete" + this.lastMod.getVal() );
74         }
75
76         public String getDcaeLocationName() {
77                 return dcaeLocationName;
78         }
79
80         public void setDcaeLocationName(String dcaeLocationName) {
81                 this.dcaeLocationName = dcaeLocationName;
82         }
83
84         public String getFqdn() {
85                 return fqdn;
86         }
87
88         public void setFqdn(String fqdn) {
89                 this.fqdn = fqdn;
90         }
91
92         public String[] getHosts() {
93                 return hosts;
94         }
95
96         public void setHosts(String[] hosts) {
97                 this.hosts = hosts;
98         }
99
100         public String getTopicProtocol() {
101                 return topicProtocol;
102         }
103
104         public void setTopicProtocol(String topicProtocol) {
105                 this.topicProtocol = topicProtocol;
106         }
107
108         public String getTopicPort() {
109                 return topicPort;
110         }
111
112         public void setTopicPort(String topicPort) {
113                 this.topicPort = topicPort;
114         }
115
116
117
118         public String genTopicURL(String overideFqdn, String topic) {
119
120                 StringBuilder str = new StringBuilder( topicProtocol );
121                 str.append("://")
122                         .append( overideFqdn != null ? overideFqdn : fqdn)
123                         .append(":")
124                         .append(topicPort)
125                         .append("/events/")
126                         .append(topic);
127                 
128                 return str.toString();
129
130
131         }
132
133
134 }