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/08/11 13:51:53 UTC
svn commit: r1156580 - in /felix/trunk/scrplugin: generator/
generator/src/main/java/org/apache/felix/scrplugin/tags/cl/
maven-scr-plugin/ scrtask/
Author: cziegeler
Date: Thu Aug 11 11:51:52 2011
New Revision: 1156580
URL: http://svn.apache.org/viewvc?rev=1156580&view=rev
Log:
FELIX-2963 : scr annotations @Activate @Deactivate @Modified are not detected with class inheritance
Modified:
felix/trunk/scrplugin/generator/changelog.txt
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaClassDescription.java
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaTag.java
felix/trunk/scrplugin/maven-scr-plugin/changelog.txt
felix/trunk/scrplugin/maven-scr-plugin/pom.xml
felix/trunk/scrplugin/scrtask/changelog.txt
Modified: felix/trunk/scrplugin/generator/changelog.txt
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/changelog.txt?rev=1156580&r1=1156579&r2=1156580&view=diff
==============================================================================
--- felix/trunk/scrplugin/generator/changelog.txt (original)
+++ felix/trunk/scrplugin/generator/changelog.txt Thu Aug 11 11:51:52 2011
@@ -1,3 +1,10 @@
+Changes from 1.1.2 to 1.1.4
+---------------------------
+
+** Bug
+ * [FELIX-2963] - scr annotations @Activate @Deactivate @Modified are not detected with class inheritance
+
+
Changes from 1.1.0 to 1.1.2
---------------------------
Modified: felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaClassDescription.java
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaClassDescription.java?rev=1156580&r1=1156579&r2=1156580&view=diff
==============================================================================
--- felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaClassDescription.java (original)
+++ felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaClassDescription.java Thu Aug 11 11:51:52 2011
@@ -18,21 +18,12 @@
*/
package org.apache.felix.scrplugin.tags.cl;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.felix.scrplugin.Constants;
-import org.apache.felix.scrplugin.JavaClassDescriptorManager;
-import org.apache.felix.scrplugin.SCRDescriptorException;
+import java.lang.reflect.*;
+import java.util.*;
+
+import org.apache.felix.scrplugin.*;
import org.apache.felix.scrplugin.om.Component;
-import org.apache.felix.scrplugin.tags.JavaClassDescription;
-import org.apache.felix.scrplugin.tags.JavaField;
-import org.apache.felix.scrplugin.tags.JavaMethod;
-import org.apache.felix.scrplugin.tags.JavaTag;
+import org.apache.felix.scrplugin.tags.*;
/**
* <code>ClassLoaderJavaClassDescription.java</code>...
@@ -185,8 +176,10 @@ public class ClassLoaderJavaClassDescrip
* @see org.apache.felix.scrplugin.tags.JavaClassDescription#getTagByName(java.lang.String)
*/
public JavaTag getTagByName(String name) {
- // this is only used to retrieve the component tag, so we can ignore it
- // for classes from other bundles and simply return null
+ // this is only used to retrieve the component tag, so we just support this
+ if ( this.component != null && name.equals(Constants.COMPONENT) ) {
+ return new ClassLoaderJavaTag(this, this.component);
+ }
return null;
}
Modified: felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaTag.java
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaTag.java?rev=1156580&r1=1156579&r2=1156580&view=diff
==============================================================================
--- felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaTag.java (original)
+++ felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaTag.java Thu Aug 11 11:51:52 2011
@@ -32,31 +32,43 @@ import org.apache.felix.scrplugin.tags.*
public class ClassLoaderJavaTag implements JavaTag {
protected final JavaClassDescription description;
+ protected final Component component;
protected final Reference reference;
protected final Property property;
protected final Interface interf;
protected boolean isServiceFactory;
- public ClassLoaderJavaTag(JavaClassDescription desc, Reference reference) {
+ public ClassLoaderJavaTag(final JavaClassDescription desc, final Component component) {
+ this.description = desc;
+ this.reference = null;
+ this.interf = null;
+ this.property = null;
+ this.component = component;
+ }
+
+ public ClassLoaderJavaTag(final JavaClassDescription desc, final Reference reference) {
this.description = desc;
this.reference = reference;
this.interf = null;
this.property = null;
+ this.component = null;
}
- public ClassLoaderJavaTag(JavaClassDescription desc, Property property) {
+ public ClassLoaderJavaTag(final JavaClassDescription desc, final Property property) {
this.description = desc;
this.property = property;
this.reference = null;
this.interf = null;
+ this.component = null;
}
- public ClassLoaderJavaTag(JavaClassDescription desc, Interface i, boolean isSF) {
+ public ClassLoaderJavaTag(final JavaClassDescription desc, final Interface i, final boolean isSF) {
this.interf = i;
this.description = desc;
this.property = null;
this.reference = null;
this.isServiceFactory = isSF;
+ this.component = null;
}
/**
@@ -84,6 +96,8 @@ public class ClassLoaderJavaTag implemen
return Constants.PROPERTY;
} else if ( this.interf != null ) {
return Constants.SERVICE;
+ } else if ( this.component != null ) {
+ return Constants.COMPONENT;
}
return null;
}
@@ -153,6 +167,18 @@ public class ClassLoaderJavaTag implemen
map.put(Constants.SERVICE_FACTORY, "true");
}
return map;
+ } else if ( this.component != null ) {
+ final Map<String, String> map = new HashMap<String, String>();
+ if ( this.component.getActivate() != null ) {
+ map.put(Constants.COMPONENT_ACTIVATE, this.component.getActivate());
+ }
+ if ( this.component.getDeactivate() != null ) {
+ map.put(Constants.COMPONENT_DEACTIVATE, this.component.getDeactivate());
+ }
+ if ( this.component.getModified() != null ) {
+ map.put(Constants.COMPONENT_MODIFIED, this.component.getModified());
+ }
+ return map;
}
return null;
}
Modified: felix/trunk/scrplugin/maven-scr-plugin/changelog.txt
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/maven-scr-plugin/changelog.txt?rev=1156580&r1=1156579&r2=1156580&view=diff
==============================================================================
--- felix/trunk/scrplugin/maven-scr-plugin/changelog.txt (original)
+++ felix/trunk/scrplugin/maven-scr-plugin/changelog.txt Thu Aug 11 11:51:52 2011
@@ -1,6 +1,9 @@
Changes from 1.7.2 to 1.7.4
---------------------------
+** Bug
+ * [FELIX-2963] - scr annotations @Activate @Deactivate @Modified are not detected with class inheritance
+
** Improvement
* [FELIX-3066] - Add support for source directory include filter via plugin configuration
Modified: felix/trunk/scrplugin/maven-scr-plugin/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/maven-scr-plugin/pom.xml?rev=1156580&r1=1156579&r2=1156580&view=diff
==============================================================================
--- felix/trunk/scrplugin/maven-scr-plugin/pom.xml (original)
+++ felix/trunk/scrplugin/maven-scr-plugin/pom.xml Thu Aug 11 11:51:52 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/changelog.txt
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/scrtask/changelog.txt?rev=1156580&r1=1156579&r2=1156580&view=diff
==============================================================================
--- felix/trunk/scrplugin/scrtask/changelog.txt (original)
+++ felix/trunk/scrplugin/scrtask/changelog.txt Thu Aug 11 11:51:52 2011
@@ -1,8 +1,14 @@
-Changes from 1.1.0 to 1.1.2
+Changes from 1.1.2 to 1.1.4
---------------------------
** Bug
* [FELIX-2963] - scr annotations @Activate @Deactivate @Modified are not detected with class inheritance
+
+
+Changes from 1.1.0 to 1.1.2
+---------------------------
+
+** Bug
* [FELIX-2978] - Lookup reference policy does not work for inherited components
* [FELIX-2945] - SCR plugin: Parsing of "options" for property tag broken for java annotations
* [FELIX-2906] - @Property(cardinality=Integer.MAX_Int, ...) causes java.lang.NumberFormatException