[java-metadata-aggregator] branch master updated: MDA-167 - Use Function instead of Converter in API
Ian Young
ian at iay.org.uk
Thu Apr 27 05:44:45 EDT 2017
This is an automated email from the git hooks/post-receive script.
iay pushed a commit to branch master
in repository java-metadata-aggregator.
View the commit online:
http://git.shibboleth.net/view/?p=java-metadata-aggregator.git;a=commit;h=300325182cb4107ec5789775937f0540623b99b9
The following commit(s) were added to refs/heads/master by this push:
new 3003251 MDA-167 - Use Function instead of Converter in API
3003251 is described below
commit 300325182cb4107ec5789775937f0540623b99b9
Author: Ian Young <ian at iay.org.uk>
AuthorDate: Thu Apr 27 10:44:34 2017 +0100
MDA-167 - Use Function instead of Converter in API
---
.../metadata/pipeline/ItemIdTransformStage.java | 19 +++++++++----------
.../pipeline/MDQueryMD5ItemIdTransformer.java | 10 +++++-----
.../pipeline/MDQuerySHA1ItemIdTransformer.java | 10 +++++-----
.../metadata/pipeline/ItemIdTransformStageTest.java | 13 ++++++-------
4 files changed, 25 insertions(+), 27 deletions(-)
diff --git a/aggregator-pipeline/src/main/java/net/shibboleth/metadata/pipeline/ItemIdTransformStage.java b/aggregator-pipeline/src/main/java/net/shibboleth/metadata/pipeline/ItemIdTransformStage.java
index 25cd53e..07de915 100644
--- a/aggregator-pipeline/src/main/java/net/shibboleth/metadata/pipeline/ItemIdTransformStage.java
+++ b/aggregator-pipeline/src/main/java/net/shibboleth/metadata/pipeline/ItemIdTransformStage.java
@@ -24,18 +24,17 @@ import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.concurrent.ThreadSafe;
+import com.google.common.base.Function;
+import com.google.common.base.Predicates;
+
import net.shibboleth.metadata.Item;
import net.shibboleth.metadata.ItemId;
import net.shibboleth.utilities.java.support.collection.CollectionSupport;
import net.shibboleth.utilities.java.support.collection.LazyList;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import org.springframework.core.convert.converter.Converter;
-
-import com.google.common.base.Predicates;
-
/**
- * A pipeline stage that, takes each {@link ItemId} associated with an {@link Item}, transforms its
+ * A pipeline stage that, taking each {@link ItemId} associated with an {@link Item}, transforms its
* value using a set of registered transformers, and associates an additional {@link ItemId} (whose value is the
* result of the transform) with the element.
*
@@ -45,14 +44,14 @@ import com.google.common.base.Predicates;
public class ItemIdTransformStage<T> extends BaseIteratingStage<T> {
/** Transformers used on IDs. */
- private Collection<Converter<String, String>> idTransformers = new LazyList<>();
+ private Collection<Function<String, String>> idTransformers = new LazyList<>();
/**
* Gets the transforms used to produce the transformed entity IDs.
*
* @return transforms used to produce the transformed entity IDs, never null
*/
- public Collection<Converter<String, String>> getIdTransformers() {
+ public Collection<Function<String, String>> getIdTransformers() {
return idTransformers;
}
@@ -61,7 +60,7 @@ public class ItemIdTransformStage<T> extends BaseIteratingStage<T> {
*
* @param transformers transforms used to produce the transformed entity IDs
*/
- public synchronized void setIdTransformers(final Collection<Converter<String, String>> transformers) {
+ public synchronized void setIdTransformers(final Collection<Function<String, String>> transformers) {
ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
@@ -75,8 +74,8 @@ public class ItemIdTransformStage<T> extends BaseIteratingStage<T> {
final List<ItemId> transformedIds = new ArrayList<>();
for (final ItemId id : ids) {
- for (final Converter<String, String> idTransform : idTransformers) {
- final String transformedId = idTransform.convert(id.getId());
+ for (final Function<String, String> idTransform : idTransformers) {
+ final String transformedId = idTransform.apply(id.getId());
transformedIds.add(new ItemId(transformedId));
}
}
diff --git a/aggregator-pipeline/src/main/java/net/shibboleth/metadata/pipeline/MDQueryMD5ItemIdTransformer.java b/aggregator-pipeline/src/main/java/net/shibboleth/metadata/pipeline/MDQueryMD5ItemIdTransformer.java
index 49a64d2..0169a90 100644
--- a/aggregator-pipeline/src/main/java/net/shibboleth/metadata/pipeline/MDQueryMD5ItemIdTransformer.java
+++ b/aggregator-pipeline/src/main/java/net/shibboleth/metadata/pipeline/MDQueryMD5ItemIdTransformer.java
@@ -23,15 +23,15 @@ import javax.annotation.concurrent.ThreadSafe;
import org.bouncycastle.crypto.digests.MD5Digest;
import org.cryptacular.util.CodecUtil;
import org.cryptacular.util.HashUtil;
-import org.springframework.core.convert.converter.Converter;
+
+import com.google.common.base.Function;
/** Transforms a string into another string that is the MD5 hash of the original string prepended with "{md5}". */
@ThreadSafe
-public class MDQueryMD5ItemIdTransformer implements Converter<String, String> {
+public class MDQueryMD5ItemIdTransformer implements Function<String, String> {
- /** {@inheritDoc} */
@Override
- public String convert(@Nonnull final String source) {
+ public String apply(@Nonnull final String source) {
return "{md5}" + CodecUtil.hex(HashUtil.hash(new MD5Digest(), source.getBytes()));
}
-}
\ No newline at end of file
+}
diff --git a/aggregator-pipeline/src/main/java/net/shibboleth/metadata/pipeline/MDQuerySHA1ItemIdTransformer.java b/aggregator-pipeline/src/main/java/net/shibboleth/metadata/pipeline/MDQuerySHA1ItemIdTransformer.java
index aca00f9..589b4a6 100644
--- a/aggregator-pipeline/src/main/java/net/shibboleth/metadata/pipeline/MDQuerySHA1ItemIdTransformer.java
+++ b/aggregator-pipeline/src/main/java/net/shibboleth/metadata/pipeline/MDQuerySHA1ItemIdTransformer.java
@@ -22,15 +22,15 @@ import javax.annotation.concurrent.ThreadSafe;
import org.cryptacular.util.CodecUtil;
import org.cryptacular.util.HashUtil;
-import org.springframework.core.convert.converter.Converter;
+
+import com.google.common.base.Function;
/** Transforms a string into another string that is the SHA1 hash of the original string prepended with "{sha1}". */
@ThreadSafe
-public class MDQuerySHA1ItemIdTransformer implements Converter<String, String> {
+public class MDQuerySHA1ItemIdTransformer implements Function<String, String> {
- /** {@inheritDoc} */
@Override
- public String convert(@Nonnull final String source) {
+ public String apply(@Nonnull final String source) {
return "{sha1}" + CodecUtil.hex(HashUtil.sha1(source.getBytes()));
}
-}
\ No newline at end of file
+}
diff --git a/aggregator-pipeline/src/test/java/net/shibboleth/metadata/pipeline/ItemIdTransformStageTest.java b/aggregator-pipeline/src/test/java/net/shibboleth/metadata/pipeline/ItemIdTransformStageTest.java
index 5f8f879..29ee955 100644
--- a/aggregator-pipeline/src/test/java/net/shibboleth/metadata/pipeline/ItemIdTransformStageTest.java
+++ b/aggregator-pipeline/src/test/java/net/shibboleth/metadata/pipeline/ItemIdTransformStageTest.java
@@ -20,15 +20,14 @@ package net.shibboleth.metadata.pipeline;
import java.util.ArrayList;
import java.util.List;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import com.google.common.base.Function;
+
import net.shibboleth.metadata.Item;
import net.shibboleth.metadata.ItemId;
import net.shibboleth.metadata.MockItem;
-import net.shibboleth.metadata.pipeline.ComponentInfo;
-import net.shibboleth.metadata.pipeline.ItemIdTransformStage;
-
-import org.springframework.core.convert.converter.Converter;
-import org.testng.Assert;
-import org.testng.annotations.Test;
public class ItemIdTransformStageTest {
@@ -40,7 +39,7 @@ public class ItemIdTransformStageTest {
final ArrayList<Item<String>> mdColl = new ArrayList<>();
mdColl.add(item);
- final ArrayList<Converter<String, String>> transforms = new ArrayList<>();
+ final ArrayList<Function<String, String>> transforms = new ArrayList<>();
transforms.add(new MDQueryMD5ItemIdTransformer());
transforms.add(new MDQuerySHA1ItemIdTransformer());
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list