[java-identity-provider] 28/51: Add hashCode and equals to ResolverDataConnectorDependency

Rod Widdowson rdw at steadingsoftware.com
Wed Feb 6 08:42:59 EST 2019


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch master
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=60331c87567f118e11a61d082a93d4d938c2f1e3

commit 60331c87567f118e11a61d082a93d4d938c2f1e3
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Tue Jan 22 14:57:01 2019 +0000

    Add hashCode and equals to ResolverDataConnectorDependency
---
 .../resolver/ResolverDataConnectorDependency.java  | 33 ++++++++++++++++++++++
 .../resolver/AbstractResolverPluginTest.java       | 15 ++++++----
 2 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolverDataConnectorDependency.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolverDataConnectorDependency.java
index 58dd8c4..05d4a98 100644
--- a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolverDataConnectorDependency.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolverDataConnectorDependency.java
@@ -24,6 +24,10 @@ import java.util.Set;
 
 import javax.annotation.Nonnull;
 
+import org.bouncycastle.util.Arrays;
+
+import java.util.Objects;
+
 import net.shibboleth.utilities.java.support.annotation.ParameterName;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
@@ -101,4 +105,33 @@ public final class ResolverDataConnectorDependency  {
     public void setAttributeNames(@Nonnull @NotEmpty final Collection<String> names) {
         attributeNames = new HashSet<>(StringSupport.normalizeStringCollection(names));
     }
+    
+    /** {@inheritDoc} */
+    @Override
+    public int hashCode() {
+        final int[] input = {getAttributeNames().hashCode(), getDependencyPluginId().hashCode(), isAllAttributes()?1:0};
+        return Arrays.hashCode(input);
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    public boolean equals(final Object obj) {
+        if (this == obj) {
+            return true;
+        }
+
+        if (obj == null) {
+            return false;
+        }
+
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        
+        final ResolverDataConnectorDependency other = (ResolverDataConnectorDependency) obj;
+        
+        return Objects.equals(getDependencyPluginId(), other.getDependencyPluginId())
+                && Objects.equals(getAttributeNames(), other.getAttributeNames()) 
+                && (isAllAttributes() == other.isAllAttributes());
+    }
 }
\ No newline at end of file
diff --git a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPluginTest.java b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPluginTest.java
index e5e07f5..fe1a694 100644
--- a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPluginTest.java
+++ b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPluginTest.java
@@ -131,18 +131,21 @@ public class AbstractResolverPluginTest {
         adeps.add(dep1);
         adeps.add(dep2);
 
+        plugin.setAttributeDependencies(adeps);
+        Assert.assertNotNull(plugin.getAttributeDependencies());
+        Assert.assertEquals(plugin.getAttributeDependencies().size(), 2);
+
         ddeps.add(depd1);
+        Assert.assertEquals(ddeps.size(),1);
         ddeps.add(depd1);
+        Assert.assertEquals(ddeps.size(),1);
         ddeps.add(depd2);
+        Assert.assertEquals(ddeps.size(),2);
 
-        plugin.setAttributeDependencies(adeps);
-        plugin.setDataConnectorDependencies(ddeps);
-        
-        Assert.assertNotNull(plugin.getAttributeDependencies());
-        Assert.assertTrue(plugin.getAttributeDependencies().size() == 2);
 
+        plugin.setDataConnectorDependencies(ddeps);        
         Assert.assertNotNull(plugin.getDataConnectorDependencies());
-        Assert.assertTrue(plugin.getDataConnectorDependencies().size() == 2);
+        Assert.assertEquals(plugin.getDataConnectorDependencies().size(), 2);
 
         try {
             plugin.getAttributeDependencies().add(dep1);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list