felix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From clem...@apache.org
Subject svn commit: r1159877 - in /felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo: manipulation/ manipulation/annotations/ manipulator/ manipulator/store/ manipulator/store/builder/ manipulator/store/mapper/ manipulator/util/
Date Sat, 20 Aug 2011 13:49:41 GMT
Author: clement
Date: Sat Aug 20 13:49:40 2011
New Revision: 1159877

URL: http://svn.apache.org/viewvc?rev=1159877&view=rev
Log:
Small adaptation of the code to use Java 5 generics.

Modified:
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/ClassChecker.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/InnerClassAdapter.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/InnerClassManipulator.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/Manipulator.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodCodeAdapter.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodCreator.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodDescriptor.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MetadataCollector.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MethodCollector.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ManipulationEngine.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ManipulationUnit.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/Pojoization.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/QuotedTokenizer.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ResourceStore.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/DirectoryResourceStore.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/ManifestBuilder.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/builder/DefaultManifestBuilder.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/mapper/FileSystemResourceMapper.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Collections5.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Metadatas.java
    felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Strings.java

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/ClassChecker.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/ClassChecker.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/ClassChecker.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/ClassChecker.java Sat Aug 20 13:49:40 2011
@@ -1,4 +1,4 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -33,7 +33,7 @@ import org.objectweb.asm.commons.EmptyVi
 
 /**
  * Checks that a POJO is already manipulated or not.
- * Moreover it allows to get manipulation data about this class. 
+ * Moreover it allows to get manipulation data about this class.
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */
 public class ClassChecker extends EmptyVisitor implements ClassVisitor, Opcodes {
@@ -46,33 +46,33 @@ public class ClassChecker extends EmptyV
     /**
      * Interfaces implemented by the component.
      */
-    private List m_itfs = new ArrayList();
+    private List<String> m_itfs = new ArrayList<String>();
 
     /**
      * Field map [field name, type] discovered in the component class.
      */
-    private Map m_fields = new HashMap();
+    private Map<String, String> m_fields = new HashMap<String, String>();
 
     /**
      * Method List of method descriptor discovered in the component class.
      */
-    private List m_methods = new ArrayList()/* <MethodDesciptor> */;
-    
+    private List<MethodDescriptor> m_methods = new ArrayList<MethodDescriptor>();
+
     /**
      * Super class if not java.lang.Object.
      */
     private String m_superClass;
-    
+
     /**
      * Class name.
      */
     private String m_className;
-    
+
     /**
      * List of visited inner class owned by the implementation class.
      */
-    private List m_inners = new ArrayList();
-    
+    private List<String> m_inners = new ArrayList<String>();
+
     /**
      * <code>true</code> if the class supports annotations.
      * This enables the analysis of the code to find and moves annotations.
@@ -101,7 +101,7 @@ public class ClassChecker extends EmptyV
         } else if ((access & ACC_STATIC) == ACC_STATIC) {
             return null;
         }
-        
+
         Type type = Type.getType(desc);
         if (type.getSort() == Type.ARRAY) {
             if (type.getInternalName().startsWith("L")) {
@@ -119,7 +119,7 @@ public class ClassChecker extends EmptyV
 
         return null;
     }
-    
+
     /**
      * Add the inner class to the list of inner class to manipulate.
      * The method checks that the inner class is really owned by the implementation class.
@@ -159,17 +159,17 @@ public class ClassChecker extends EmptyV
             String superName, String[] interfaces) {
 
         m_supportAnnotation = version > V1_4 && version < V1_1;
-        
+
         if (! superName.equals("java/lang/Object")) {
             m_superClass = superName.replace('/', '.');
         }
-        
+
         for (int i = 0; i < interfaces.length; i++) {
             if (! interfaces[i].equals("org/apache/felix/ipojo/Pojo")) {
                 m_itfs.add(interfaces[i].replace('/', '.'));
             }
         }
-        
+
         m_className = name;
     }
 
@@ -186,13 +186,13 @@ public class ClassChecker extends EmptyV
      */
     public MethodVisitor visitMethod(int access, String name, String desc,
             String signature, String[] exceptions) {
-        if (!name.equals("<clinit>")) { 
-            
+        if (!name.equals("<clinit>")) {
+
             if (name.equals("<init>")) {
                 final MethodDescriptor md = new MethodDescriptor("$init", desc);
                 m_methods.add(md);
                 if (m_supportAnnotation) {
-                    return new AnnotationCollector(md); 
+                    return new AnnotationCollector(md);
                 }
             } else {
                 // no constructors.
@@ -203,21 +203,21 @@ public class ClassChecker extends EmptyV
                     final MethodDescriptor md = new MethodDescriptor(name, desc);
                     m_methods.add(md);
                     if (m_supportAnnotation) {
-                        return new AnnotationCollector(md); 
+                        return new AnnotationCollector(md);
                     }
                 }
             }
-            
-        }        
-        
+
+        }
+
         return null;
     }
-    
+
     /**
      * Get collected interfaces.
      * @return the interfaces implemented by the component class.
      */
-    public List getInterfaces() {
+    public List<String> getInterfaces() {
         return m_itfs;
     }
 
@@ -225,7 +225,7 @@ public class ClassChecker extends EmptyV
      * Get collected fields.
      * @return the field map [field_name, type].
      */
-    public Map getFields() {
+    public Map<String, String> getFields() {
         return m_fields;
     }
 
@@ -233,21 +233,21 @@ public class ClassChecker extends EmptyV
      * Get collected methods.
      * @return the method list of [method, signature].
      */
-    public List getMethods() {
+    public List<MethodDescriptor> getMethods() {
         return m_methods;
     }
-    
+
     public String getSuperClass() {
         return m_superClass;
     }
-    
-    public List getInnerClasses() {
+
+    public List<String> getInnerClasses() {
         return m_inners;
     }
-    
+
     /**
      * This class collects annotations in a method.
-     * This class creates an {@link AnnotationDescriptor} 
+     * This class creates an {@link AnnotationDescriptor}
      * if an annotation is found during the visit.
      *  @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
      */
@@ -256,7 +256,7 @@ public class ClassChecker extends EmptyV
          * The method descriptor of the visited method.
          */
         private MethodDescriptor m_method;
-        
+
         /**
          * Creates an annotation collector.
          * @param md the method descriptor of the visited method.
@@ -264,7 +264,7 @@ public class ClassChecker extends EmptyV
         private AnnotationCollector(MethodDescriptor md) {
             m_method = md;
         }
-        
+
         /**
          * Visits an annotation.
          * This class checks the visibility. If the annotation is visible,
@@ -295,10 +295,10 @@ public class ClassChecker extends EmptyV
             }
             return null;
         }
-        
-        
+
+
     }
-    
+
     /**
      * Describes a method or constructor annotation.
      * This allows creating a copy of the annotations found in the original class
@@ -325,24 +325,24 @@ public class ClassChecker extends EmptyV
         /**
          * The list of 'simple' attributes.
          */
-        private List m_simples = new ArrayList(0);
+        private List<SimpleAttribute> m_simples = new ArrayList<SimpleAttribute>(0);
         /**
          * The list of attribute containing an
          * enumeration value.
          */
-        private List m_enums = new ArrayList(0);
+        private List<EnumAttribute> m_enums = new ArrayList<EnumAttribute>(0);
         /**
          * The list of attribute which are
          * annotations.
          */
-        private List m_nested = new ArrayList(0);
+        private List<AnnotationDescriptor> m_nested = new ArrayList<AnnotationDescriptor>(0);
         /**
          * The list of attribute which are
-         * arrays. 
+         * arrays.
          */
-        private List m_arrays = new ArrayList(0);
-        
-        
+        private List<ArrayAttribute> m_arrays = new ArrayList<ArrayAttribute>(0);
+
+
         /**
          * Creates an annotation descriptor.
          * This constructor is used for 'root' annotations.
@@ -353,7 +353,7 @@ public class ClassChecker extends EmptyV
             m_name = name;
             m_visible = visible;
         }
-        
+
         /**
          * Creates an annotation descriptor.
          * This constructor is used for nested annotations.
@@ -423,35 +423,35 @@ public class ClassChecker extends EmptyV
         public void visitEnum(String arg0, String arg1, String arg2) {
             m_enums.add(new EnumAttribute(arg0, arg1, arg2));
         }
-        
+
         /**
          * Methods allowing to recreate the visited (stored) annotation
          * into the destination method.
-         * This method recreate the annotations itself and any other 
+         * This method recreate the annotations itself and any other
          * attributes.
          * @param mv the method visitor visiting the destination method.
          */
         public void visitAnnotation(MethodVisitor mv) {
             AnnotationVisitor av = mv.visitAnnotation(m_name, m_visible);
             for (int i = 0; i < m_simples.size(); i++) {
-                ((SimpleAttribute) m_simples.get(i)).visit(av);
+                m_simples.get(i).visit(av);
             }
             for (int i = 0; i < m_enums.size(); i++) {
-                ((EnumAttribute) m_enums.get(i)).visit(av);
+                m_enums.get(i).visit(av);
             }
             for (int i = 0; i < m_nested.size(); i++) {
-                ((AnnotationDescriptor) m_nested.get(i)).visit(av);
+                m_nested.get(i).visit(av);
             }
             for (int i = 0; i < m_arrays.size(); i++) {
-                ((ArrayAttribute) m_arrays.get(i)).visit(av);
+                m_arrays.get(i).visit(av);
             }
             av.visitEnd();
         }
-        
+
         /**
          * Methods allowing to recreate the visited (stored) parameter annotations
          * into the destination method.
-         * This method recreate the annotations itself and any other 
+         * This method recreate the annotations itself and any other
          * attributes.
          * @param id the paramter id
          * @param mv the method visitor visiting the destination method.
@@ -459,20 +459,20 @@ public class ClassChecker extends EmptyV
         public void visitParameterAnnotation(int id, MethodVisitor mv) {
             AnnotationVisitor av = mv.visitParameterAnnotation(id, m_name, m_visible);
             for (int i = 0; i < m_simples.size(); i++) {
-                ((SimpleAttribute) m_simples.get(i)).visit(av);
+                m_simples.get(i).visit(av);
             }
             for (int i = 0; i < m_enums.size(); i++) {
-                ((EnumAttribute) m_enums.get(i)).visit(av);
+                m_enums.get(i).visit(av);
             }
             for (int i = 0; i < m_nested.size(); i++) {
-                ((AnnotationDescriptor) m_nested.get(i)).visit(av);
+                m_nested.get(i).visit(av);
             }
             for (int i = 0; i < m_arrays.size(); i++) {
-                ((ArrayAttribute) m_arrays.get(i)).visit(av);
+                m_arrays.get(i).visit(av);
             }
             av.visitEnd();
         }
-        
+
         /**
          * Method allowing to recreate the visited (stored) annotation
          * into the destination annotation. This method is used only
@@ -483,23 +483,23 @@ public class ClassChecker extends EmptyV
         public void visit(AnnotationVisitor mv) {
             AnnotationVisitor av = mv.visitAnnotation(m_name, m_desc);
             for (int i = 0; i < m_simples.size(); i++) {
-                ((SimpleAttribute) m_simples.get(i)).visit(av);
+                m_simples.get(i).visit(av);
             }
             for (int i = 0; i < m_enums.size(); i++) {
-                ((EnumAttribute) m_enums.get(i)).visit(av);
+                m_enums.get(i).visit(av);
             }
             for (int i = 0; i < m_nested.size(); i++) {
-                ((AnnotationDescriptor) m_nested.get(i)).visit(av);
+                m_nested.get(i).visit(av);
             }
             for (int i = 0; i < m_arrays.size(); i++) {
-                ((ArrayAttribute) m_arrays.get(i)).visit(av);
+                m_arrays.get(i).visit(av);
             }
             av.visitEnd();
         }
-        
-        
+
+
     }
-    
+
     /**
      * Describes an array attribute.
      * This class is able to visit an annotation array attribute, and to
@@ -514,8 +514,8 @@ public class ClassChecker extends EmptyV
         /**
          * The content of the parsed array.
          */
-        private List m_content = new ArrayList();
-        
+        private List<Object> m_content = new ArrayList<Object>();
+
         /**
          * Creates an array attribute.
          * @param name the name of the attribute.
@@ -525,8 +525,8 @@ public class ClassChecker extends EmptyV
         }
 
         /**
-         * Visits the content of the array. This method is called for 
-         * simple values. 
+         * Visits the content of the array. This method is called for
+         * simple values.
          * @param arg0 <code>null</code>
          * @param arg1 the value
          * @see org.objectweb.asm.AnnotationVisitor#visit(java.lang.String, java.lang.Object)
@@ -536,8 +536,8 @@ public class ClassChecker extends EmptyV
         }
 
         /**
-         * Visits the content of the array. This method is called for 
-         * nested annotations (annotations contained in the array). 
+         * Visits the content of the array. This method is called for
+         * nested annotations (annotations contained in the array).
          * @param arg0 <code>null</code>
          * @param arg1 the annotation descriptor
          * @return an {@link AnnotationDescriptor} which creates a copy of
@@ -551,8 +551,8 @@ public class ClassChecker extends EmptyV
         }
 
         /**
-         * Visits the content of the array. This method is called for 
-         * nested arrays (arrays contained in the array). 
+         * Visits the content of the array. This method is called for
+         * nested arrays (arrays contained in the array).
          * @param arg0 <code>null</code>
          * @return an {@link ArrayDescriptor} which creates a copy of
          * the contained array.
@@ -571,8 +571,8 @@ public class ClassChecker extends EmptyV
         public void visitEnd() {  }
 
         /**
-         * Visits the content of the array. This method is called for 
-         * enumeration values. 
+         * Visits the content of the array. This method is called for
+         * enumeration values.
          * @param arg0 <code>null</code>
          * @param arg1 the enumeration descriptor
          * @param arg2 the value
@@ -582,7 +582,7 @@ public class ClassChecker extends EmptyV
             EnumAttribute ea = new EnumAttribute(null, arg1, arg2);
             m_content.add(ea);
         }
-        
+
         /**
          * Recreates the visited array attribute. This method
          * handle the generation of the object embedded in the
@@ -606,9 +606,9 @@ public class ClassChecker extends EmptyV
             }
             content.visitEnd();
         }
-                
+
     }
-    
+
     /**
      * Describes a simple attribute.
      * This class is able to visit an annotation simple attribute, and to
@@ -624,7 +624,7 @@ public class ClassChecker extends EmptyV
          * The value of the attribute.
          */
         private Object m_value;
-        
+
         /**
          * Creates a simple attribute.
          * @param name the name of the attribute
@@ -634,7 +634,7 @@ public class ClassChecker extends EmptyV
             m_name = name;
             m_value = object;
         }
-        
+
         /**
          * Recreates the attribute on the given annotation.
          * @param visitor the visitor on which the attribute needs
@@ -644,7 +644,7 @@ public class ClassChecker extends EmptyV
             visitor.visit(m_name, m_value);
         }
     }
-    
+
     /**
      * Describes an attribute. The value of this attribute is an enumerated
      * value.
@@ -665,7 +665,7 @@ public class ClassChecker extends EmptyV
          * The value of the attribute.
          */
         private String m_value;
-        
+
         /**
          * Creates a enumeration attribute.
          * @param name the name of the attribute.
@@ -677,7 +677,7 @@ public class ClassChecker extends EmptyV
             m_value = value;
             m_desc = desc;
         }
-        
+
         /**
          * Recreates the attribute on the given annotation.
          * @param visitor the visitor on which the attribute needs
@@ -686,7 +686,7 @@ public class ClassChecker extends EmptyV
         public void visit(AnnotationVisitor visitor) {
             visitor.visitEnum(m_name, m_desc, m_value);
         }
-        
+
     }
 
 

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.java Sat Aug 20 13:49:40 2011
@@ -1,4 +1,4 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -30,35 +30,35 @@ import org.objectweb.asm.commons.Generat
 /**
  * Constructor Adapter.
  * This class adds an instance manager argument (so switch variable index).
- * Moreover, it adapts field accesses to delegate accesses to the instance 
+ * Moreover, it adapts field accesses to delegate accesses to the instance
  * manager if needed.
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */
 public class ConstructorCodeAdapter extends GeneratorAdapter implements Opcodes {
 
-    /** 
+    /**
      * The class containing the field.
      * m_owner : String
      */
     private String m_owner;
-    
+
     /**
      * Is the super call detected ?
      */
     private boolean m_superDetected;
-    
+
     /**
-     * The super class. 
+     * The super class.
      */
     private String m_superClass;
-    
+
     /**
      * Set of contained fields.
      */
-    private Set m_fields;
+    private Set<String> m_fields;
 
 
-    /** 
+    /**
      * PropertyCodeAdapter constructor.
      * A new FiledCodeAdapter should be create for each method visit.
      * @param mv the MethodVisitor
@@ -68,14 +68,14 @@ public class ConstructorCodeAdapter exte
      * @param desc the constructor descriptor
      * @param name the name
      */
-    public ConstructorCodeAdapter(final MethodVisitor mv, final String owner, Set fields, int access, String name, String desc, String superClass) {
+    public ConstructorCodeAdapter(final MethodVisitor mv, final String owner, Set<String> fields, int access, String name, String desc, String superClass) {
         super(mv, access, name, desc);
         m_owner = owner;
         m_superDetected = false;
         m_fields = fields;
         m_superClass = superClass;
     }
-    
+
     /**
      * Visits an annotation.
      * If the annotation is visible, the annotation is removed. In fact
@@ -97,7 +97,7 @@ public class ConstructorCodeAdapter exte
     }
 
 
-    /** 
+    /**
      * Adapts field accesses.
      * If the field is owned by the visited class:
      * <ul>
@@ -129,7 +129,7 @@ public class ConstructorCodeAdapter exte
         }
         super.visitFieldInsn(opcode, owner, name, desc);
     }
-    
+
     /**
      * Visits a method invocation instruction.
      * After the super constructor invocation, insert the _setComponentManager invocation.
@@ -141,35 +141,35 @@ public class ConstructorCodeAdapter exte
      * @see org.objectweb.asm.MethodAdapter#visitMethodInsn(int, java.lang.String, java.lang.String, java.lang.String)
      */
     public void visitMethodInsn(int opcode, String owner, String name, String desc) {
-        
+
         // A method call is detected, check if it is the super call :
         // the first init is not necessary the super call, so check that it is really the super class.
         if (!m_superDetected && name.equals("<init>")  && owner.equals(m_superClass)) {
-            m_superDetected = true; 
+            m_superDetected = true;
             // The first invocation is the super call
             // 1) Visit the super constructor :
-            
-            //mv.visitVarInsn(ALOAD, 0); The ALOAD 0 was already visited. This previous visit allows 
+
+            //mv.visitVarInsn(ALOAD, 0); The ALOAD 0 was already visited. This previous visit allows
                                          // Super constructor parameters.
             mv.visitMethodInsn(opcode, owner, name, desc); // Super constructor invocation
-            
-            // 2) Load the object and the component manager argument 
+
+            // 2) Load the object and the component manager argument
             mv.visitVarInsn(ALOAD, 0);
             //mv.visitVarInsn(ALOAD, Type.getArgumentTypes(m_constructorDesc).length);
             mv.visitVarInsn(ALOAD, 1);  // CM is always the first argument
-            // 3) Initialize the field 
+            // 3) Initialize the field
             mv.visitMethodInsn(INVOKESPECIAL, m_owner, "_setInstanceManager", "(Lorg/apache/felix/ipojo/InstanceManager;)V");
-            
-        } else { 
-            mv.visitMethodInsn(opcode, owner, name, desc); 
+
+        } else {
+            mv.visitMethodInsn(opcode, owner, name, desc);
         }
     }
-    
+
     /**
      * Visits a variable instruction.
      * This method increments the variable index if
      * it is not <code>this</code> (i.e. 0). This increment
-     * is due to the instance manager parameter added in the method 
+     * is due to the instance manager parameter added in the method
      * signature.
      * @param opcode the opcode
      * @param var the variable index
@@ -184,25 +184,25 @@ public class ConstructorCodeAdapter exte
         }
 
     }
-    
+
     /**
      * Visits an increment instruction.
      * This method increments the variable index if
      * it is not <code>this</code> (i.e. 0). This increment
-     * is due to the instance manager parameter added in the method 
+     * is due to the instance manager parameter added in the method
      * signature.
      * @param var the variable index
      * @param increment the increment
      * @see org.objectweb.asm.MethodAdapter#visitIincInsn(int, int)
      */
     public void visitIincInsn(int var, int increment) {
-        if (var != 0) { 
-            mv.visitIincInsn(var + 1, increment); 
-        } else { 
+        if (var != 0) {
+            mv.visitIincInsn(var + 1, increment);
+        } else {
             mv.visitIincInsn(var, increment); // Increment the current object ???
-        } 
+        }
     }
-    
+
     /**
      * Visits a local variable.
      * Adds _manager and increment others variable indexes.
@@ -211,7 +211,7 @@ public class ConstructorCodeAdapter exte
      * @param name the variable name
      * @param desc the variable descriptor
      * @param signature the variable signature
-     * @param start the beginning label 
+     * @param start the beginning label
      * @param end the ending label
      * @param index the variable index
      * @see org.objectweb.asm.MethodAdapter#visitLocalVariable(java.lang.String, java.lang.String, java.lang.String, org.objectweb.asm.Label, org.objectweb.asm.Label, int)
@@ -223,7 +223,7 @@ public class ConstructorCodeAdapter exte
         }
         mv.visitLocalVariable(name, desc, signature, start, end, index + 1);
     }
-    
+
     /**
      * Visit max method.
      * The stack size is incremented of 1. The

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/InnerClassAdapter.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/InnerClassAdapter.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/InnerClassAdapter.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/InnerClassAdapter.java Sat Aug 20 13:49:40 2011
@@ -1,4 +1,4 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -31,16 +31,16 @@ import org.objectweb.asm.Opcodes;
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */
 public class InnerClassAdapter extends ClassAdapter implements Opcodes {
-    
+
     /**
      * Implementation class name.
      */
     private String m_outer;
-    
+
     /**
-     * List of fields of the implementation class. 
+     * List of fields of the implementation class.
      */
-    private Set m_fields;
+    private Set<String> m_fields;
 
     /**
      * Creates the inner class adapter.
@@ -48,12 +48,12 @@ public class InnerClassAdapter extends C
      * @param outerClass outer class (implementation class)
      * @param fields fields of the implementation class
      */
-    public InnerClassAdapter(ClassVisitor arg0, String outerClass, Set fields) {
+    public InnerClassAdapter(ClassVisitor arg0, String outerClass, Set<String> fields) {
         super(arg0);
         m_outer = outerClass;
         m_fields = fields;
     }
-    
+
     /**
      * Visits a method.
      * This methods create a code visitor manipulating outer class field accesses.
@@ -68,7 +68,7 @@ public class InnerClassAdapter extends C
     public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
         MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions);
         return new MethodCodeAdapter(mv, m_outer, access, name, desc, m_fields);
-    }    
-    
+    }
+
 
 }

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/InnerClassManipulator.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/InnerClassManipulator.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/InnerClassManipulator.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/InnerClassManipulator.java Sat Aug 20 13:49:40 2011
@@ -1,4 +1,4 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -37,18 +37,18 @@ public class InnerClassManipulator {
      * Outer class class name.
      */
     private String m_outer;
-    
+
     /**
      * Component class fields.
      */
-    private Set m_fields;
+    private Set<String> m_fields;
 
     /**
      * Creates an inner class manipulator.
      * @param classname : class name
      * @param fields : fields
      */
-    public InnerClassManipulator(String classname, Set fields) {
+    public InnerClassManipulator(String classname, Set<String> fields) {
         m_outer = classname;
         m_fields = fields;
     }

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/Manipulator.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/Manipulator.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/Manipulator.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/Manipulator.java Sat Aug 20 13:49:40 2011
@@ -39,17 +39,17 @@ public class Manipulator {
     /**
      * Store the visited fields : [name of the field, type of the field].
      */
-    private Map m_fields;
+    private Map<String, String> m_fields;
 
     /**
      * Store the interface implemented by the class.
      */
-    private List m_interfaces;
+    private List<String> m_interfaces;
 
     /**
      * Store the methods list.
      */
-    private List m_methods;
+    private List<MethodDescriptor> m_methods;
 
     /**
      * Pojo super class.
@@ -127,10 +127,10 @@ public class Manipulator {
             elem.addElement(itf);
         }
 
-        for (Iterator it = m_fields.keySet().iterator(); it.hasNext();) {
+        for (Iterator<String> it = m_fields.keySet().iterator(); it.hasNext();) {
             Element field = new Element("Field", "");
-            String name = (String) it.next();
-            String type = (String) m_fields.get(name);
+            String name = it.next();
+            String type = m_fields.get(name);
             Attribute attName = new Attribute("name", name);
             Attribute attType = new Attribute("type", type);
             field.addAttribute(attName);
@@ -146,7 +146,7 @@ public class Manipulator {
         return elem;
     }
 
-    public Map getFields() {
+    public Map<String, String> getFields() {
         return m_fields;
     }
 

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodCodeAdapter.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodCodeAdapter.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodCodeAdapter.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodCodeAdapter.java Sat Aug 20 13:49:40 2011
@@ -1,4 +1,4 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -36,14 +36,14 @@ public class MethodCodeAdapter extends G
      * The owner class of the field. m_owner : String
      */
     private String m_owner;
-    
+
     /**
      * Contained fields.
      */
-    private Set m_fields;
+    private Set<String> m_fields;
 
     /**
-     * MethodCodeAdapter constructor. 
+     * MethodCodeAdapter constructor.
      * @param mv : MethodVisitor
      * @param owner : Name of the class
      * @param access : Method access
@@ -51,7 +51,7 @@ public class MethodCodeAdapter extends G
      * @param desc : Method descriptor
      * @param fields : Contained fields
      */
-    public MethodCodeAdapter(final MethodVisitor mv, final String owner, int access, String name, String desc, Set fields) {
+    public MethodCodeAdapter(final MethodVisitor mv, final String owner, int access, String name, String desc, Set<String> fields) {
         super(mv, access, name, desc);
         m_owner = owner;
         m_fields = fields;
@@ -79,7 +79,7 @@ public class MethodCodeAdapter extends G
         }
         super.visitFieldInsn(opcode, owner, name, desc);
     }
-    
+
     /**
      * Visits an annotation.
      * If the annotation is visible, the annotation is removed. In fact

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodCreator.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodCreator.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodCreator.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodCreator.java Sat Aug 20 13:49:40 2011
@@ -19,7 +19,6 @@
 package org.apache.felix.ipojo.manipulation;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -101,26 +100,26 @@ public class MethodCreator extends Class
      * Set of fields detected in the class.
      * (this set is given by the previous analysis)
      */
-    private Set m_fields;
+    private Set<String> m_fields;
 
     /**
      * List of methods contained in the class.
      * This set contains method id.
      */
-    private List m_methods = new ArrayList(); // Contains method id.
+    private List<String> m_methods = new ArrayList<String>();
 
     /**
      * List of fields injected as method flag in the class.
      * This set contains field name generate from method id.
      */
-    private List m_methodFlags = new ArrayList();
+    private List<String> m_methodFlags = new ArrayList<String>();
 
     /**
      * The list of methods visited during the previous analysis.
      * This list allows getting annotations to move to generated
      * method.
      */
-    private List m_visitedMethods = new ArrayList();
+    private List<MethodDescriptor> m_visitedMethods = new ArrayList<MethodDescriptor>();
 
     /**
      * Set to <code>true</code> when a suitable constructor
@@ -140,7 +139,7 @@ public class MethodCreator extends Class
      * @param fields : fields map detected during the previous class analysis.
      * @param methods : the list of the detected method during the previous class analysis.
      */
-    public MethodCreator(ClassVisitor arg0, Map fields, List methods) {
+    public MethodCreator(ClassVisitor arg0, Map<String, String> fields, List<MethodDescriptor> methods) {
         super(arg0);
         m_fields = fields.keySet();
         m_visitedMethods = methods;
@@ -219,7 +218,7 @@ public class MethodCreator extends Class
 
         MethodDescriptor md = getMethodDescriptor(name, desc);
         if (md == null) {
-            generateMethodHeader(access, name, desc, signature, exceptions, new ArrayList(0), new HashMap());
+            generateMethodHeader(access, name, desc, signature, exceptions, null, null);
         } else {
             generateMethodHeader(access, name, desc, signature, exceptions, md.getAnnotations(), md.getParameterAnnotations());
         }
@@ -245,7 +244,7 @@ public class MethodCreator extends Class
      */
     private MethodDescriptor getMethodDescriptor(String name, String desc) {
         for (int i = 0; i < m_visitedMethods.size(); i++) {
-            MethodDescriptor md = (MethodDescriptor) m_visitedMethods.get(i);
+            MethodDescriptor md = m_visitedMethods.get(i);
             if (md.getName().equals(name) && md.getDescriptor().equals(desc)) {
                 return md;
             }
@@ -308,7 +307,7 @@ public class MethodCreator extends Class
      * @param exceptions : declared exception
      * @param annotations : the annotations to move to this constructor.
      */
-    private void generateConstructor(int access, String descriptor, String signature, String[] exceptions, List annotations, Map paramAnnotations) {
+    private void generateConstructor(int access, String descriptor, String signature, String[] exceptions, List<AnnotationDescriptor> annotations, Map<Integer, List<AnnotationDescriptor>> paramAnnotations) {
          GeneratorAdapter mv = new GeneratorAdapter(
                  cv.visitMethod(access, "<init>", descriptor, signature, exceptions),
                  access, "<init>", descriptor);
@@ -326,19 +325,19 @@ public class MethodCreator extends Class
          // Move annotations
          if (annotations != null) {
              for (int i = 0; i < annotations.size(); i++) {
-                 AnnotationDescriptor ad = (AnnotationDescriptor) annotations.get(i);
+                 AnnotationDescriptor ad = annotations.get(i);
                  ad.visitAnnotation(mv);
              }
          }
 
          // Move parameter annotations if any
          if (paramAnnotations != null  && ! paramAnnotations.isEmpty()) {
-             Iterator ids = paramAnnotations.keySet().iterator();
+             Iterator<Integer> ids = paramAnnotations.keySet().iterator();
              while(ids.hasNext()) {
-                 Integer id = (Integer) ids.next();
-                 List ads = (List) paramAnnotations.get(id);
+                 Integer id = ids.next();
+                 List<AnnotationDescriptor> ads = paramAnnotations.get(id);
                  for (int i = 0; i < ads.size(); i++) {
-                     AnnotationDescriptor ad = (AnnotationDescriptor) ads.get(i);
+                     AnnotationDescriptor ad = ads.get(i);
                      ad.visitParameterAnnotation(id.intValue(), mv);
                  }
              }
@@ -360,7 +359,7 @@ public class MethodCreator extends Class
      * @param annotations : the annotations to move to this method.
      * @param paramAnnotations : the parameter annotations to move to this method.
      */
-    private void generateMethodHeader(int access, String name, String desc, String signature, String[] exceptions, List annotations, Map paramAnnotations) {
+    private void generateMethodHeader(int access, String name, String desc, String signature, String[] exceptions, List<AnnotationDescriptor> annotations, Map<Integer, List<AnnotationDescriptor>> paramAnnotations) {
         GeneratorAdapter mv = new GeneratorAdapter(cv.visitMethod(access, name, desc, signature, exceptions), access, name, desc);
 
         mv.visitCode();
@@ -453,19 +452,19 @@ public class MethodCreator extends Class
         // Move annotations
         if (annotations != null) {
             for (int i = 0; i < annotations.size(); i++) {
-                AnnotationDescriptor ad = (AnnotationDescriptor) annotations.get(i);
+                AnnotationDescriptor ad = annotations.get(i);
                 ad.visitAnnotation(mv);
             }
         }
 
         // Move parameter annotations
         if (paramAnnotations != null  && ! paramAnnotations.isEmpty()) {
-            Iterator ids = paramAnnotations.keySet().iterator();
+            Iterator<Integer> ids = paramAnnotations.keySet().iterator();
             while(ids.hasNext()) {
-                Integer id = (Integer) ids.next();
-                List ads = (List) paramAnnotations.get(id);
+                Integer id = ids.next();
+                List<AnnotationDescriptor> ads = paramAnnotations.get(id);
                 for (int i = 0; i < ads.size(); i++) {
-                    AnnotationDescriptor ad = (AnnotationDescriptor) ads.get(i);
+                    AnnotationDescriptor ad = ads.get(i);
                     ad.visitParameterAnnotation(id.intValue(), mv);
                 }
             }
@@ -626,9 +625,9 @@ public class MethodCreator extends Class
         mv.visitVarInsn(ALOAD, 2);
         Label endif = new Label();
         mv.visitJumpInsn(IFNULL, endif);
-        Iterator it = m_fields.iterator();
+        Iterator<String> it = m_fields.iterator();
         while (it.hasNext()) {
-            String field = (String) it.next();
+            String field = it.next();
             mv.visitVarInsn(ALOAD, 2);
             mv.visitLdcInsn(field);
             mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Set", "contains", "(Ljava/lang/Object;)Z");
@@ -651,7 +650,7 @@ public class MethodCreator extends Class
         mv.visitJumpInsn(IFNULL, endif2);
 
         for (int i = 0; i < m_methods.size(); i++) {
-            String methodId = (String) m_methods.get(i);
+            String methodId = m_methods.get(i);
             if (!methodId.equals("<init>")) {
                 mv.visitVarInsn(ALOAD, 2);
                 mv.visitLdcInsn(methodId);

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodDescriptor.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodDescriptor.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodDescriptor.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/MethodDescriptor.java Sat Aug 20 13:49:40 2011
@@ -1,4 +1,4 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -48,23 +48,23 @@ public class MethodDescriptor {
      * Argument types.
      */
     private String[] m_arguments;
-    
+
     /**
      * The descriptor of the method.
      */
     private String m_desc;
-    
-    
+
+
     /**
      * The list of {@link AnnotationDescriptor} attached to this
-     * method. 
+     * method.
      */
-    private List m_annotations;
-    
+    private List<AnnotationDescriptor> m_annotations;
+
     /**
-     * The association argument (number) - {@link AnnotationDescriptor}. 
+     * The association argument (number) - {@link AnnotationDescriptor}.
      */
-    private Map/*<Integer, List<AnnotationDescriptor>>*/ m_parameterAnnotations = new HashMap/*<Integer, List<AnnotationDescriptor>>*/();
+    private Map<Integer, List<AnnotationDescriptor>> m_parameterAnnotations = new HashMap<Integer, List<AnnotationDescriptor>>();
 
     /**
      * Constructor.
@@ -83,39 +83,39 @@ public class MethodDescriptor {
             m_arguments[i] = getType(args[i]);
         }
     }
-    
+
     /**
      * Add an annotation to the current method.
      * @param ann annotation to add
      */
     public void addAnnotation(AnnotationDescriptor ann) {
         if (m_annotations == null) {
-            m_annotations = new ArrayList();
+            m_annotations = new ArrayList<AnnotationDescriptor>();
         }
         m_annotations.add(ann);
     }
-    
+
     /**
      * Add an annotation to the current method.
      * @param ann annotation to add
      */
     public void addParameterAnnotation(int id, AnnotationDescriptor ann) {
-        List list = (List) m_parameterAnnotations.get(new Integer(id));
+        List<AnnotationDescriptor> list = m_parameterAnnotations.get(new Integer(id));
         if (list == null) {
-            list = new ArrayList();
+            list = new ArrayList<AnnotationDescriptor>();
             m_parameterAnnotations.put(new Integer(id), list);
         }
         list.add(ann);
     }
-    
-    public List getAnnotations() {
+
+    public List<AnnotationDescriptor> getAnnotations() {
         return m_annotations;
     }
-    
-    public Map getParameterAnnotations() {
+
+    public Map<Integer, List<AnnotationDescriptor>> getParameterAnnotations() {
         return m_parameterAnnotations;
     }
-    
+
     public String getDescriptor() {
         return m_desc;
     }

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MetadataCollector.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MetadataCollector.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MetadataCollector.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MetadataCollector.java Sat Aug 20 13:49:40 2011
@@ -74,14 +74,14 @@ public class MetadataCollector extends E
      * Map of [element ids, element].
      * This map is used to easily get an already created element.
      */
-    private Map m_ids = new HashMap();
+    private Map<String, Element> m_ids = new HashMap<String, Element>();
 
     /**
      * Map of [element, referto].
      * This map is used to recreate the element hierarchy.
      * Stored element are added under referred element.
      */
-    private Map m_elements = new HashMap();
+    private Map<Element, String> m_elements = new HashMap<Element, String>();
 
     /**
      * Instance declaration.
@@ -126,8 +126,8 @@ public class MetadataCollector extends E
      * @see org.objectweb.asm.ClassAdapter#visit(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
      */
     public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-        m_ids = new HashMap();
-        m_elements = new HashMap();
+        m_ids = new HashMap<String, Element>();
+        m_elements = new HashMap<Element, String>();
         m_className = name;
     }
 
@@ -225,16 +225,16 @@ public class MetadataCollector extends E
         }
 
         if (! m_containsComponentAnnotation) {
-        	m_ignoredBecauseOfMissingComponent = true;
+            m_ignoredBecauseOfMissingComponent = true;
             return;
         }
 
         // Recompute the tree
-        Set elems = getElements().keySet();
-        Iterator it = elems.iterator();
+        Set<Element> elems = getElements().keySet();
+        Iterator<Element> it = elems.iterator();
         while (it.hasNext()) {
-            Element current = (Element) it.next();
-            String reference = (String) getElements().get(current);
+            Element current = it.next();
+            String reference = getElements().get(current);
             if (reference == null) {
                 m_elem.addElement(current);
             } else {
@@ -249,11 +249,11 @@ public class MetadataCollector extends E
         }
     }
 
-    protected Map getIds() {
+    protected Map<String, Element> getIds() {
         return m_ids;
     }
 
-    protected Map getElements() {
+    protected Map<Element, String> getElements() {
         return m_elements;
     }
 
@@ -317,13 +317,13 @@ public class MetadataCollector extends E
             if (arg0.equals("specifications")) {
                 return new InterfaceArrayVisitor();
             } else if (arg0.equals("properties")) {
-            	// Create a new simple visitor to visit the nested ServiceProperty annotations
-            	// Collected properties are collected in m_prov
-            	return new EmptyVisitor() {
-            		public AnnotationVisitor visitAnnotation(String ignored, String desc) {
-                    	return new PropertyAnnotationParser(m_prov);
-        			}
-            	};
+                // Create a new simple visitor to visit the nested ServiceProperty annotations
+                // Collected properties are collected in m_prov
+                return new EmptyVisitor() {
+                    public AnnotationVisitor visitAnnotation(String ignored, String desc) {
+                        return new PropertyAnnotationParser(m_prov);
+                    }
+                };
             } else {
                 return null;
             }
@@ -469,7 +469,7 @@ public class MetadataCollector extends E
          */
         public void visit(String arg0, Object arg1) {
             if (arg0.equals("public_factory")  || arg0.equals("publicFactory")) {
-            	// public_factory is deprecated, but must sill be supported
+                // public_factory is deprecated, but must sill be supported
                 m_factory = arg1.toString();
                 return;
             }
@@ -494,7 +494,7 @@ public class MetadataCollector extends E
                 return;
             }
             if (arg0.equals("factory_method")  || arg0.equals("factoryMethod")) {
-            	// factory_method is deprecated, but must still be supported.
+                // factory_method is deprecated, but must still be supported.
                 m_method = arg1.toString();
                 return;
             }

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MethodCollector.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MethodCollector.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MethodCollector.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MethodCollector.java Sat Aug 20 13:49:40 2011
@@ -18,8 +18,6 @@
  */
 package org.apache.felix.ipojo.manipulation.annotations;
 
-import java.awt.image.renderable.ParameterBlock;
-
 import org.apache.felix.ipojo.metadata.Attribute;
 import org.apache.felix.ipojo.metadata.Element;
 import org.objectweb.asm.AnnotationVisitor;
@@ -63,9 +61,9 @@ public class MethodCollector extends Emp
      * @see org.objectweb.asm.commons.EmptyVisitor#visitParameterAnnotation(int, java.lang.String, boolean)
      */
     public AnnotationVisitor visitParameterAnnotation(int index, String annotation,
-			boolean visible) {
-    	if (m_name.equals("<init>")) {
-    		if (annotation.equals("Lorg/apache/felix/ipojo/annotations/Property;")) {
+            boolean visible) {
+        if (m_name.equals("<init>")) {
+            if (annotation.equals("Lorg/apache/felix/ipojo/annotations/Property;")) {
                 return processProperty(true, index);
             }
             if (annotation.equals("Lorg/apache/felix/ipojo/annotations/Requires;")) {
@@ -77,13 +75,13 @@ public class MethodCollector extends Emp
                 elem.addAttribute(new Attribute("index", "" + index));
                 return new CustomAnnotationVisitor(elem, m_collector, true, false, index, m_descriptor);
             }
-    	}
-    	return super.visitParameterAnnotation(index, annotation, visible);
-	}
+        }
+        return super.visitParameterAnnotation(index, annotation, visible);
+    }
 
 
 
-	/**
+    /**
      * Visit method annotations.
      * @param arg0 : annotation name.
      * @param arg1 : is the annotation visible at runtime.
@@ -302,7 +300,7 @@ public class MethodCollector extends Emp
         }
 
         private BindAnnotationParser(int index) {
-        	m_index = index;
+            m_index = index;
         }
 
         /**
@@ -360,10 +358,10 @@ public class MethodCollector extends Emp
                 } else if (m_name != null  && m_name.startsWith("unbind")) {
                     m_id = m_name.substring("unbind".length());
                 } else if (m_name != null  && m_name.startsWith("modified")) {
-                	m_id = m_name.substring("modified".length());
+                    m_id = m_name.substring("modified".length());
                 } else if (m_index != -1) {
-                	m_id = "" + m_index;
-            	} else {
+                    m_id = "" + m_index;
+                } else {
                     System.err.println("Cannot determine the id of the " + m_type + " method : " + m_name);
                     return;
                 }
@@ -471,12 +469,12 @@ public class MethodCollector extends Emp
 
             }
             if (m_name != null) {
-	            Element method = new Element("callback", "");
-	            method.addAttribute(new Attribute("method", m_name));
-	            method.addAttribute(new Attribute("type", m_type));
-	            req.addElement(method);
+                Element method = new Element("callback", "");
+                method.addAttribute(new Attribute("method", m_name));
+                method.addAttribute(new Attribute("type", m_type));
+                req.addElement(method);
             } else {
-            	req.addAttribute(new Attribute("constructor-parameter", Integer.toString(m_index)));
+                req.addAttribute(new Attribute("constructor-parameter", Integer.toString(m_index)));
             }
 
             m_collector.getIds().put(m_id, req);
@@ -572,15 +570,15 @@ public class MethodCollector extends Emp
          * @see org.objectweb.asm.commons.EmptyVisitor#visitEnd()
          */
         public void visitEnd() {
-        	// If neither name not id, try to extract the name
+            // If neither name not id, try to extract the name
             if (m_name == null && m_id == null  && m_method.startsWith("set")) {
                 m_name = m_method.substring("set".length());
                 m_id = m_name;
             // Else align the two values
             } else if (m_name != null  && m_id == null) {
-            	m_id = m_name;
+                m_id = m_name;
             } else if (m_id != null  && m_name == null) {
-            	m_name = m_id;
+                m_name = m_id;
             }
 
             Element[] props = m_parent.getElements("Property");
@@ -608,8 +606,8 @@ public class MethodCollector extends Emp
             }
 
             if (m_isParameterAnnotation) {
-            	String t = Type.getArgumentTypes(m_descriptor)[m_index].getClassName();
-            	prop.addAttribute(new Attribute("type", t));
+                String t = Type.getArgumentTypes(m_descriptor)[m_index].getClassName();
+                prop.addAttribute(new Attribute("type", t));
                 prop.addAttribute(new Attribute("constructor-parameter", Integer.toString(m_index)));
             } else {
                 prop.addAttribute(new Attribute("method", m_method));

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ManipulationEngine.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ManipulationEngine.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ManipulationEngine.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ManipulationEngine.java Sat Aug 20 13:49:40 2011
@@ -20,9 +20,7 @@ package org.apache.felix.ipojo.manipulat
 
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 import org.apache.felix.ipojo.manipulation.InnerClassManipulator;
 import org.apache.felix.ipojo.manipulation.Manipulator;

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ManipulationUnit.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ManipulationUnit.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ManipulationUnit.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ManipulationUnit.java Sat Aug 20 13:49:40 2011
@@ -18,9 +18,6 @@
  */
 package org.apache.felix.ipojo.manipulator;
 
-import java.util.List;
-import java.util.Set;
-
 import org.apache.felix.ipojo.manipulator.util.Strings;
 import org.apache.felix.ipojo.metadata.Element;
 

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/Pojoization.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/Pojoization.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/Pojoization.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/Pojoization.java Sat Aug 20 13:49:40 2011
@@ -98,7 +98,7 @@ public class Pojoization {
     /**
      * @return all the errors (fatal) reported by the manipulation process.
      */
-    public List getErrors() {
+    public List<String> getErrors() {
         // Simple delegation for backward compatibility
         return m_reporter.getErrors();
     }
@@ -106,7 +106,7 @@ public class Pojoization {
     /**
      * @return all the warnings (non fatal) reported by the manipulation process.
      */
-    public List getWarnings() {
+    public List<String> getWarnings() {
         // Simple delegation for backward compatibility
         return m_reporter.getWarnings();
     }
@@ -207,7 +207,7 @@ public class Pojoization {
      * @param manifestFile the manifest file. <code>null</code> to use directory/META-INF/MANIFEST.mf
      */
     public void directoryPojoization(File directory, File metadataFile, File manifestFile) {
-    	// Get the metadata.xml location if not null
+        // Get the metadata.xml location if not null
         MetadataProvider provider = new EmptyMetadataProvider();
         if (metadataFile != null) {
             FileMetadataProvider fileMetadataProvider = new FileMetadataProvider(metadataFile, m_reporter);

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/QuotedTokenizer.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/QuotedTokenizer.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/QuotedTokenizer.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/QuotedTokenizer.java Sat Aug 20 13:49:40 2011
@@ -1,4 +1,4 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -22,7 +22,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
- * Parse on OSGi Manifest clause. 
+ * Parse on OSGi Manifest clause.
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */
 public class QuotedTokenizer {
@@ -45,7 +45,7 @@ public class QuotedTokenizer {
      * Does the tokenizer returns token.
      */
     boolean m_returnTokens;
-    
+
     /**
      * Peek.
      */
@@ -187,8 +187,8 @@ public class QuotedTokenizer {
      * Get token list.
      * @return the list of token.
      */
-    public List getTokenSet() {
-        List list = new ArrayList();
+    public List<String> getTokenSet() {
+        List<String> list = new ArrayList<String>();
         String token = nextToken();
         while (token != null) {
             list.add(token);

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ResourceStore.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ResourceStore.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ResourceStore.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/ResourceStore.java Sat Aug 20 13:49:40 2011
@@ -19,10 +19,9 @@
 
 package org.apache.felix.ipojo.manipulator;
 
-import org.apache.felix.ipojo.metadata.Element;
-
 import java.io.IOException;
-import java.util.jar.Manifest;
+
+import org.apache.felix.ipojo.metadata.Element;
 
 /**
  * Abstract input/output for the manipulation process.

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/DirectoryResourceStore.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/DirectoryResourceStore.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/DirectoryResourceStore.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/DirectoryResourceStore.java Sat Aug 20 13:49:40 2011
@@ -18,15 +18,6 @@
  */
 package org.apache.felix.ipojo.manipulator.store;
 
-import org.apache.felix.ipojo.manipulator.ResourceStore;
-import org.apache.felix.ipojo.manipulator.ResourceVisitor;
-import org.apache.felix.ipojo.manipulator.store.mapper.FileSystemResourceMapper;
-import org.apache.felix.ipojo.manipulator.store.mapper.IdentityResourceMapper;
-import org.apache.felix.ipojo.manipulator.util.Metadatas;
-import org.apache.felix.ipojo.manipulator.util.Streams;
-import org.apache.felix.ipojo.manipulator.util.Strings;
-import org.apache.felix.ipojo.metadata.Element;
-
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -35,6 +26,14 @@ import java.io.OutputStream;
 import java.util.Collections;
 import java.util.jar.Manifest;
 
+import org.apache.felix.ipojo.manipulator.ResourceStore;
+import org.apache.felix.ipojo.manipulator.ResourceVisitor;
+import org.apache.felix.ipojo.manipulator.store.mapper.FileSystemResourceMapper;
+import org.apache.felix.ipojo.manipulator.store.mapper.IdentityResourceMapper;
+import org.apache.felix.ipojo.manipulator.util.Metadatas;
+import org.apache.felix.ipojo.manipulator.util.Streams;
+import org.apache.felix.ipojo.metadata.Element;
+
 /**
  * A {@link DirectoryResourceStore} knows how to read and write
  * resources from (to respectively) a File directory.

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/ManifestBuilder.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/ManifestBuilder.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/ManifestBuilder.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/ManifestBuilder.java Sat Aug 20 13:49:40 2011
@@ -19,11 +19,9 @@
 package org.apache.felix.ipojo.manipulator.store;
 
 import java.util.Collection;
-import java.util.List;
 import java.util.Set;
 import java.util.jar.Manifest;
 
-import org.apache.felix.ipojo.manipulator.render.MetadataFilter;
 import org.apache.felix.ipojo.metadata.Element;
 
 /**

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/builder/DefaultManifestBuilder.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/builder/DefaultManifestBuilder.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/builder/DefaultManifestBuilder.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/builder/DefaultManifestBuilder.java Sat Aug 20 13:49:40 2011
@@ -102,8 +102,8 @@ public class DefaultManifestBuilder impl
      * @param att : the manifest attribute list to modify.
      */
     private void setImports(Attributes att) {
-        Map imports = parseHeader(att.getValue("Import-Package"));
-        Map ver = new TreeMap();
+        Map<String, Map<String, String>> imports = parseHeader(att.getValue("Import-Package"));
+        Map<String, String> ver = new TreeMap<String, String>();
         ver.put("version", Pojoization.IPOJO_PACKAGE_VERSION);
         if (!imports.containsKey("org.apache.felix.ipojo")) {
             imports.put("org.apache.felix.ipojo", ver);
@@ -112,12 +112,12 @@ public class DefaultManifestBuilder impl
             imports.put("org.apache.felix.ipojo.architecture", ver);
         }
         if (!imports.containsKey("org.osgi.service.cm")) {
-            Map verCM = new TreeMap();
+            Map<String, String> verCM = new TreeMap<String, String>();
             verCM.put("version", "1.2");
             imports.put("org.osgi.service.cm", verCM);
         }
         if (!imports.containsKey("org.osgi.service.log")) {
-            Map verCM = new TreeMap();
+            Map<String, String> verCM = new TreeMap<String, String>();
             verCM.put("version", "1.3");
             imports.put("org.osgi.service.log", verCM);
         }
@@ -175,18 +175,18 @@ public class DefaultManifestBuilder impl
      * @param value String to parse.
      * @return parsed map.
      */
-    private Map parseHeader(String value) {
+    private Map<String, Map<String, String>> parseHeader(String value) {
         if (value == null || value.trim().length() == 0) {
-            return new HashMap();
+            return new HashMap<String, Map<String, String>>();
         }
 
-        Map result = new HashMap();
+        Map<String, Map<String, String>> result = new HashMap<String, Map<String, String>>();
         QuotedTokenizer qt = new QuotedTokenizer(value, ";=,");
         char del;
         do {
             boolean hadAttribute = false;
-            Map clause = new HashMap();
-            List aliases = new ArrayList();
+            Map<String, String> clause = new HashMap<String, String>();
+            List<String> aliases = new ArrayList<String>();
             aliases.add(qt.nextToken());
             del = qt.getSeparator();
             while (del == ';') {
@@ -203,7 +203,7 @@ public class DefaultManifestBuilder impl
                     hadAttribute = true;
                 }
             }
-            for (Iterator i = aliases.iterator(); i.hasNext();) {
+            for (Iterator<String> i = aliases.iterator(); i.hasNext();) {
                 result.put(i.next(), clause);
             }
         } while (del == ',');
@@ -217,7 +217,7 @@ public class DefaultManifestBuilder impl
      * @param allowedDirectives list of allowed directives.
      * @return the clauses
      */
-    private String printClauses(Map exports, String allowedDirectives) {
+    private String printClauses(Map<String, Map<String, String>> exports, String allowedDirectives) {
         StringBuffer sb = new StringBuffer();
         String del = "";
 

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/mapper/FileSystemResourceMapper.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/mapper/FileSystemResourceMapper.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/mapper/FileSystemResourceMapper.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/store/mapper/FileSystemResourceMapper.java Sat Aug 20 13:49:40 2011
@@ -18,11 +18,10 @@
  */
 package org.apache.felix.ipojo.manipulator.store.mapper;
 
-import org.apache.felix.ipojo.manipulator.store.ResourceMapper;
-import org.apache.felix.ipojo.manipulator.util.Strings;
-
 import java.io.File;
 
+import org.apache.felix.ipojo.manipulator.store.ResourceMapper;
+
 /**
  * ResourceMapper mapping from and to system specific path..
  *

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Collections5.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Collections5.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Collections5.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Collections5.java Sat Aug 20 13:49:40 2011
@@ -46,6 +46,7 @@ public class Collections5 {
      * @throws NullPointerException if <tt>original</tt> is null
      * @since 1.6
      */
+    @SuppressWarnings("unchecked")
     public static <T> T[] copyOf(T[] original, int newLength) {
         return (T[]) copyOf(original, newLength, original.getClass());
     }
@@ -73,6 +74,7 @@ public class Collections5 {
      * @since 1.6
      */
     public static <T,U> T[] copyOf(U[] original, int newLength, Class<? extends T[]> newType) {
+        @SuppressWarnings("unchecked")
         T[] copy = ((Object) newType == (Object) Object[].class)
             ? (T[]) new Object[newLength]
             : (T[]) Array.newInstance(newType.getComponentType(), newLength);

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Metadatas.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Metadatas.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Metadatas.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Metadatas.java Sat Aug 20 13:49:40 2011
@@ -18,18 +18,12 @@
  */
 package org.apache.felix.ipojo.manipulator.util;
 
-import org.apache.felix.ipojo.metadata.Element;
-
-import java.io.ByteArrayOutputStream;
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+import org.apache.felix.ipojo.metadata.Element;
+
 /**
  * {@code Streams} is a utility class that helps to manipulate streams.
  *

Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Strings.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Strings.java?rev=1159877&r1=1159876&r2=1159877&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Strings.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/util/Strings.java Sat Aug 20 13:49:40 2011
@@ -18,7 +18,6 @@
  */
 package org.apache.felix.ipojo.manipulator.util;
 
-import java.io.File;
 
 /**
  * {@code Strings} is a utility class that helps to manipulate String.



Mime
View raw message