You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2011/05/25 09:29:59 UTC
svn commit: r1127412 - in /commons/sandbox/digester3/trunk/src:
main/java/org/apache/commons/digester3/annotations/
main/java/org/apache/commons/digester3/annotations/handlers/
test/java/org/apache/commons/digester3/annotations/
test/java/org/apache/co...
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 );