diff options
author | pkaras <piotr.karas@nokia.com> | 2019-04-11 08:07:35 +0200 |
---|---|---|
committer | pkaras <piotr.karas@nokia.com> | 2019-04-11 09:06:35 +0200 |
commit | 4b870c6d9272e93c09952cca81f4d11e0653df9b (patch) | |
tree | 087ee9f5e682ccfc06dc2076b93cc54ccc3ac408 /src/main/java | |
parent | 4444a934c6ad97d0222abc351af4c392d42f654e (diff) |
DcaeLocation tests and refactor
Change-Id: I14f6d2db0aa81a6ca1558c081ee9a98951a3c316
Issue-ID: DMAAP-1157
Signed-off-by: piotr.karas <piotr.karas@nokia.com>
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/org/onap/dmaap/dbcapi/model/DcaeLocation.java | 20 | ||||
-rw-r--r-- | src/main/java/org/onap/dmaap/dbcapi/service/DcaeLocationService.java | 121 |
2 files changed, 76 insertions, 65 deletions
diff --git a/src/main/java/org/onap/dmaap/dbcapi/model/DcaeLocation.java b/src/main/java/org/onap/dmaap/dbcapi/model/DcaeLocation.java index b4b5e2e..f459c6c 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/model/DcaeLocation.java +++ b/src/main/java/org/onap/dmaap/dbcapi/model/DcaeLocation.java @@ -22,11 +22,10 @@ package org.onap.dmaap.dbcapi.model; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.log4j.Logger; +import java.util.Objects; @XmlRootElement public class DcaeLocation extends DmaapObject { - static final Logger errorLogger = Logger.getLogger(MR_Cluster.class); private String clli; private String dcaeLayer; private String dcaeLocationName; @@ -100,4 +99,21 @@ public class DcaeLocation extends DmaapObject { this.subnet = subnet; } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DcaeLocation that = (DcaeLocation) o; + return Objects.equals(clli, that.clli) && + Objects.equals(dcaeLayer, that.dcaeLayer) && + Objects.equals(dcaeLocationName, that.dcaeLocationName) && + Objects.equals(openStackAvailabilityZone, that.openStackAvailabilityZone) && + Objects.equals(subnet, that.subnet); + } + + @Override + public int hashCode() { + + return Objects.hash(clli, dcaeLayer, dcaeLocationName, openStackAvailabilityZone, subnet); + } } diff --git a/src/main/java/org/onap/dmaap/dbcapi/service/DcaeLocationService.java b/src/main/java/org/onap/dmaap/dbcapi/service/DcaeLocationService.java index de72ade..ad6c993 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/service/DcaeLocationService.java +++ b/src/main/java/org/onap/dmaap/dbcapi/service/DcaeLocationService.java @@ -7,9 +7,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. @@ -20,71 +20,66 @@ package org.onap.dmaap.dbcapi.service; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - import org.onap.dmaap.dbcapi.database.DatabaseClass; import org.onap.dmaap.dbcapi.model.DcaeLocation; import org.onap.dmaap.dbcapi.model.DmaapObject.DmaapObject_Status; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Optional; + public class DcaeLocationService { - - private Map<String, DcaeLocation> dcaeLocations = DatabaseClass.getDcaeLocations(); - - public Map<String, DcaeLocation> getDcaeLocations() { - return dcaeLocations; - } - - public List<DcaeLocation> getAllDcaeLocations() { - return new ArrayList<DcaeLocation>(dcaeLocations.values()); - } - - public DcaeLocation getDcaeLocation( String name ) { - return dcaeLocations.get(name); - } - - public DcaeLocation addDcaeLocation( DcaeLocation location ) { - location.setLastMod(); - location.setStatus(DmaapObject_Status.VALID); - dcaeLocations.put( location.getDcaeLocationName(), location ); - return location; - } - - public DcaeLocation updateDcaeLocation( DcaeLocation location ) { - if ( location.getDcaeLocationName().isEmpty()) { - return null; - } - location.setLastMod(); - dcaeLocations.put( location.getDcaeLocationName(), location ); - return location; - } - - public DcaeLocation removeDcaeLocation( String locationName ) { - return dcaeLocations.remove(locationName); - } - - public String getCentralLocation() { - for( Map.Entry<String, DcaeLocation> entry: dcaeLocations.entrySet() ) { - DcaeLocation loc = entry.getValue(); - if ( loc.isCentral() ) { - // use the name of the first central location we hit - return loc.getDcaeLocationName(); - } - - } - return "aCentralLocation"; // default value that is obvious to see is wrong - } - - public boolean isEdgeLocation(String aName) { - DcaeLocation loc = dcaeLocations.get(aName); - if ( loc == null ) { - return false; - } - if ( ! loc.isCentral() ) { - return true; - } - return false; - } + + private static final String DEFAULT_CENTRAL_LOCATION = "aCentralLocation"; // default value that is obvious to see is wrong + private final Map<String, DcaeLocation> dcaeLocations; + + public DcaeLocationService() { + this(DatabaseClass.getDcaeLocations()); + } + + DcaeLocationService(Map<String, DcaeLocation> dcaeLocations) { + this.dcaeLocations = dcaeLocations; + } + + public List<DcaeLocation> getAllDcaeLocations() { + return new ArrayList<>(dcaeLocations.values()); + } + + public DcaeLocation getDcaeLocation(String name) { + return dcaeLocations.get(name); + } + + public DcaeLocation addDcaeLocation(DcaeLocation location) { + location.setLastMod(); + location.setStatus(DmaapObject_Status.VALID); + dcaeLocations.put(location.getDcaeLocationName(), location); + return location; + } + + public DcaeLocation updateDcaeLocation(DcaeLocation location) { + if (location.getDcaeLocationName().isEmpty()) { + return null; + } + location.setLastMod(); + dcaeLocations.put(location.getDcaeLocationName(), location); + return location; + } + + public DcaeLocation removeDcaeLocation(String locationName) { + return dcaeLocations.remove(locationName); + } + + String getCentralLocation() { + + Optional<DcaeLocation> firstCentralLocation = + dcaeLocations.values().stream().filter(DcaeLocation::isCentral).findFirst(); + + return firstCentralLocation.isPresent() ? firstCentralLocation.get().getDcaeLocationName() : DEFAULT_CENTRAL_LOCATION; + } + + boolean isEdgeLocation(String aName) { + return dcaeLocations.get(aName) != null && !dcaeLocations.get(aName).isCentral(); + } } |