You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2020/01/15 07:11:52 UTC
[syncope] branch master updated: [SYNCOPE-1533] added equals and
hashCode methods for TOs (#157)
This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/master by this push:
new c1ae2ae [SYNCOPE-1533] added equals and hashCode methods for TOs (#157)
c1ae2ae is described below
commit c1ae2ae798f664b8a5188865d36af9d712647586
Author: DmitriyBrashevets <47...@users.noreply.github.com>
AuthorDate: Wed Jan 15 10:07:30 2020 +0300
[SYNCOPE-1533] added equals and hashCode methods for TOs (#157)
---
.../syncope/common/lib/to/ConnInstanceTO.java | 43 +++++++++++++++
.../syncope/common/lib/to/ConnPoolConfTO.java | 31 +++++++++++
.../apache/syncope/common/lib/to/MappingTO.java | 28 ++++++++++
.../apache/syncope/common/lib/to/OrgUnitTO.java | 34 ++++++++++++
.../apache/syncope/common/lib/to/ProvisionTO.java | 39 ++++++++++++++
.../apache/syncope/common/lib/to/ResourceTO.java | 62 ++++++++++++++++++++++
.../common/lib/policy/PasswordPolicyTO.java | 32 ++++++++++-
.../apache/syncope/common/lib/policy/PolicyTO.java | 31 +++++++++++
.../syncope/common/lib/to/AccessTokenTO.java | 30 +++++++++++
.../apache/syncope/common/lib/to/AnyTypeTO.java | 27 ++++++++++
.../org/apache/syncope/common/lib/to/ItemTO.java | 42 +++++++++++++++
.../syncope/common/lib/to/MailTemplateTO.java | 24 +++++++++
.../org/apache/syncope/common/lib/to/RealmTO.java | 39 ++++++++++++++
.../org/apache/syncope/common/lib/to/RoleTO.java | 33 ++++++++++++
.../common/rest/api/beans/AbstractQuery.java | 28 ++++++++++
.../syncope/common/rest/api/beans/AnyQuery.java | 30 +++++++++++
.../syncope/common/rest/api/beans/ExecQuery.java | 26 +++++++++
.../syncope/common/rest/api/beans/SchemaQuery.java | 27 ++++++++++
18 files changed, 605 insertions(+), 1 deletion(-)
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnInstanceTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnInstanceTO.java
index 3b5db38..b61d2b8 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnInstanceTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnInstanceTO.java
@@ -30,6 +30,8 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.ConnConfProperty;
import org.apache.syncope.common.lib.types.ConnectorCapability;
@@ -167,4 +169,45 @@ public class ConnInstanceTO implements EntityTO {
this.poolConf = poolConf;
}
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ ConnInstanceTO that = (ConnInstanceTO) o;
+
+ return new EqualsBuilder().
+ append(key, that.key).
+ append(adminRealm, that.adminRealm).
+ append(location, that.location).
+ append(connectorName, that.connectorName).
+ append(bundleName, that.bundleName).
+ append(version, that.version).
+ append(conf, that.conf).
+ append(capabilities, that.capabilities).
+ append(displayName, that.displayName).
+ append(connRequestTimeout, that.connRequestTimeout).
+ append(poolConf, that.poolConf).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(key).
+ append(adminRealm).
+ append(location).
+ append(connectorName).
+ append(bundleName).
+ append(version).
+ append(conf).
+ append(capabilities).
+ append(displayName).
+ append(connRequestTimeout).
+ append(poolConf).
+ toHashCode();
+ }
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnPoolConfTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnPoolConfTO.java
index f92709b..176fde1 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnPoolConfTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnPoolConfTO.java
@@ -21,6 +21,8 @@ package org.apache.syncope.common.lib.to;
import java.io.Serializable;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
@XmlRootElement(name = "connPoolConf")
@XmlType
@@ -78,4 +80,33 @@ public class ConnPoolConfTO implements Serializable {
this.minEvictableIdleTimeMillis = minEvictableIdleTimeMillis;
}
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ ConnPoolConfTO that = (ConnPoolConfTO) o;
+
+ return new EqualsBuilder().
+ append(maxObjects, that.maxObjects).
+ append(minIdle, that.minIdle).
+ append(maxIdle, that.maxIdle).
+ append(maxWait, that.maxWait).
+ append(minEvictableIdleTimeMillis, that.minEvictableIdleTimeMillis).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(maxObjects).
+ append(minIdle).
+ append(maxIdle).
+ append(maxWait).
+ append(minEvictableIdleTimeMillis).
+ toHashCode();
+ }
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/MappingTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/MappingTO.java
index 7064a59..54be5d9 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/MappingTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/MappingTO.java
@@ -28,6 +28,8 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
@XmlRootElement(name = "mapping")
@XmlType
@@ -91,4 +93,30 @@ public class MappingTO implements ItemContainerTO, Serializable {
public List<ItemTO> getLinkingItems() {
return linkingItems;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ MappingTO mappingTO = (MappingTO) o;
+
+ return new EqualsBuilder().
+ append(connObjectLink, mappingTO.connObjectLink).
+ append(items, mappingTO.items).
+ append(linkingItems, mappingTO.linkingItems).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(connObjectLink).
+ append(items).
+ append(linkingItems).
+ toHashCode();
+ }
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/OrgUnitTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/OrgUnitTO.java
index f1db5c5..8580165 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/OrgUnitTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/OrgUnitTO.java
@@ -27,6 +27,8 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
@XmlRootElement(name = "orgUnit")
@XmlType
@@ -123,4 +125,36 @@ public class OrgUnitTO implements EntityTO, ItemContainerTO {
public boolean remove(final ItemTO item) {
return this.items.remove(item);
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ OrgUnitTO orgUnitTO = (OrgUnitTO) o;
+
+ return new EqualsBuilder().
+ append(ignoreCaseMatch, orgUnitTO.ignoreCaseMatch).
+ append(key, orgUnitTO.key).
+ append(objectClass, orgUnitTO.objectClass).
+ append(syncToken, orgUnitTO.syncToken).
+ append(connObjectLink, orgUnitTO.connObjectLink).
+ append(items, orgUnitTO.items).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(key).
+ append(objectClass).
+ append(syncToken).
+ append(ignoreCaseMatch).
+ append(connObjectLink).
+ append(items).
+ toHashCode();
+ }
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisionTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisionTO.java
index ec271e9..af76faf 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisionTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisionTO.java
@@ -25,6 +25,8 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
@XmlRootElement(name = "provision")
@XmlType
@@ -122,4 +124,41 @@ public class ProvisionTO implements EntityTO {
return virSchemas;
}
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ ProvisionTO that = (ProvisionTO) o;
+
+ return new EqualsBuilder().
+ append(ignoreCaseMatch, that.ignoreCaseMatch).
+ append(key, that.key).
+ append(anyType, that.anyType).
+ append(objectClass, that.objectClass).
+ append(auxClasses, that.auxClasses).
+ append(syncToken, that.syncToken).
+ append(uidOnCreate, that.uidOnCreate).
+ append(mapping, that.mapping).
+ append(virSchemas, that.virSchemas).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(key).
+ append(anyType).
+ append(objectClass).
+ append(auxClasses).
+ append(syncToken).
+ append(ignoreCaseMatch).
+ append(uidOnCreate).
+ append(mapping).
+ append(virSchemas).
+ toHashCode();
+ }
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ResourceTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ResourceTO.java
index b96a206..4e05d84 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ResourceTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ResourceTO.java
@@ -30,6 +30,8 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.ConnConfProperty;
import org.apache.syncope.common.lib.types.ConnectorCapability;
import org.apache.syncope.common.lib.types.TraceLevel;
@@ -251,4 +253,64 @@ public class ResourceTO implements EntityTO {
public List<String> getPropagationActions() {
return propagationActions;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ ResourceTO that = (ResourceTO) o;
+
+ return new EqualsBuilder().
+ append(randomPwdIfNotProvided, that.randomPwdIfNotProvided).
+ append(enforceMandatoryCondition, that.enforceMandatoryCondition).
+ append(overrideCapabilities, that.overrideCapabilities).
+ append(key, that.key).
+ append(connector, that.connector).
+ append(connectorDisplayName, that.connectorDisplayName).
+ append(provisions, that.provisions).
+ append(orgUnit, that.orgUnit).
+ append(propagationPriority, that.propagationPriority).
+ append(createTraceLevel, that.createTraceLevel).
+ append(updateTraceLevel, that.updateTraceLevel).
+ append(deleteTraceLevel, that.deleteTraceLevel).
+ append(provisioningTraceLevel, that.provisioningTraceLevel).
+ append(passwordPolicy, that.passwordPolicy).
+ append(accountPolicy, that.accountPolicy).
+ append(pullPolicy, that.pullPolicy).
+ append(pushPolicy, that.pushPolicy).
+ append(confOverride, that.confOverride).
+ append(capabilitiesOverride, that.capabilitiesOverride).
+ append(propagationActions, that.propagationActions).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(key).
+ append(connector).
+ append(connectorDisplayName).
+ append(provisions).
+ append(orgUnit).
+ append(propagationPriority).
+ append(randomPwdIfNotProvided).
+ append(enforceMandatoryCondition).
+ append(createTraceLevel).
+ append(updateTraceLevel).
+ append(deleteTraceLevel).
+ append(provisioningTraceLevel).
+ append(passwordPolicy).
+ append(accountPolicy).
+ append(pullPolicy).
+ append(pushPolicy).
+ append(confOverride).
+ append(overrideCapabilities).
+ append(capabilitiesOverride).
+ append(propagationActions).
+ toHashCode();
+ }
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PasswordPolicyTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PasswordPolicyTO.java
index 4b480e5..64e9082 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PasswordPolicyTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PasswordPolicyTO.java
@@ -19,7 +19,6 @@
package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
@@ -27,6 +26,9 @@ import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
@XmlRootElement(name = "passwordPolicy")
@XmlType
@@ -72,4 +74,32 @@ public class PasswordPolicyTO extends PolicyTO implements ComposablePolicy {
public List<String> getRules() {
return rules;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ PasswordPolicyTO that = (PasswordPolicyTO) o;
+
+ return new EqualsBuilder().
+ appendSuper(super.equals(o)).
+ append(allowNullPassword, that.allowNullPassword).
+ append(historyLength, that.historyLength).
+ append(rules, that.rules).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ appendSuper(super.hashCode()).
+ append(allowNullPassword).
+ append(historyLength).
+ append(rules).
+ toHashCode();
+ }
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PolicyTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PolicyTO.java
index 624b640..43f8113 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PolicyTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PolicyTO.java
@@ -31,6 +31,8 @@ import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.to.EntityTO;
@XmlRootElement(name = "policy")
@@ -102,4 +104,33 @@ public abstract class PolicyTO implements EntityTO {
return usedByRealms;
}
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ PolicyTO policyTO = (PolicyTO) o;
+
+ return new EqualsBuilder().
+ append(discriminator, policyTO.discriminator).
+ append(key, policyTO.key).
+ append(description, policyTO.description).
+ append(usedByResources, policyTO.usedByResources).
+ append(usedByRealms, policyTO.usedByRealms).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(discriminator).
+ append(key).
+ append(description).
+ append(usedByResources).
+ append(usedByRealms).
+ toHashCode();
+ }
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AccessTokenTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AccessTokenTO.java
index 501ecb9..17da308 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AccessTokenTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AccessTokenTO.java
@@ -23,6 +23,8 @@ import java.util.Optional;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.BaseBean;
@XmlRootElement(name = "accessToken")
@@ -72,4 +74,32 @@ public class AccessTokenTO extends BaseBean implements EntityTO {
public void setOwner(final String owner) {
this.owner = owner;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ AccessTokenTO that = (AccessTokenTO) o;
+
+ return new EqualsBuilder().
+ append(key, that.key).
+ append(body, that.body).
+ append(expiryTime, that.expiryTime).
+ append(owner, that.owner).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(key).
+ append(body).
+ append(expiryTime).
+ append(owner).
+ toHashCode();
+ }
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeTO.java
index 5537535..2188b9f 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeTO.java
@@ -26,6 +26,8 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.AnyTypeKind;
@XmlRootElement(name = "anyType")
@@ -66,4 +68,29 @@ public class AnyTypeTO implements EntityTO {
return classes;
}
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ AnyTypeTO anyTypeTO = (AnyTypeTO) o;
+
+ return new EqualsBuilder().
+ append(key, anyTypeTO.key).
+ append(kind, anyTypeTO.kind).
+ append(classes, anyTypeTO.classes).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(key).
+ append(kind).
+ append(classes).
+ toHashCode();
+ }
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ItemTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ItemTO.java
index 27066be..e8f4013 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ItemTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ItemTO.java
@@ -25,6 +25,8 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.MappingPurpose;
@XmlRootElement(name = "item")
@@ -158,4 +160,44 @@ public class ItemTO implements EntityTO {
public List<String> getTransformers() {
return transformers;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ ItemTO itemTO = (ItemTO) o;
+
+ return new EqualsBuilder().
+ append(connObjectKey, itemTO.connObjectKey).
+ append(password, itemTO.password).
+ append(key, itemTO.key).
+ append(intAttrName, itemTO.intAttrName).
+ append(extAttrName, itemTO.extAttrName).
+ append(mandatoryCondition, itemTO.mandatoryCondition).
+ append(purpose, itemTO.purpose).
+ append(propagationJEXLTransformer, itemTO.propagationJEXLTransformer).
+ append(pullJEXLTransformer, itemTO.pullJEXLTransformer).
+ append(transformers, itemTO.transformers).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(key).
+ append(intAttrName).
+ append(extAttrName).
+ append(connObjectKey).
+ append(password).
+ append(mandatoryCondition).
+ append(purpose).
+ append(propagationJEXLTransformer).
+ append(pullJEXLTransformer).
+ append(transformers).
+ toHashCode();
+ }
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/MailTemplateTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/MailTemplateTO.java
index fcbb186..3a96d50 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/MailTemplateTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/MailTemplateTO.java
@@ -21,6 +21,8 @@ package org.apache.syncope.common.lib.to;
import javax.ws.rs.PathParam;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
@XmlRootElement(name = "mailTemplate")
@XmlType
@@ -40,4 +42,26 @@ public class MailTemplateTO implements EntityTO {
public void setKey(final String key) {
this.key = key;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ MailTemplateTO that = (MailTemplateTO) o;
+
+ return new EqualsBuilder().
+ append(key, that.key).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(key).
+ toHashCode();
+ }
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RealmTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RealmTO.java
index a841854..d878130 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RealmTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RealmTO.java
@@ -31,6 +31,8 @@ import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
@XmlRootElement(name = "realm")
@@ -131,4 +133,41 @@ public class RealmTO implements NamedEntityTO, TemplatableTO {
return resources;
}
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ RealmTO realmTO = (RealmTO) o;
+
+ return new EqualsBuilder().
+ append(key, realmTO.key).
+ append(name, realmTO.name).
+ append(parent, realmTO.parent).
+ append(fullPath, realmTO.fullPath).
+ append(accountPolicy, realmTO.accountPolicy).
+ append(passwordPolicy, realmTO.passwordPolicy).
+ append(actions, realmTO.actions).
+ append(templates, realmTO.templates).
+ append(resources, realmTO.resources).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(key).
+ append(name).
+ append(parent).
+ append(fullPath).
+ append(accountPolicy).
+ append(passwordPolicy).
+ append(actions).
+ append(templates).
+ append(resources).
+ toHashCode();
+ }
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RoleTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RoleTO.java
index d9d3aee..90941b7 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RoleTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RoleTO.java
@@ -28,6 +28,8 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
@XmlRootElement(name = "role")
@XmlType
@@ -94,4 +96,35 @@ public class RoleTO implements EntityTO {
return privileges;
}
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ RoleTO roleTO = (RoleTO) o;
+
+ return new EqualsBuilder().
+ append(key, roleTO.key).
+ append(entitlements, roleTO.entitlements).
+ append(realms, roleTO.realms).
+ append(dynRealms, roleTO.dynRealms).
+ append(dynMembershipCond, roleTO.dynMembershipCond).
+ append(privileges, roleTO.privileges).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(key).
+ append(entitlements).
+ append(realms).
+ append(dynRealms).
+ append(dynMembershipCond).
+ append(privileges).
+ toHashCode();
+ }
}
diff --git a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AbstractQuery.java b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AbstractQuery.java
index 892bf0d..358e4b0 100644
--- a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AbstractQuery.java
+++ b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AbstractQuery.java
@@ -24,6 +24,8 @@ import java.io.Serializable;
import javax.validation.constraints.Min;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.QueryParam;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.rest.api.service.JAXRSService;
public abstract class AbstractQuery implements Serializable {
@@ -108,4 +110,30 @@ public abstract class AbstractQuery implements Serializable {
public void setOrderBy(final String orderBy) {
this.orderBy = orderBy;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ AbstractQuery that = (AbstractQuery) o;
+
+ return new EqualsBuilder().
+ append(page, that.page).
+ append(size, that.size).
+ append(orderBy, that.orderBy).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(page).
+ append(size).
+ append(orderBy).
+ toHashCode();
+ }
}
diff --git a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyQuery.java b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyQuery.java
index 1a9d772..efa2493 100644
--- a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyQuery.java
+++ b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyQuery.java
@@ -23,6 +23,8 @@ import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.QueryParam;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.rest.api.service.JAXRSService;
@@ -105,4 +107,32 @@ public class AnyQuery extends AbstractQuery {
public void setFiql(final String fiql) {
this.fiql = fiql;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ AnyQuery anyQuery = (AnyQuery) o;
+
+ return new EqualsBuilder().
+ appendSuper(super.equals(o)).
+ append(realm, anyQuery.realm).
+ append(details, anyQuery.details).
+ append(fiql, anyQuery.fiql).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ appendSuper(super.hashCode()).
+ append(realm).
+ append(details).
+ append(fiql).
+ toHashCode();
+ }
}
diff --git a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ExecQuery.java b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ExecQuery.java
index f4de253..7c14a0a 100644
--- a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ExecQuery.java
+++ b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ExecQuery.java
@@ -20,6 +20,8 @@ package org.apache.syncope.common.rest.api.beans;
import javax.validation.constraints.NotNull;
import javax.ws.rs.PathParam;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
public class ExecQuery extends AbstractQuery {
@@ -49,4 +51,28 @@ public class ExecQuery extends AbstractQuery {
public void setKey(final String key) {
this.key = key;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ ExecQuery execQuery = (ExecQuery) o;
+
+ return new EqualsBuilder().
+ appendSuper(super.equals(o)).
+ append(key, execQuery.key).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ appendSuper(super.hashCode()).
+ append(key).
+ toHashCode();
+ }
}
diff --git a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java
index 24a3a52..ff0b9db 100644
--- a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java
+++ b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java
@@ -25,6 +25,8 @@ import java.util.List;
import javax.validation.constraints.NotNull;
import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.SchemaType;
public class SchemaQuery implements Serializable {
@@ -105,4 +107,29 @@ public class SchemaQuery implements Serializable {
this.keyword = keyword;
}
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ SchemaQuery that = (SchemaQuery) o;
+
+ return new EqualsBuilder().
+ append(type, that.type).
+ append(anyTypeClasses, that.anyTypeClasses).
+ append(keyword, that.keyword).
+ isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().
+ append(type).
+ append(anyTypeClasses).
+ append(keyword).
+ toHashCode();
+ }
}