diff options
Diffstat (limited to 'feature-active-standby-management/src')
4 files changed, 43 insertions, 57 deletions
diff --git a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpEntity.java b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpEntity.java index 12d716a6..0055b9cb 100644 --- a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpEntity.java +++ b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpEntity.java @@ -2,14 +2,14 @@ * ============LICENSE_START======================================================= * feature-active-standby-management * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. * ================================================================================ * 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. @@ -72,7 +72,7 @@ public class DroolsPdpEntity extends DroolsPdpObject implements Serializable { updatedDate = new Date(); //When this is translated to a TimeStamp in MySQL, it assumes the date is relative //to the local timezone. So, a value of Date(0) is actually Dec 31 18:00:00 CST 1969 - //which is an invalid value for the MySql TimeStamp + //which is an invalid value for the MySql TimeStamp designatedDate = new Date(864000000); } @@ -135,25 +135,4 @@ public class DroolsPdpEntity extends DroolsPdpObject implements Serializable { public void setDesignatedDate(Date designatedDate) { this.designatedDate = designatedDate; } - - @Override - public boolean equals(Object obj) { - - if (obj instanceof DroolsPdp) { - DroolsPdpEntity entity = (DroolsPdpEntity) obj; - return this.pdpId.equals(entity.getPdpId()); - } else { - return false; - } - - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + (this.pdpId == null ? 0 : this.pdpId.hashCode()); - return result; - } - } diff --git a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpImpl.java b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpImpl.java index 31728bc2..0c50f82d 100644 --- a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpImpl.java +++ b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpImpl.java @@ -2,14 +2,14 @@ * ============LICENSE_START======================================================= * feature-active-standby-management * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. * ================================================================================ * 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. @@ -33,7 +33,7 @@ public class DroolsPdpImpl extends DroolsPdpObject { /** * Contructor. - * + * * @param pdpId ID for the PDP * @param designated is designated * @param priority priority @@ -46,11 +46,11 @@ public class DroolsPdpImpl extends DroolsPdpObject { this.updatedDate = updatedDate; //When this is translated to a TimeStamp in MySQL, it assumes the date is relative //to the local timezone. So, a value of Date(0) is actually Dec 31 18:00:00 CST 1969 - //which is an invalid value for the MySql TimeStamp + //which is an invalid value for the MySql TimeStamp this.designatedDate = new Date(864000000); } - + @Override public boolean isDesignated() { @@ -61,12 +61,12 @@ public class DroolsPdpImpl extends DroolsPdpObject { public int getPriority() { return priority; } - + @Override public void setUpdatedDate(Date date) { this.updatedDate = date; } - + @Override public Date getUpdatedDate() { return updatedDate; @@ -76,7 +76,7 @@ public class DroolsPdpImpl extends DroolsPdpObject { public String getPdpId() { return pdpId; } - + @Override public void setDesignated(boolean isDesignated) { this.designated = isDesignated; @@ -87,41 +87,21 @@ public class DroolsPdpImpl extends DroolsPdpObject { public String getSiteName() { return site; } - + @Override public void setSiteName(String siteName) { this.site = siteName; } - + @Override public Date getDesignatedDate() { return designatedDate; } - + @Override public void setDesignatedDate(Date designatedDate) { this.designatedDate = designatedDate; } - - @Override - public boolean equals(Object obj) { - - - if (obj instanceof DroolsPdp) { - DroolsPdpImpl temp = (DroolsPdpImpl) obj; - return this.pdpId.equals(temp.getPdpId()); - } else { - return false; - } - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + (this.pdpId == null ? 0 : this.pdpId.hashCode()); - return result; - } } diff --git a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpObject.java b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpObject.java index 8ac14f0e..75157bbe 100644 --- a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpObject.java +++ b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpObject.java @@ -32,6 +32,14 @@ public abstract class DroolsPdpObject implements DroolsPdp { } } + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + (this.getPdpId() == null ? 0 : this.getPdpId().hashCode()); + return result; + } + private int nullSafeCompare(String one, String two) { if (one != null) { if (two != null) { diff --git a/feature-active-standby-management/src/test/java/org/onap/policy/drools/activestandby/DroolsPdpObjectTest.java b/feature-active-standby-management/src/test/java/org/onap/policy/drools/activestandby/DroolsPdpObjectTest.java index 310f9110..842d6c7f 100644 --- a/feature-active-standby-management/src/test/java/org/onap/policy/drools/activestandby/DroolsPdpObjectTest.java +++ b/feature-active-standby-management/src/test/java/org/onap/policy/drools/activestandby/DroolsPdpObjectTest.java @@ -66,6 +66,25 @@ public class DroolsPdpObjectTest { } @Test + public void testHashCode() { + int hc = pdp.hashCode(); + + // same data should yield same hash code + assertEquals(hc, pdp.hashCode()); + assertEquals(hc, makePdp(PDP_ID, SITE, PRIORITY).hashCode()); + + // different data should yield different hash code + assertTrue(makePdp(PDP_ID2, SITE, PRIORITY).hashCode() != hc); + + // these fields have no impact on hash code + assertEquals(hc, makePdp(PDP_ID, SITE, PRIORITY2).hashCode()); + assertEquals(hc, makePdp(PDP_ID, SITE2, PRIORITY).hashCode()); + + // should not throw an exception + new MyPdp().hashCode(); + } + + @Test public void testNullSafeCompare() { // self, when null pdp.setSiteName(null); |