[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