diff options
Diffstat (limited to 'core/core-protocols/src/main')
4 files changed, 109 insertions, 41 deletions
diff --git a/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/Action.java b/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/Action.java index 00d8055be..33679c0e1 100644 --- a/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/Action.java +++ b/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/Action.java @@ -20,14 +20,16 @@ package org.onap.policy.apex.core.protocols; +import java.io.Serializable; + /** * This interface is used to enforce a common type on actions in the Apex messasging protocol. Action types the Apex * messaging protocol supports implement this interface. * * @author Sajeevan Achuthan (sajeevan.achuthan@ericsson.com) */ -public interface Action { - +@FunctionalInterface +public interface Action extends Serializable { /** * Return a string representation of each action. * diff --git a/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/engdep/messages/EngineServiceInfoResponse.java b/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/engdep/messages/EngineServiceInfoResponse.java index be0bfb2c5..4cac23158 100644 --- a/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/engdep/messages/EngineServiceInfoResponse.java +++ b/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/engdep/messages/EngineServiceInfoResponse.java @@ -20,6 +20,7 @@ package org.onap.policy.apex.core.protocols.engdep.messages; +import java.util.Arrays; import java.util.Collection; import org.onap.policy.apex.core.protocols.Message; @@ -101,7 +102,12 @@ public class EngineServiceInfoResponse extends Response { * @param engineKeyCollection the engine key array */ public void setEngineKeyArray(final Collection<AxArtifactKey> engineKeyCollection) { - engineKeyArray = engineKeyCollection.toArray(new AxArtifactKey[engineKeyCollection.size()]); + if (engineKeyCollection != null) { + engineKeyArray = engineKeyCollection.toArray(new AxArtifactKey[engineKeyCollection.size()]); + } + else { + engineKeyArray = null; + } } /** @@ -121,4 +127,50 @@ public class EngineServiceInfoResponse extends Response { public void setApexModelKey(final AxArtifactKey apexModelKey) { this.apexModelKey = apexModelKey; } + + /* (non-Javadoc) + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + ((apexModelKey == null) ? 0 : apexModelKey.hashCode()); + result = prime * result + Arrays.hashCode(engineKeyArray); + result = prime * result + ((engineServiceKey == null) ? 0 : engineServiceKey.hashCode()); + return result; + } + + /* (non-Javadoc) + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!super.equals(obj)) { + return false; + } + + EngineServiceInfoResponse other = (EngineServiceInfoResponse) obj; + if (apexModelKey == null) { + if (other.apexModelKey != null) { + return false; + } + } else if (!apexModelKey.equals(other.apexModelKey)) { + return false; + } + if (!Arrays.equals(engineKeyArray, other.engineKeyArray)) { + return false; + } + if (engineServiceKey == null) { + if (other.engineServiceKey != null) { + return false; + } + } else if (!engineServiceKey.equals(other.engineServiceKey)) { + return false; + } + return true; + } } diff --git a/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/engdep/messages/Response.java b/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/engdep/messages/Response.java index 530e1aba7..c9d4239a1 100644 --- a/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/engdep/messages/Response.java +++ b/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/engdep/messages/Response.java @@ -31,8 +31,6 @@ import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; * @author Liam Fallon (liam.fallon@ericsson.com) */ public class Response extends Message { - private static final int HASH_PRIME = 31; - private static final long serialVersionUID = -4162385039044294476L; private boolean successful = false; @@ -82,54 +80,39 @@ public class Response extends Message { return responseTo; } - /** - * Compare this message to another Response message. - * - * @param otherMessage the other message - * @return true, if successful + /* (non-Javadoc) + * @see java.lang.Object#hashCode() */ - public boolean equals(final Response otherMessage) { - return super.equals(otherMessage) && successful == otherMessage.successful - && responseTo.equals(otherMessage.responseTo); + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + ((responseTo == null) ? 0 : responseTo.hashCode()); + result = prime * result + (successful ? 1231 : 1237); + return result; } - /* - * (non-Javadoc) - * - * @see org.onap.policy.apex.core.protocols.Message#equals(java.lang.Object) + /* (non-Javadoc) + * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(final Object object) { - if (this == object) { + public boolean equals(Object obj) { + if (this == obj) { return true; } - if (object == null || getClass() != object.getClass()) { - return false; - } - if (!super.equals(object)) { + if (!super.equals(obj)) { return false; } - final Response response = (Response) object; - - if (successful != response.successful) { + Response other = (Response) obj; + if (responseTo == null) { + if (other.responseTo != null) { + return false; + } + } else if (!responseTo.equals(other.responseTo)) { return false; } - return !(responseTo != null ? !responseTo.equals(response.responseTo) : response.responseTo != null); - - } - - /* - * (non-Javadoc) - * - * @see org.onap.policy.apex.core.protocols.Message#hashCode() - */ - @Override - public int hashCode() { - int result = super.hashCode(); - result = HASH_PRIME * result + (successful ? 1 : 0); - result = HASH_PRIME * result + (responseTo != null ? responseTo.hashCode() : 0); - return result; + return successful == other.successful; } /* diff --git a/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/engdep/messages/UpdateModel.java b/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/engdep/messages/UpdateModel.java index 8d6d315ce..e29889ea8 100644 --- a/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/engdep/messages/UpdateModel.java +++ b/core/core-protocols/src/main/java/org/onap/policy/apex/core/protocols/engdep/messages/UpdateModel.java @@ -97,4 +97,35 @@ public class UpdateModel extends Message { public String toString() { return "UpdateModel {" + super.toString() + "}[]"; } + + /* (non-Javadoc) + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + (forceInstall ? 1231 : 1237); + result = prime * result + (ignoreConflicts ? 1231 : 1237); + return result; + } + + /* (non-Javadoc) + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!super.equals(obj)) { + return false; + } + + UpdateModel other = (UpdateModel) obj; + if (forceInstall != other.forceInstall) { + return false; + } + return ignoreConflicts == other.ignoreConflicts; + } } |