From b4e6491e451a47b2b0c9216604cc4bedf674637a Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Thu, 24 Jun 2010 13:27:26 +0000 Subject: [PATCH] * drop own implementation of a reverting comparator by using @InvertibleComparator@ of Spring * fixed some generics git-svn-id: svn+ssh://svn.synyx.de/var/svn/synyx/opensource/hera/trunk@11640 5a64d73e-33d6-4ccc-9058-23f8668ecac9 --- .../hera/core/OrderAwarePluginRegistry.java | 50 +++---------------- .../core/support/BeanListFactoryBean.java | 3 +- .../support/PluginRegistryFactoryBean.java | 3 +- 3 files changed, 10 insertions(+), 46 deletions(-) diff --git a/core/src/main/java/org/synyx/hera/core/OrderAwarePluginRegistry.java b/core/src/main/java/org/synyx/hera/core/OrderAwarePluginRegistry.java index 3f20bc8..4879f55 100644 --- a/core/src/main/java/org/synyx/hera/core/OrderAwarePluginRegistry.java +++ b/core/src/main/java/org/synyx/hera/core/OrderAwarePluginRegistry.java @@ -16,12 +16,12 @@ package org.synyx.hera.core; -import java.io.Serializable; import java.util.Collections; import java.util.Comparator; import java.util.List; import org.springframework.core.annotation.AnnotationAwareOrderComparator; +import org.springframework.util.comparator.InvertibleComparator; /** @@ -48,8 +48,9 @@ public class OrderAwarePluginRegistry, S> extends /** * Comparator reverting the {@value #DEFAULT_COMPARATOR}. */ + @SuppressWarnings("unchecked") private static final Comparator DEFAULT_REVERSE_COMPARATOR = - new RevertingComparator(DEFAULT_COMPARATOR); + new InvertibleComparator(DEFAULT_COMPARATOR, false); private Comparator comparator; @@ -61,8 +62,8 @@ public class OrderAwarePluginRegistry, S> extends * @param plugins the {@link Plugin}s to be contained in the registry or * {@literal null} if the registry shall be empty initally. * @param comparator the {@link Comparator} to be used for ordering the - * {@link Plugin}s or {@literal null} if the {@code - * #DEFAULT_COMPARATOR} shall be used. + * {@link Plugin}s or {@literal null} if the + * {@code #DEFAULT_COMPARATOR} shall be used. */ protected OrderAwarePluginRegistry(List plugins, Comparator comparator) { @@ -73,8 +74,8 @@ public class OrderAwarePluginRegistry, S> extends /** - * Creates a new {@link OrderAwarePluginRegistry} using the {@code - * #DEFAULT_COMPARATOR}. + * Creates a new {@link OrderAwarePluginRegistry} using the + * {@code #DEFAULT_COMPARATOR}. * * @param * @param @@ -208,41 +209,6 @@ public class OrderAwarePluginRegistry, S> extends @SuppressWarnings("unchecked") public OrderAwarePluginRegistry reverse() { - return create(plugins, new RevertingComparator(comparator)); - } - - /** - * Comparator to revert the ordering of the given delegate. - * - * @author Oliver Gierke - gierke@synyx.de - */ - private static final class RevertingComparator implements Comparator, - Serializable { - - private static final long serialVersionUID = 5296103845985772391L; - - private final Comparator delegate; - - - /** - * Creates a new {@link RevertingComparator}. - * - * @param delegate - */ - public RevertingComparator(Comparator delegate) { - - this.delegate = delegate; - } - - - /* - * (non-Javadoc) - * - * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) - */ - public int compare(T first, T second) { - - return -1 * delegate.compare(first, second); - } + return create(plugins, new InvertibleComparator(comparator, false)); } } diff --git a/core/src/main/java/org/synyx/hera/core/support/BeanListFactoryBean.java b/core/src/main/java/org/synyx/hera/core/support/BeanListFactoryBean.java index d0e3af3..bcf960a 100644 --- a/core/src/main/java/org/synyx/hera/core/support/BeanListFactoryBean.java +++ b/core/src/main/java/org/synyx/hera/core/support/BeanListFactoryBean.java @@ -57,8 +57,7 @@ public class BeanListFactoryBean extends AbstractTypeAwareSupport * * @see org.springframework.beans.factory.FactoryBean#getObjectType() */ - @SuppressWarnings("unchecked") - public Class getObjectType() { + public Class getObjectType() { return List.class; } diff --git a/core/src/main/java/org/synyx/hera/core/support/PluginRegistryFactoryBean.java b/core/src/main/java/org/synyx/hera/core/support/PluginRegistryFactoryBean.java index 343ac4a..f821ab8 100644 --- a/core/src/main/java/org/synyx/hera/core/support/PluginRegistryFactoryBean.java +++ b/core/src/main/java/org/synyx/hera/core/support/PluginRegistryFactoryBean.java @@ -46,8 +46,7 @@ public class PluginRegistryFactoryBean, S> extends * * @see org.springframework.beans.factory.FactoryBean#getObjectType() */ - @SuppressWarnings("unchecked") - public Class getObjectType() { + public Class getObjectType() { return PluginRegistry.class; }