Author: simonetripodi Date: Wed May 25 07:29:59 2011 New Revision: 1127412 URL: http://svn.apache.org/viewvc?rev=1127412&view=rev Log: FromAnnotationsRuleModule inherits from AbstractRulesModule so allows users a mix of APIs, to allow scan classes and fill potential lacks with rules bound by hand
Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/FromAnnotationsRuleModule.java commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/AbstractMethodHandler.java commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/AbstractAnnotatedPojoTestCase.java commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/employee/EmployeeTestCase.java commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/failingtests/FailingTestCase.java Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/FromAnnotationsRuleModule.java URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/FromAnnotationsRuleModule.java?rev=1127412&r1=1127411&r2=1127412&view=diff ============================================================================== --- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/FromAnnotationsRuleModule.java (original) +++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/FromAnnotationsRuleModule.java Wed May 25 07:29:59 2011 @@ -29,7 +29,7 @@ import java.security.PrivilegedAction; import org.apache.commons.digester3.Rule; import org.apache.commons.digester3.annotations.reflect.MethodArgument; -import org.apache.commons.digester3.binder.RulesBinder; +import org.apache.commons.digester3.binder.AbstractRulesModule; import org.apache.commons.digester3.binder.RulesModule; /** @@ -39,7 +39,7 @@ import org.apache.commons.digester3.bind * @since 3.0 */ public abstract class FromAnnotationsRuleModule - implements RulesModule + extends AbstractRulesModule { private static final String JAVA_PACKAGE = "java"; @@ -53,36 +53,28 @@ public abstract class FromAnnotationsRul /** * {@inheritDoc} */ - public final void configure( RulesBinder rulesBinder ) + @Override + protected final void configure() { - if ( this.rulesBinder != null ) + if ( rulesBinder == null ) { - throw new IllegalStateException( "Re-entry is not allowed." ); - } - - if ( rulesBinder instanceof WithMemoryRulesBinder ) - { - this.rulesBinder = (WithMemoryRulesBinder) rulesBinder; - } - else - { - this.rulesBinder = new WithMemoryRulesBinder( rulesBinder ); + rulesBinder = new WithMemoryRulesBinder( rulesBinder() ); } try { - configure(); + configureRules(); } finally { - this.rulesBinder = null; + rulesBinder = null; } } /** * Configures a {@link Binder} via the exposed methods. */ - protected abstract void configure(); + protected abstract void configureRules(); /** * Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/AbstractMethodHandler.java URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/AbstractMethodHandler.java?rev=1127412&r1=1127411&r2=1127412&view=diff ============================================================================== --- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/AbstractMethodHandler.java (original) +++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/AbstractMethodHandler.java Wed May 25 07:29:59 2011 @@ -17,18 +17,21 @@ */ package org.apache.commons.digester3.annotations.handlers; -import static org.apache.commons.digester3.annotations.utils.AnnotationUtils.*; +import static org.apache.commons.digester3.annotations.utils.AnnotationUtils.getAnnotationNamespaceURI; +import static org.apache.commons.digester3.annotations.utils.AnnotationUtils.getAnnotationPattern; +import static org.apache.commons.digester3.annotations.utils.AnnotationUtils.getAnnotationValue; +import static org.apache.commons.digester3.annotations.utils.AnnotationUtils.getAnnotationsArrayValue; import java.lang.annotation.Annotation; import java.lang.reflect.Method; import java.lang.reflect.Modifier; -import org.apache.commons.digester3.binder.RulesBinder; import org.apache.commons.digester3.annotations.AnnotationHandler; import org.apache.commons.digester3.annotations.DigesterRule; import org.apache.commons.digester3.annotations.DigesterRuleList; import org.apache.commons.digester3.annotations.FromAnnotationsRuleModule; import org.apache.commons.digester3.annotations.rules.CreationRule; +import org.apache.commons.digester3.binder.RulesBinder; /** * Handler that takes care to create the @@ -117,7 +120,7 @@ abstract class AbstractMethodHandler<A e { @Override - protected void configure() + protected void configureRules() { bindRulesFrom( type ); } Modified: commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/AbstractAnnotatedPojoTestCase.java URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/AbstractAnnotatedPojoTestCase.java?rev=1127412&r1=1127411&r2=1127412&view=diff ============================================================================== --- commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/AbstractAnnotatedPojoTestCase.java (original) +++ commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/AbstractAnnotatedPojoTestCase.java Wed May 25 07:29:59 2011 @@ -53,7 +53,7 @@ public abstract class AbstractAnnotatedP { @Override - protected void configure() + protected void configureRules() { bindRulesFrom( clazz ); } Modified: commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/employee/EmployeeTestCase.java URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/employee/EmployeeTestCase.java?rev=1127412&r1=1127411&r2=1127412&view=diff ============================================================================== --- commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/employee/EmployeeTestCase.java (original) +++ commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/employee/EmployeeTestCase.java Wed May 25 07:29:59 2011 @@ -67,7 +67,7 @@ public final class EmployeeTestCase { @Override - protected void configure() + protected void configureRules() { bindRulesFrom( Address.class ); } Modified: commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/failingtests/FailingTestCase.java URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/failingtests/FailingTestCase.java?rev=1127412&r1=1127411&r2=1127412&view=diff ============================================================================== --- commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/failingtests/FailingTestCase.java (original) +++ commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/annotations/failingtests/FailingTestCase.java Wed May 25 07:29:59 2011 @@ -36,7 +36,7 @@ public final class FailingTestCase { @Override - protected void configure() + protected void configureRules() { useAnnotationHandlerFactory( new FailingDigesterLoaderHandlerFactory() ); bindRulesFrom( BeanWithFakeHandler.class );