You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ej...@apache.org on 2012/01/27 19:56:46 UTC
svn commit: r1236822 - in /aries/trunk: versioning/versioning-checker/
versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/
web/web-itests/
web/web-itests/src/test/java/org/apache/aries/web/converter/itest/
web/web-urlhandler/...
Author: ejiang
Date: Fri Jan 27 18:56:45 2012
New Revision: 1236822
URL: http://svn.apache.org/viewvc?rev=1236822&view=rev
Log:
ARIES-817: Upgrade to ASM4
Modified:
aries/trunk/versioning/versioning-checker/pom.xml
aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/EmptyClassVisitor.java
aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SemanticVersioningClassVisitor.java
aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SemanticVersioningUtils.java
aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SerialVersionClassVisitor.java
aries/trunk/web/web-itests/pom.xml
aries/trunk/web/web-itests/src/test/java/org/apache/aries/web/converter/itest/WabConverterITest.java
aries/trunk/web/web-urlhandler/pom.xml
aries/trunk/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/PackageFinder.java
Modified: aries/trunk/versioning/versioning-checker/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/versioning/versioning-checker/pom.xml?rev=1236822&r1=1236821&r2=1236822&view=diff
==============================================================================
--- aries/trunk/versioning/versioning-checker/pom.xml (original)
+++ aries/trunk/versioning/versioning-checker/pom.xml Fri Jan 27 18:56:45 2012
@@ -81,10 +81,10 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>asm</groupId>
+ <groupId>org.ow2.asm</groupId>
<artifactId>asm-all</artifactId>
<optional>true</optional>
- <version>3.3.1</version>
+ <version>4.0</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
Modified: aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/EmptyClassVisitor.java
URL: http://svn.apache.org/viewvc/aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/EmptyClassVisitor.java?rev=1236822&r1=1236821&r2=1236822&view=diff
==============================================================================
--- aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/EmptyClassVisitor.java (original)
+++ aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/EmptyClassVisitor.java Fri Jan 27 18:56:45 2012
@@ -24,7 +24,13 @@ import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.FieldVisitor;
import org.objectweb.asm.MethodVisitor;
-public class EmptyClassVisitor implements ClassVisitor {
+public class EmptyClassVisitor extends ClassVisitor {
+
+ public EmptyClassVisitor()
+ {
+ super(SemanticVersioningUtils.ASM4);
+
+ }
@Override
public void visit(int arg0, int arg1, String arg2, String arg3, String arg4, String[] arg5) {
Modified: aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SemanticVersioningClassVisitor.java
URL: http://svn.apache.org/viewvc/aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SemanticVersioningClassVisitor.java?rev=1236822&r1=1236821&r2=1236822&view=diff
==============================================================================
--- aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SemanticVersioningClassVisitor.java (original)
+++ aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SemanticVersioningClassVisitor.java Fri Jan 27 18:56:45 2012
@@ -27,7 +27,7 @@ import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.FieldVisitor;
import org.objectweb.asm.MethodVisitor;
-public class SemanticVersioningClassVisitor implements ClassVisitor {
+public class SemanticVersioningClassVisitor extends ClassVisitor {
private ClassDeclaration classDeclaration;
private boolean needVisit = false;
@@ -35,12 +35,14 @@ public class SemanticVersioningClassVisi
private SerialVersionClassVisitor cv = null;
public SemanticVersioningClassVisitor(URLClassLoader newJarLoader, SerialVersionClassVisitor cv) {
- this.loader = newJarLoader;
- this.cv = cv;
+ super(SemanticVersioningUtils.ASM4);
+ this.loader = newJarLoader;
+ this.cv = cv;
}
public SemanticVersioningClassVisitor(URLClassLoader newJarLoader) {
- this.loader = newJarLoader;
+ super(SemanticVersioningUtils.ASM4);
+ this.loader = newJarLoader;
}
public ClassDeclaration getClassDeclaration() {
Modified: aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SemanticVersioningUtils.java
URL: http://svn.apache.org/viewvc/aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SemanticVersioningUtils.java?rev=1236822&r1=1236821&r2=1236822&view=diff
==============================================================================
--- aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SemanticVersioningUtils.java (original)
+++ aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SemanticVersioningUtils.java Fri Jan 27 18:56:45 2012
@@ -27,6 +27,8 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
+import org.objectweb.asm.Opcodes;
+
public class SemanticVersioningUtils {
public static final String classExt = ".class";
@@ -51,6 +53,7 @@ public class SemanticVersioningUtils {
public static final String SERIALIZABLE_CLASS_IDENTIFIER = "java/io/Serializable";
public static final String SERIAL_VERSION_UTD = "serialVersionUID";
public static final String ENUM_CLASS = "java/lang/Enum";
+ public static final int ASM4 = Opcodes.ASM4;
public static boolean isLessAccessible(GenericDeclaration before, GenericDeclaration after) {
Modified: aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SerialVersionClassVisitor.java
URL: http://svn.apache.org/viewvc/aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SerialVersionClassVisitor.java?rev=1236822&r1=1236821&r2=1236822&view=diff
==============================================================================
--- aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SerialVersionClassVisitor.java (original)
+++ aries/trunk/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SerialVersionClassVisitor.java Fri Jan 27 18:56:45 2012
@@ -31,13 +31,11 @@ public class SerialVersionClassVisitor e
}
public long getComputeSerialVersionUID() {
- if (computeSVUID) {
try {
return computeSVUID();
} catch (IOException ioe) {
// not a issue
}
- }
return 0;
}
}
Modified: aries/trunk/web/web-itests/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/web/web-itests/pom.xml?rev=1236822&r1=1236821&r2=1236822&view=diff
==============================================================================
--- aries/trunk/web/web-itests/pom.xml (original)
+++ aries/trunk/web/web-itests/pom.xml Fri Jan 27 18:56:45 2012
@@ -46,9 +46,9 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>asm</groupId>
+ <groupId>org.ow2.asm</groupId>
<artifactId>asm-all</artifactId>
- <version>3.2</version>
+ <version>4.0</version>
</dependency>
<dependency>
<groupId>org.apache.aries.testsupport</groupId>
@@ -92,7 +92,7 @@
<groupId>org.apache.aries.proxy</groupId>
<artifactId>org.apache.aries.proxy</artifactId>
<scope>test</scope>
- <version>0.4</version>
+ <version>0.4.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.aries.blueprint</groupId>
Modified: aries/trunk/web/web-itests/src/test/java/org/apache/aries/web/converter/itest/WabConverterITest.java
URL: http://svn.apache.org/viewvc/aries/trunk/web/web-itests/src/test/java/org/apache/aries/web/converter/itest/WabConverterITest.java?rev=1236822&r1=1236821&r2=1236822&view=diff
==============================================================================
--- aries/trunk/web/web-itests/src/test/java/org/apache/aries/web/converter/itest/WabConverterITest.java (original)
+++ aries/trunk/web/web-itests/src/test/java/org/apache/aries/web/converter/itest/WabConverterITest.java Fri Jan 27 18:56:45 2012
@@ -142,12 +142,12 @@ public class WabConverterITest {
// Bundles
mavenBundle("org.apache.aries.web","org.apache.aries.web.urlhandler"),
mavenBundle("org.apache.aries", "org.apache.aries.util"),
- mavenBundle("asm", "asm-all"),
+ mavenBundle("org.ow2.asm", "asm-all"),
mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy"),
mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint"),
mavenBundle("org.osgi", "org.osgi.compendium"),
mavenBundle("org.apache.aries.testsupport", "org.apache.aries.testsupport.unit"),
- mavenBundle("asm","asm-all"),
+
equinox().version("3.5.0"));
options = updateOptions(options);
Modified: aries/trunk/web/web-urlhandler/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/web/web-urlhandler/pom.xml?rev=1236822&r1=1236821&r2=1236822&view=diff
==============================================================================
--- aries/trunk/web/web-urlhandler/pom.xml (original)
+++ aries/trunk/web/web-urlhandler/pom.xml Fri Jan 27 18:56:45 2012
@@ -63,9 +63,9 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>asm</groupId>
+ <groupId>org.ow2.asm</groupId>
<artifactId>asm-all</artifactId>
- <version>3.2</version>
+ <version>4.0</version>
</dependency>
<dependency>
<groupId>org.apache.aries.testsupport</groupId>
Modified: aries/trunk/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/PackageFinder.java
URL: http://svn.apache.org/viewvc/aries/trunk/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/PackageFinder.java?rev=1236822&r1=1236821&r2=1236822&view=diff
==============================================================================
--- aries/trunk/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/PackageFinder.java (original)
+++ aries/trunk/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/PackageFinder.java Fri Jan 27 18:56:45 2012
@@ -28,13 +28,29 @@ import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.FieldVisitor;
import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
import org.objectweb.asm.Type;
import org.objectweb.asm.signature.SignatureReader;
import org.objectweb.asm.signature.SignatureVisitor;
-public class PackageFinder implements AnnotationVisitor, SignatureVisitor, ClassVisitor,
- FieldVisitor, MethodVisitor
+public class PackageFinder extends ClassVisitor//AnnotationVisitor, SignatureVisitor, ClassVisitor,
+ //FieldVisitor, MethodVisitor
{
+ private static int asmVersion = Opcodes.ASM4;
+ private PackageFinderSignatureVisitor pfsv;
+ private PackageFinderAnnotationVisitor pfav;
+ private PackageFinderFieldVisitor pffv;
+ private PackageFinderMethodVisitor pfmv;
+
+ public PackageFinder()
+ {
+ super(asmVersion);
+ this.pfsv = new PackageFinderSignatureVisitor();
+ this.pfav = new PackageFinderAnnotationVisitor();
+ this.pffv = new PackageFinderFieldVisitor();
+ this.pfmv = new PackageFinderMethodVisitor();
+ }
+
private Set<String> packages = new HashSet<String>();
private Set<String> exemptPackages = new HashSet<String>();
@@ -154,12 +170,12 @@ public class PackageFinder implements An
private void addSignaturePackages(String signature)
{
- if (signature != null) new SignatureReader(signature).accept(this);
+ if (signature != null) new SignatureReader(signature).accept(pfsv);
}
private void addResolvedSignaturePackages(String signature)
{
- if (signature != null) new SignatureReader(signature).acceptType(this);
+ if (signature != null) new SignatureReader(signature).acceptType(pfsv);
}
//
@@ -182,7 +198,7 @@ public class PackageFinder implements An
public AnnotationVisitor visitAnnotation(String descriptor, boolean visible)
{
addPackage(getDescriptorInfo(descriptor));
- return this;
+ return pfav;
}
public void visitAttribute(Attribute arg0)
@@ -197,7 +213,7 @@ public class PackageFinder implements An
else addResolvedSignaturePackages(signature);
if (value instanceof Type) addPackage(getType((Type) value));
- return this;
+ return pffv;
}
public void visitInnerClass(String arg0, String arg1, String arg2, int arg3)
@@ -212,7 +228,7 @@ public class PackageFinder implements An
else addSignaturePackages(signature);
addPackages(getResolvedPackageNames(exceptions));
- return this;
+ return pfmv;
}
@@ -231,224 +247,270 @@ public class PackageFinder implements An
// no-op
}
- //
- // MethodVisitor methods
- //
- public AnnotationVisitor visitAnnotationDefault()
- {
- return this;
- }
- public void visitCode()
- {
- // no-op
- }
- public void visitFieldInsn(int opcode, String owner, String name, String descriptor)
- {
- addPackage(getResolvedPackageName(owner));
- addPackage(getDescriptorInfo(descriptor));
- }
- public void visitFrame(int arg0, int arg1, Object[] arg2, int arg3, Object[] arg4)
- {
- // no-op
- }
- public void visitIincInsn(int arg0, int arg1)
- {
- // no-op
- }
- public void visitInsn(int arg0)
- {
- // no-op
- }
+ public class PackageFinderSignatureVisitor extends SignatureVisitor {
- public void visitIntInsn(int arg0, int arg1)
- {
- // no-op
- }
+ public PackageFinderSignatureVisitor()
+ {
+ super(asmVersion);
+ }
+
+ //
+ // SignatureVisitor methods
+ //
- public void visitJumpInsn(int arg0, Label arg1)
- {
- // no-op
- }
+ public SignatureVisitor visitArrayType()
+ {
+ return pfsv;
+ }
- public void visitLabel(Label arg0)
- {
- // no-op
- }
+ public void visitBaseType(char arg0)
+ {
+ // no-op
+ }
- public void visitLdcInsn(Object type)
- {
- if (type instanceof Type) addPackage(getType((Type) type));
- }
+ public SignatureVisitor visitClassBound()
+ {
+ return pfsv;
+ }
- public void visitLineNumber(int arg0, Label arg1)
- {
- // no-op
- }
+ public void visitClassType(String name)
+ {
+ signatureOuterClass = name;
+ addPackage(getResolvedPackageName(name));
+ }
- public void visitLocalVariable(String name, String descriptor, String signature, Label start,
- Label end, int index)
- {
- addResolvedSignaturePackages(signature);
- }
+ public void visitInnerClassType(String name)
+ {
+ addPackage(getResolvedPackageName(signatureOuterClass + "$" + name));
+ }
- public void visitLookupSwitchInsn(Label arg0, int[] arg1, Label[] arg2)
- {
- // no-op
- }
+ public SignatureVisitor visitExceptionType()
+ {
+ return pfsv;
+ }
- public void visitMaxs(int arg0, int arg1)
- {
- // no-op
- }
+ public void visitFormalTypeParameter(String arg0)
+ {
+ // no-op
+ }
- public void visitMethodInsn(int opcode, String owner, String name, String descriptor)
- {
- addPackage(getResolvedPackageName(owner));
- addPackages(getMethodDescriptorInfo(descriptor));
- }
+ public SignatureVisitor visitInterface()
+ {
+ return pfsv;
+ }
- public void visitMultiANewArrayInsn(String descriptor, int arg1)
- {
- addPackage(getDescriptorInfo(descriptor));
- }
+ public SignatureVisitor visitParameterType()
+ {
+ return pfsv;
+ }
- public AnnotationVisitor visitParameterAnnotation(int arg0, String descriptor, boolean arg2)
- {
- addPackage(getDescriptorInfo(descriptor));
- return this;
- }
+ public SignatureVisitor visitReturnType()
+ {
+ return pfsv;
+ }
- public void visitTableSwitchInsn(int arg0, int arg1, Label arg2, Label[] arg3)
- {
- //no-op
- }
+ public SignatureVisitor visitSuperclass()
+ {
+ return pfsv;
+ }
- public void visitTryCatchBlock(Label arg0, Label arg1, Label arg2, String type)
- {
- addPackage(getResolvedPackageName(type));
- }
+ public void visitTypeArgument()
+ {
+ // no-op
+ }
- public void visitTypeInsn(int arg0, String type)
- {
- addPackage(getResolvedPackageName(type));
- }
+ public SignatureVisitor visitTypeArgument(char arg0)
+ {
+ return pfsv;
+ }
- public void visitVarInsn(int arg0, int arg1)
- {
- // no-op
+ public void visitTypeVariable(String arg0)
+ {
+ // no-op
+ }
+
+ public SignatureVisitor visitInterfaceBound()
+ {
+ return pfsv;
+ }
}
+
+
+
+
+ public class PackageFinderAnnotationVisitor extends AnnotationVisitor {
- //
- // AnnotationVisitor Methods
- //
+ public PackageFinderAnnotationVisitor()
+ {
+ super(asmVersion);
+ }
+
+ //
+ // AnnotationVisitor Methods
+ //
- public void visit(String arg0, Object value)
- {
- if (value instanceof Type) {
- addPackage(getType((Type) value));
+ public void visit(String arg0, Object value)
+ {
+ if (value instanceof Type) {
+ addPackage(getType((Type) value));
+ }
}
- }
- public AnnotationVisitor visitAnnotation(String arg0, String descriptor)
- {
- addPackage(getDescriptorInfo(descriptor));
- return this;
- }
+ public AnnotationVisitor visitAnnotation(String arg0, String descriptor)
+ {
+ addPackage(getDescriptorInfo(descriptor));
+ return pfav;
+ }
- public AnnotationVisitor visitArray(String arg0)
- {
- return this;
+ public AnnotationVisitor visitArray(String arg0)
+ {
+ return pfav;
+ }
+
+ public void visitEnum(String name, String desc, String value)
+ {
+ addPackage(getDescriptorInfo(desc));
+ }
}
+
+
+
+
+ public class PackageFinderFieldVisitor extends FieldVisitor {
- public void visitEnum(String name, String desc, String value)
- {
- addPackage(getDescriptorInfo(desc));
+ public PackageFinderFieldVisitor()
+ {
+ super(asmVersion);
+ }
}
+
+
+
+
+ public class PackageFinderMethodVisitor extends MethodVisitor {
- //
- // SignatureVisitor methods
- //
+ public PackageFinderMethodVisitor()
+ {
+ super(asmVersion);
+ }
+
+ //
+ // MethodVisitor methods
+ //
- public SignatureVisitor visitArrayType()
- {
- return this;
- }
+ public AnnotationVisitor visitAnnotationDefault()
+ {
+ return pfav;
+ }
- public void visitBaseType(char arg0)
- {
- // no-op
- }
+ public void visitCode()
+ {
+ // no-op
+ }
- public SignatureVisitor visitClassBound()
- {
- return this;
- }
+ public void visitFrame(int arg0, int arg1, Object[] arg2, int arg3, Object[] arg4)
+ {
+ // no-op
+ }
- public void visitClassType(String name)
- {
- signatureOuterClass = name;
- addPackage(getResolvedPackageName(name));
- }
+ public void visitIincInsn(int arg0, int arg1)
+ {
+ // no-op
+ }
- public void visitInnerClassType(String name)
- {
- addPackage(getResolvedPackageName(signatureOuterClass + "$" + name));
- }
+ public void visitInsn(int arg0)
+ {
+ // no-op
+ }
- public SignatureVisitor visitExceptionType()
- {
- return this;
- }
+ public void visitIntInsn(int arg0, int arg1)
+ {
+ // no-op
+ }
- public void visitFormalTypeParameter(String arg0)
- {
- // no-op
- }
+ public void visitJumpInsn(int arg0, Label arg1)
+ {
+ // no-op
+ }
- public SignatureVisitor visitInterface()
- {
- return this;
- }
+ public void visitLabel(Label arg0)
+ {
+ // no-op
+ }
- public SignatureVisitor visitParameterType()
- {
- return this;
- }
+ public void visitLdcInsn(Object type)
+ {
+ if (type instanceof Type) addPackage(getType((Type) type));
+ }
- public SignatureVisitor visitReturnType()
- {
- return this;
- }
+ public void visitLineNumber(int arg0, Label arg1)
+ {
+ // no-op
+ }
- public SignatureVisitor visitSuperclass()
- {
- return this;
- }
+ public void visitLocalVariable(String name, String descriptor, String signature, Label start,
+ Label end, int index)
+ {
+ addResolvedSignaturePackages(signature);
+ }
- public void visitTypeArgument()
- {
- // no-op
- }
+ public void visitLookupSwitchInsn(Label arg0, int[] arg1, Label[] arg2)
+ {
+ // no-op
+ }
- public SignatureVisitor visitTypeArgument(char arg0)
- {
- return this;
- }
+ public void visitMaxs(int arg0, int arg1)
+ {
+ // no-op
+ }
- public void visitTypeVariable(String arg0)
- {
- // no-op
- }
+ public void visitMethodInsn(int opcode, String owner, String name, String descriptor)
+ {
+ addPackage(getResolvedPackageName(owner));
+ addPackages(getMethodDescriptorInfo(descriptor));
+ }
- public SignatureVisitor visitInterfaceBound()
- {
- return this;
- }
+ public void visitMultiANewArrayInsn(String descriptor, int arg1)
+ {
+ addPackage(getDescriptorInfo(descriptor));
+ }
+
+ public AnnotationVisitor visitParameterAnnotation(int arg0, String descriptor, boolean arg2)
+ {
+ addPackage(getDescriptorInfo(descriptor));
+ return pfav;
+ }
+
+ public void visitTableSwitchInsn(int arg0, int arg1, Label arg2, Label[] arg3)
+ {
+ //no-op
+ }
+
+ public void visitTryCatchBlock(Label arg0, Label arg1, Label arg2, String type)
+ {
+ addPackage(getResolvedPackageName(type));
+ }
+
+ public void visitTypeInsn(int arg0, String type)
+ {
+ addPackage(getResolvedPackageName(type));
+ }
+ public void visitVarInsn(int arg0, int arg1)
+ {
+ // no-op
+ }
+
+ public void visitFieldInsn(int opcode, String owner, String name, String descriptor)
+ {
+ addPackage(getResolvedPackageName(owner));
+ addPackage(getDescriptorInfo(descriptor));
+ }
+ }
}