You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2011/07/14 17:23:06 UTC
svn commit: r1146749 - in /felix/trunk/scrplugin: annotations/pom.xml
generator/src/main/java/org/apache/felix/scrplugin/JavaClassDescriptorManager.java
maven-scr-plugin/pom.xml scrtask/pom.xml
Author: cziegeler
Date: Thu Jul 14 15:23:05 2011
New Revision: 1146749
URL: http://svn.apache.org/viewvc?rev=1146749&view=rev
Log:
FELIX-3041 : maven-scr-plugin generates StackOverflowError with custom annotation tag provider
Modified:
felix/trunk/scrplugin/annotations/pom.xml
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/JavaClassDescriptorManager.java
felix/trunk/scrplugin/maven-scr-plugin/pom.xml
felix/trunk/scrplugin/scrtask/pom.xml
Modified: felix/trunk/scrplugin/annotations/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/annotations/pom.xml?rev=1146749&r1=1146748&r2=1146749&view=diff
==============================================================================
--- felix/trunk/scrplugin/annotations/pom.xml (original)
+++ felix/trunk/scrplugin/annotations/pom.xml Thu Jul 14 15:23:05 2011
@@ -47,7 +47,7 @@
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr.generator</artifactId>
- <version>1.1.2</version>
+ <version>1.1.3-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
Modified: felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/JavaClassDescriptorManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/JavaClassDescriptorManager.java?rev=1146749&r1=1146748&r2=1146749&view=diff
==============================================================================
--- felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/JavaClassDescriptorManager.java (original)
+++ felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/JavaClassDescriptorManager.java Thu Jul 14 15:23:05 2011
@@ -367,6 +367,18 @@ public abstract class JavaClassDescripto
return descs;
}
+ private boolean doingHasScrPluginAnnotationCheck = false;
+
+ private boolean hasScrPluginAnnotation(final Class<?> clazz, final JavaClass javaClass)
+ {
+ boolean result;
+ doingHasScrPluginAnnotationCheck = true;
+
+ result = getAnnotationTagProviderManager().hasScrPluginAnnotation( javaClass,
+ new AnnotationJavaClassDescription( clazz, javaClass, this ));
+ doingHasScrPluginAnnotationCheck = false;
+ return result;
+ }
/**
* Get a java class description for the class.
@@ -393,17 +405,16 @@ public abstract class JavaClassDescripto
// check for java annotation descriptions - fallback to
// QDox if none found
Class<?> clazz = this.classloader.loadClass( className );
- if ( this.processAnnotations
- && getAnnotationTagProviderManager().hasScrPluginAnnotation( javaClass,
- new AnnotationJavaClassDescription( clazz, javaClasses[index], this )) )
+ if ( this.processAnnotations && !doingHasScrPluginAnnotationCheck
+ && hasScrPluginAnnotation(clazz, javaClass) )
{
this.log.debug( "Found java annotation description for: " + className );
- result = new AnnotationJavaClassDescription( clazz, javaClasses[index], this );
+ result = new AnnotationJavaClassDescription( clazz, javaClass, this );
}
else if ( this.parseJavadocs )
{
this.log.debug( "Found qdox description for: " + className );
- result = new QDoxJavaClassDescription( clazz, javaClasses[index], this );
+ result = new QDoxJavaClassDescription( clazz, javaClass, this );
}
}
catch ( ClassNotFoundException e )
@@ -429,7 +440,9 @@ public abstract class JavaClassDescripto
throw new SCRDescriptorException( "Unable to load class", className, 0 );
}
}
- this.javaClassDescriptions.put( className, result );
+ if ( !doingHasScrPluginAnnotationCheck ) {
+ this.javaClassDescriptions.put( className, result );
+ }
}
return result;
}
Modified: felix/trunk/scrplugin/maven-scr-plugin/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/maven-scr-plugin/pom.xml?rev=1146749&r1=1146748&r2=1146749&view=diff
==============================================================================
--- felix/trunk/scrplugin/maven-scr-plugin/pom.xml (original)
+++ felix/trunk/scrplugin/maven-scr-plugin/pom.xml Thu Jul 14 15:23:05 2011
@@ -57,7 +57,7 @@
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr.generator</artifactId>
- <version>1.1.2</version>
+ <version>1.1.3-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
Modified: felix/trunk/scrplugin/scrtask/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/scrtask/pom.xml?rev=1146749&r1=1146748&r2=1146749&view=diff
==============================================================================
--- felix/trunk/scrplugin/scrtask/pom.xml (original)
+++ felix/trunk/scrplugin/scrtask/pom.xml Thu Jul 14 15:23:05 2011
@@ -54,7 +54,7 @@
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr.generator</artifactId>
- <version>1.1.2</version>
+ <version>1.1.3-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>