AafTopicSetupService implementation
[dmaap/dbcapi.git] / src / main / java / org / onap / dmaap / dbcapi / aaf / AafNamespace.java
index 793260c..b5a887c 100644 (file)
@@ -8,9 +8,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
 package org.onap.dmaap.dbcapi.aaf;
 
-import java.util.ArrayList;
-
 import org.apache.log4j.Logger;
 import org.onap.dmaap.dbcapi.util.DmaapConfig;
 
+import java.util.ArrayList;
+import java.util.Objects;
+
 
 public class AafNamespace extends AafObject  {
        private static final Logger logger = Logger.getLogger(AafNamespace.class);
-       
+
        private String  name;
        private ArrayList<String> admin;
        private ArrayList<String> responsible;
-       
+
        // in some environments, an AAF Namespace must be owned by a human.
        // So, when needed, this var can be set via a property
        private static String NsOwnerIdentity;
-       
+
        public AafNamespace(String ns, String identity ) {
                super();
                DmaapConfig p = (DmaapConfig)DmaapConfig.getConfig();
                NsOwnerIdentity = p.getProperty( "aaf.NsOwnerIdentity", "");
                this.admin = new ArrayList<>();
                this.responsible = new ArrayList<>();
-               
+
                this.name = ns;
                this.admin.add( identity );
                this.responsible.add( NsOwnerIdentity );
@@ -87,7 +88,7 @@ public class AafNamespace extends AafObject  {
 
        public String toJSON() {
 
-               String postJSON = String.format(" { \"name\": \"%s\", \"admin\": [", 
+               String postJSON = String.format(" { \"name\": \"%s\", \"admin\": [",
                                this.getName()
                                 );
                postJSON += separatedList( this.getAdmin(), "," );
@@ -95,11 +96,22 @@ public class AafNamespace extends AafObject  {
                postJSON += separatedList( this.getResponsible(), ",");
                postJSON += "]}";
                logger.info( "returning JSON: " + postJSON);
-                       
+
                return postJSON;
        }
-       
-       
-       
-       
+
+       @Override
+       public boolean equals(Object o) {
+               if (this == o) return true;
+               if (o == null || getClass() != o.getClass()) return false;
+               AafNamespace that = (AafNamespace) o;
+               return Objects.equals(name, that.name) &&
+                               Objects.equals(admin, that.admin) &&
+                               Objects.equals(responsible, that.responsible);
+       }
+
+       @Override
+       public int hashCode() {
+               return Objects.hash(name, admin, responsible);
+       }
 }