You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2011/11/22 22:18:56 UTC
svn commit: r1205178 - in /abdera/abdera2:
activities/src/main/java/org/apache/abdera2/activities/extra/Extra.java
common/src/main/java/org/apache/abdera2/common/selector/Selectors.java
Author: jmsnell
Date: Tue Nov 22 21:18:56 2011
New Revision: 1205178
URL: http://svn.apache.org/viewvc?rev=1205178&view=rev
Log:
Minor api updates...
Modified:
abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/extra/Extra.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/selector/Selectors.java
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/extra/Extra.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/extra/Extra.java?rev=1205178&r1=1205177&r2=1205178&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/extra/Extra.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/extra/Extra.java Tue Nov 22 21:18:56 2011
@@ -755,9 +755,9 @@ public final class Extra {
* the downstreamDuplicates and upstreamDuplicates properties
* into account when determining equivalence.
*/
- private static Equivalence<ASObject> identity() {
- return new Equivalence<ASObject>() {
- protected boolean doEquivalent(ASObject a, ASObject b) {
+ public static <X extends ASObject>Equivalence<X> identity() {
+ return new Equivalence<X>() {
+ protected boolean doEquivalent(X a, X b) {
Selector<Map.Entry<String,Object>> filter =
ASBase.withFields("id","alias","objectType");
Map<String,Object> map1 = Maps.transformEntries(a.toMap(filter),lower_val);
@@ -778,9 +778,9 @@ public final class Extra {
};
}
- private static Equivalence<ASObject> identityWithDuplicates() {
- return new Equivalence<ASObject>() {
- protected boolean doEquivalent(ASObject a, ASObject b) {
+ public static <X extends ASObject>Equivalence<X> identityWithDuplicates() {
+ return new Equivalence<X>() {
+ protected boolean doEquivalent(X a, X b) {
if (IDENTITY_EQUIVALENCE.equivalent(a, b))
return true;
Iterable<String> aids = a.getKnownIds();
@@ -801,22 +801,30 @@ public final class Extra {
}
public static final Comparator<ASObject> UPDATED_COMPARATOR =
- new UpdatedComparator();
+ new UpdatedComparator<ASObject>();
public static final Comparator<ASObject> PUBLISHED_COMPARATOR =
- new PublishedComparator();
+ new PublishedComparator<ASObject>();
- static class UpdatedComparator
- extends DateTimes.DateTimeComparator<ASObject> {
- public int compare(ASObject a1, ASObject a2) {
+ public static <X extends ASObject>Comparator<X> updatedComparator() {
+ return new UpdatedComparator<X>();
+ }
+
+ public static <X extends ASObject>Comparator<X> publishedComparator() {
+ return new PublishedComparator<X>();
+ }
+
+ static class UpdatedComparator<X extends ASObject>
+ extends DateTimes.DateTimeComparator<X> {
+ public int compare(X a1, X a2) {
DateTime d1 = a1.getUpdated();
DateTime d2 = a2.getUpdated();
return innerCompare(d1,d2);
}
}
- static class PublishedComparator
- extends DateTimes.DateTimeComparator<ASObject> {
- public int compare(ASObject a1, ASObject a2) {
+ static class PublishedComparator<X extends ASObject>
+ extends DateTimes.DateTimeComparator<X> {
+ public int compare(X a1, X a2) {
return innerCompare(
a1.getPublished(),
a2.getPublished());
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/selector/Selectors.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/selector/Selectors.java?rev=1205178&r1=1205177&r2=1205178&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/selector/Selectors.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/selector/Selectors.java Tue Nov 22 21:18:56 2011
@@ -19,6 +19,7 @@ package org.apache.abdera2.common.select
import java.util.concurrent.atomic.AtomicInteger;
+import com.google.common.base.Equivalence;
import com.google.common.base.Function;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
@@ -141,6 +142,15 @@ public final class Selectors {
}
/**
+ * Returns a Selector<X> for the given Equivalence
+ */
+ public static <X>Selector<X> equivalentTo(
+ final Equivalence<X> equivalence,
+ final X item) {
+ return forPredicate(equivalence.equivalentTo(item));
+ }
+
+ /**
* Returns a Selector<X> that wraps the specified Predicate<X>
*/
public static <X>Selector<X> forPredicate(