4d901633dbf91aea341f1cb892449d1d57839d79
[dmaap/datarouter.git] / datarouter-prov / src / main / java / org / onap / dmaap / datarouter / provisioning / beans / FeedAuthorization.java
1 /*******************************************************************************\r
2  * ============LICENSE_START==================================================\r
3  * * org.onap.dmaap\r
4  * * ===========================================================================\r
5  * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6  * * ===========================================================================\r
7  * * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * * you may not use this file except in compliance with the License.\r
9  * * You may obtain a copy of the License at\r
10  * *\r
11  *  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * *\r
13  *  * Unless required by applicable law or agreed to in writing, software\r
14  * * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * * See the License for the specific language governing permissions and\r
17  * * limitations under the License.\r
18  * * ============LICENSE_END====================================================\r
19  * *\r
20  * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
21  * *\r
22  ******************************************************************************/\r
23 \r
24 \r
25 package org.onap.dmaap.datarouter.provisioning.beans;\r
26 \r
27 import java.util.HashSet;\r
28 import java.util.Objects;\r
29 import java.util.Set;\r
30 \r
31 import org.json.JSONArray;\r
32 import org.json.JSONObject;\r
33 \r
34 /**\r
35  * The representation of a Feed authorization.  This encapsulates the authorization information about a feed.\r
36  *\r
37  * @author Robert Eby\r
38  * @version $Id: FeedAuthorization.java,v 1.2 2013/06/20 14:11:05 eby Exp $\r
39  */\r
40 public class FeedAuthorization implements JSONable {\r
41     private String classification;\r
42     private Set<FeedEndpointID> endpoint_ids;\r
43     private Set<String> endpoint_addrs;\r
44 \r
45     public FeedAuthorization() {\r
46         this.classification = "";\r
47         this.endpoint_ids = new HashSet<>();\r
48         this.endpoint_addrs = new HashSet<>();\r
49     }\r
50 \r
51     public String getClassification() {\r
52         return classification;\r
53     }\r
54 \r
55     public void setClassification(String classification) {\r
56         this.classification = classification;\r
57     }\r
58 \r
59     public Set<FeedEndpointID> getEndpoint_ids() {\r
60         return endpoint_ids;\r
61     }\r
62 \r
63     public void setEndpoint_ids(Set<FeedEndpointID> endpoint_ids) {\r
64         this.endpoint_ids = endpoint_ids;\r
65     }\r
66 \r
67     public Set<String> getEndpoint_addrs() {\r
68         return endpoint_addrs;\r
69     }\r
70 \r
71     public void setEndpoint_addrs(Set<String> endpoint_addrs) {\r
72         this.endpoint_addrs = endpoint_addrs;\r
73     }\r
74 \r
75     @Override\r
76     public JSONObject asJSONObject() {\r
77         JSONObject jo = new JSONObject();\r
78         jo.put("classification", classification);\r
79         JSONArray ja = new JSONArray();\r
80         for (FeedEndpointID eid : endpoint_ids) {\r
81             ja.put(eid.asJSONObject());\r
82         }\r
83         jo.put("endpoint_ids", ja);\r
84         ja = new JSONArray();\r
85         for (String t : endpoint_addrs) {\r
86             ja.put(t);\r
87         }\r
88         jo.put("endpoint_addrs", ja);\r
89         return jo;\r
90     }\r
91 \r
92     @Override\r
93     public boolean equals(Object obj) {\r
94         if (!(obj instanceof FeedAuthorization))\r
95             return false;\r
96         FeedAuthorization of = (FeedAuthorization) obj;\r
97         if (!classification.equals(of.classification))\r
98             return false;\r
99         if (!endpoint_ids.equals(of.endpoint_ids))\r
100             return false;\r
101         if (!endpoint_addrs.equals(of.endpoint_addrs))\r
102             return false;\r
103         return true;\r
104     }\r
105 \r
106     @Override\r
107     public int hashCode() {\r
108         return Objects.hash(classification, endpoint_ids, endpoint_addrs);\r
109     }\r
110 }\r