Author: rickhall
Date: Tue May 29 11:33:37 2007
New Revision: 542613

URL: http://svn.apache.org/viewvc?view=rev&rev=542613
Log:
Applied patch (FELIX-300) to change iPOJO to use ASM 3.

Modified:
    felix/trunk/ipojo/core/pom.xml
    
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/SpecificationMetadata.java
    
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/manipulation/Manipulator.java
    
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/manipulation/POJOWriter.java
    
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/configuration/ConfigurationHandler.java
    
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/dependency/nullable/NullableObjectWriter.java
    
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java
    
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/parser/FieldMetadata.java
    
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/util/Callback.java
    felix/trunk/ipojo/plugin/pom.xml
    
felix/trunk/ipojo/plugin/src/main/java/org/apache/felix/ipojo/manipulation/Manipulator.java

Modified: felix/trunk/ipojo/core/pom.xml
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/core/pom.xml?view=diff&rev=542613&r1=542612&r2=542613
==============================================================================
--- felix/trunk/ipojo/core/pom.xml (original)
+++ felix/trunk/ipojo/core/pom.xml Tue May 29 11:33:37 2007
@@ -25,7 +25,7 @@
     <dependency>
       <groupId>asm</groupId>
       <artifactId>asm</artifactId>
-      <version>2.2.1</version>
+      <version>3.0</version>
     </dependency>
     <dependency>
       <groupId>${pom.groupId}</groupId>

Modified: 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/SpecificationMetadata.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/SpecificationMetadata.java?view=diff&rev=542613&r1=542612&r2=542613
==============================================================================
--- 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/SpecificationMetadata.java
 (original)
+++ 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/SpecificationMetadata.java
 Tue May 29 11:33:37 2007
@@ -124,7 +124,7 @@
             is = url.openStream();
             cr = new ClassReader(is);
             msv = new MethodSignatureVisitor();
-            cr.accept(msv, true);
+            cr.accept(msv, ClassReader.SKIP_FRAMES);
             is.close();
         } catch (IOException e) {
             m_handler.getManager().getFactory().getLogger().log(Logger.ERROR, 
"Cannot open " + name + " : " + e.getMessage());

Modified: 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/manipulation/Manipulator.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/manipulation/Manipulator.java?view=diff&rev=542613&r1=542612&r2=542613
==============================================================================
--- 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/manipulation/Manipulator.java
 (original)
+++ 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/manipulation/Manipulator.java
 Tue May 29 11:33:37 2007
@@ -79,7 +79,7 @@
         // First check if the class is already manipulated :
         ClassReader ckReader = new ClassReader(is1);
         ClassChecker ck = new ClassChecker();
-        ckReader.accept(ck, true);
+        ckReader.accept(ck, ClassReader.SKIP_FRAMES);
         is1.close();
 
         m_fields = ck.getFields();
@@ -104,9 +104,9 @@
             // Instrument all fields
             InputStream is2 = new ByteArrayInputStream(origin);
             ClassReader cr0 = new ClassReader(is2);
-            ClassWriter cw0 = new ClassWriter(true);
+            ClassWriter cw0 = new ClassWriter(ClassWriter.COMPUTE_MAXS);
             PreprocessClassAdapter preprocess = new 
PreprocessClassAdapter(cw0);
-            cr0.accept(preprocess, false);
+            cr0.accept(preprocess, ClassReader.SKIP_FRAMES);
             is2.close();
             finalWriter = cw0;
         }

Modified: 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/manipulation/POJOWriter.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/manipulation/POJOWriter.java?view=diff&rev=542613&r1=542612&r2=542613
==============================================================================
--- 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/manipulation/POJOWriter.java
 (original)
+++ 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/composite/service/provides/manipulation/POJOWriter.java
 Tue May 29 11:33:37 2007
@@ -95,12 +95,12 @@
             is = url.openStream();
             cr = new ClassReader(is);
             MethodSignatureVisitor msv = new MethodSignatureVisitor();
-            cr.accept(msv, true);
+            cr.accept(msv, ClassReader.SKIP_FRAMES);
             is.close();
 
             MethodSignature[] methodsSign = msv.getMethods();
 
-            ClassWriter cw = new ClassWriter(true);
+            ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS);
 
             // Create the class
             className = className.replace('.', '/');

Modified: 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/configuration/ConfigurationHandler.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/configuration/ConfigurationHandler.java?view=diff&rev=542613&r1=542612&r2=542613
==============================================================================
--- 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/configuration/ConfigurationHandler.java
 (original)
+++ 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/configuration/ConfigurationHandler.java
 Tue May 29 11:33:37 2007
@@ -380,8 +380,8 @@
         // Propagation of the properties to service registrations :
         if (m_providedServiceHandler != null && !toPropagate.isEmpty()) {
             m_providedServiceHandler.removeProperties(m_propagated);
-
-            // Remove to name props
+            
+            // Remove the name props
             toPropagate.remove("name");
 
             m_providedServiceHandler.addProperties(toPropagate);

Modified: 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/dependency/nullable/NullableObjectWriter.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/dependency/nullable/NullableObjectWriter.java?view=diff&rev=542613&r1=542612&r2=542613
==============================================================================
--- 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/dependency/nullable/NullableObjectWriter.java
 (original)
+++ 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/dependency/nullable/NullableObjectWriter.java
 Tue May 29 11:33:37 2007
@@ -52,10 +52,10 @@
             is = url.openStream();
             cr = new ClassReader(is);
             MethodSignatureVisitor msv = new MethodSignatureVisitor();
-            cr.accept(msv, true);
+            cr.accept(msv, ClassReader.SKIP_FRAMES);
             is.close();
 
-            ClassWriter cw = new ClassWriter(true);
+            ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS);
 
             // String[] segment = contractName.split("[.]");
             // String className = "org/apache/felix/ipojo/" +

Modified: 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java?view=diff&rev=542613&r1=542612&r2=542613
==============================================================================
--- 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java
 (original)
+++ 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java
 Tue May 29 11:33:37 2007
@@ -143,7 +143,7 @@
     private synchronized void removeProperty(String name) {
         int idx = -1;
         for (int i = 0; i < m_properties.length; i++) {
-            if (m_properties[i].getName() == name) {
+            if (m_properties[i].getName().equals(name)) {
                 idx = i;
                 break;
             }

Modified: 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/parser/FieldMetadata.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/parser/FieldMetadata.java?view=diff&rev=542613&r1=542612&r2=542613
==============================================================================
--- 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/parser/FieldMetadata.java
 (original)
+++ 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/parser/FieldMetadata.java
 Tue May 29 11:33:37 2007
@@ -59,13 +59,23 @@
     public String getReflectionType() {
         // Primitive Array 
         if (m_type.endsWith("[]") && m_type.indexOf(".") == -1) {
-            String t = m_type.substring(0, m_type.length() - 2);
-            return "[" + getInternalPrimitiveType(t);
+            String arr = "";
+            for (int i = 0; i < m_type.length(); i++) {
+                if (m_type.charAt(i) == '[') { arr += '['; }
+            }
+            int index = m_type.indexOf('[');
+            String t = m_type.substring(0, index);
+            return arr + getInternalPrimitiveType(t);
         }
         // Non-Primitive Array 
         if (m_type.endsWith("[]") && m_type.indexOf(".") != -1) {
-            String t = m_type.substring(0, m_type.length() - 2);
-            return "[L" + t + ";";
+            String arr = "";
+            for (int i = 0; i < m_type.length(); i++) {
+                if (m_type.charAt(i) == '[') { arr += '['; }
+            }
+            int index = m_type.indexOf('[');
+            String t = m_type.substring(0, index);
+            return arr + "L" + t + ";";
         }
         // Simple type 
         if (!m_type.endsWith("[]")) {

Modified: 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/util/Callback.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/util/Callback.java?view=diff&rev=542613&r1=542612&r2=542613
==============================================================================
--- 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/util/Callback.java 
(original)
+++ 
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/util/Callback.java 
Tue May 29 11:33:37 2007
@@ -72,11 +72,21 @@
         for (int i = 0; i < args.length; i++) {
             // Primitive Array 
             if (args[i].endsWith("[]") && args[i].indexOf(".") == -1) {
-                m_args[i] = "[" + getInternalPrimitiveType(args[i]);
+                String arr = "";
+                for (int j = 0; j < args[i].length(); j++) {
+                    if (args[i].charAt(j) == '[') { arr += '['; }
+                }
+                int index = args[i].indexOf('[');
+                m_args[i] = arr + 
getInternalPrimitiveType(args[i].substring(0, index));
             }
             // Non-Primitive Array 
             if (args[i].endsWith("[]") && args[i].indexOf(".") != -1) {
-                m_args[i] = "[L" + args[i] + ";";
+                String arr = "";
+                for (int j = 0; j < args[i].length(); j++) {
+                    if (args[i].charAt(j) == '[') { arr += '['; }
+                }
+                int index = args[i].indexOf('[');
+                m_args[i] = arr + "L" + args[i].substring(0, index) + ";";
             }
             // Simple type 
             if (!args[i].endsWith("[]")) {
@@ -118,19 +128,26 @@
         for (int i = 0; i < args.length; i++) {
             // Primitive Array 
             if (args[i].endsWith("[]") && args[i].indexOf(".") == -1) {
-                String t = args[i].substring(0, args[i].length() - 2);
-                m_args[i] = "[" + getInternalPrimitiveType(t);
+                String arr = "";
+                for (int j = 0; j < args[i].length(); j++) {
+                    if (args[i].charAt(j) == '[') { arr += '['; }
+                }
+                int index = args[i].indexOf('[');
+                m_args[i] = arr + 
getInternalPrimitiveType(args[i].substring(0, index));
             }
             // Non-Primitive Array 
             if (args[i].endsWith("[]") && args[i].indexOf(".") != -1) {
-                String t = args[i].substring(0, args[i].length() - 2);
-                m_args[i] = "[L" + t + ";";
+                String arr = "";
+                for (int j = 0; j < args[i].length(); j++) {
+                    if (args[i].charAt(j) == '[') { arr += '['; }
+                }
+                int index = args[i].indexOf('[');
+                m_args[i] = arr + "L" + args[i].substring(0, index) + ";";
             }
             // Simple type 
             if (!args[i].endsWith("[]")) {
                 m_args[i] = args[i];
             }
-            
         }
     }
 

Modified: felix/trunk/ipojo/plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/plugin/pom.xml?view=diff&rev=542613&r1=542612&r2=542613
==============================================================================
--- felix/trunk/ipojo/plugin/pom.xml (original)
+++ felix/trunk/ipojo/plugin/pom.xml Tue May 29 11:33:37 2007
@@ -33,7 +33,7 @@
     <dependency>
      <groupId>asm</groupId>
       <artifactId>asm</artifactId>
-      <version>2.2.1</version>
+      <version>3.0</version>
     </dependency>
     <dependency>
       <groupId>xerces</groupId>

Modified: 
felix/trunk/ipojo/plugin/src/main/java/org/apache/felix/ipojo/manipulation/Manipulator.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/plugin/src/main/java/org/apache/felix/ipojo/manipulation/Manipulator.java?view=diff&rev=542613&r1=542612&r2=542613
==============================================================================
--- 
felix/trunk/ipojo/plugin/src/main/java/org/apache/felix/ipojo/manipulation/Manipulator.java
 (original)
+++ 
felix/trunk/ipojo/plugin/src/main/java/org/apache/felix/ipojo/manipulation/Manipulator.java
 Tue May 29 11:33:37 2007
@@ -106,7 +106,7 @@
         // First check if the class is already manipulated : 
         ClassReader ckReader = new ClassReader(is1);
         ClassChecker ck = new ClassChecker();
-        ckReader.accept(ck, true);
+        ckReader.accept(ck, ckReader.SKIP_FRAMES);
         is1.close();
         
         m_fields = ck.getFields();
@@ -144,9 +144,9 @@
                // Instrument all fields
                InputStream is2 = url.openStream();
                ClassReader cr0 = new ClassReader(is2);
-               ClassWriter cw0 = new ClassWriter(true);
+               ClassWriter cw0 = new ClassWriter(ClassWriter.COMPUTE_MAXS);
                PreprocessClassAdapter preprocess = new 
PreprocessClassAdapter(cw0);
-               cr0.accept(preprocess, false);
+               cr0.accept(preprocess, ClassReader.SKIP_FRAMES);
                is2.close();
 
                try {


Reply via email to