X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Faaf%2FAafNamespace.java;h=b5a887c074352296ae28051f5b417dfe37807c12;hb=5a9cbe16fa36ba35dc9ba104a287977e975a455b;hp=aa4fb89136665bc8235aa41881ef065dae955955;hpb=99a69b81bca73117846e55bd0129cf3172d4ee08;p=dmaap%2Fdbcapi.git diff --git a/src/main/java/org/onap/dmaap/dbcapi/aaf/AafNamespace.java b/src/main/java/org/onap/dmaap/dbcapi/aaf/AafNamespace.java index aa4fb89..b5a887c 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/aaf/AafNamespace.java +++ b/src/main/java/org/onap/dmaap/dbcapi/aaf/AafNamespace.java @@ -3,13 +3,14 @@ * org.onap.dmaap * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 IBM. * ================================================================================ * 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. @@ -20,30 +21,31 @@ 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 { - static final Logger logger = Logger.getLogger(AafNamespace.class); - + private static final Logger logger = Logger.getLogger(AafNamespace.class); + private String name; - private ArrayList admin; - private ArrayList responsible; - + private ArrayList admin; + private ArrayList responsible; + // in some environments, an AAF Namespace must be owned by a human. // So, when needed, this var can be set via a property - static private String NsOwnerIdentity; - + 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.admin = new ArrayList<>(); + this.responsible = new ArrayList<>(); + this.name = ns; this.admin.add( identity ); this.responsible.add( NsOwnerIdentity ); @@ -73,7 +75,7 @@ public class AafNamespace extends AafObject { // output "a", "b", "c" private String separatedList( ArrayList list, String sep ) { if (list.isEmpty()) return null; - String aList = new String(); + String aList = ""; String delim = ""; for( String item: list) { if( ! item.isEmpty()) { @@ -86,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(), "," ); @@ -94,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); + } }