[jboss-cvs] JBossAS SVN: r71276 - in projects/aop/trunk/aop: src/main/org/jboss/aop/instrument and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Mar 25 18:11:47 EDT 2008


Author: kabir.khan at jboss.com
Date: 2008-03-25 18:11:46 -0400 (Tue, 25 Mar 2008)
New Revision: 71276

Modified:
   projects/aop/trunk/aop/pom.xml
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/CallerTransformer.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/Codifier.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByConJoinPointGenerator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByMethodJoinPointGenerator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructionJoinPointGenerator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructionTransformer.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorExecutionTransformer.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorJoinPointGenerator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/DeclareChecker.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/FieldAccessTransformer.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/FieldJoinPointGenerator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructionTransformer.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructorExecutionTransformer.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/HotSwapper.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/Instrumentor.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/InstrumentorFactory.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinpointClassification.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinpointFullClassifier.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinpointSimpleClassifier.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodByConJoinPointGenerator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodByMethodJoinPointGenerator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodExecutionTransformer.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodJoinPointGenerator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedCallerTransformer.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructionInvocations.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructorInvocations.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/SecurityActions.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/TransformerCommon.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ClassProxyFactory.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ClassProxyTemplate.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/MarshalledClassProxy.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/MarshalledInterfaceProxy.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/MethodMapped.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/Proxy.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyFactory.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyMethodInvocation.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyMixin.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/SecurityActions.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyFactory.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledAdvice.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledContainerProxy.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledProxyAdvisor.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ProxyAdvisorDomain.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ProxyTemplate.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/util/ConstructorComparator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/util/CtConstructorComparator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/util/CtFieldComparator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/util/ForceInterfaceToImplementAnnotation.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/util/JavassistUtils.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/util/MarshalledValueInputStream.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/util/MarshalledValueOutputStream.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/util/ReflectToJavassist.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/util/ReflectUtils.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/util/SecurityActions.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/util/ThreadLocalStack.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/util/UnmodifiableEmptyCollections.java
   projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotationc/AnnotationTester.java
Log:
Remove warnings, add generics

Modified: projects/aop/trunk/aop/pom.xml
===================================================================
--- projects/aop/trunk/aop/pom.xml	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/pom.xml	2008-03-25 22:11:46 UTC (rev 71276)
@@ -4,13 +4,13 @@
   <parent>
     <groupId>org.jboss.aop</groupId>
     <artifactId>jboss-aop-parent</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
+    <version>2.0.0.CR8</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.jboss.aop</groupId>
   <artifactId>jboss-aop</artifactId>
   <packaging>jar</packaging>
-  <version>2.0.0-SNAPSHOT</version>
+  <version>2.0.0.CR8</version>
   <name>JBoss AOP</name>
   <description>JBoss AOP Framework</description>
   <url>http://labs.jboss.org/jbossaop</url>

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/CallerTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/CallerTransformer.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/CallerTransformer.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -22,7 +22,6 @@
 package org.jboss.aop.instrument;
 
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -280,10 +279,10 @@
    {
       CtClass callingClass;
       ClassAdvisor advisor;
-      List constructors;
+      List<CtConstructor> constructors;
       public boolean appliedCallerBinding = false;
 
-      HashMap callerInfos = new HashMap();
+      HashMap<String, String> callerInfos = new HashMap<String, String>();
       int invocationCounter = 0;
 
       public CallerExprEditor(ClassAdvisor advisor, CtClass callingClass)
@@ -341,13 +340,11 @@
             DeclareChecker.checkDeclares(manager, call, advisor);
             
             // todo shouldn't iterate every time.  must be a better way
-            Map pointcuts = manager.getPointcuts();
+            Map<String, Pointcut> pointcuts = manager.getPointcuts();
             synchronized (pointcuts)
             {
-               Iterator it = pointcuts.values().iterator();
-               while (it.hasNext())
+               for (Pointcut p : pointcuts.values())
                {
-                  Pointcut p = (Pointcut) it.next();
                   if (p.matchesCall(advisor, call))
                   {
                      hasPointcut = true;
@@ -444,13 +441,11 @@
             boolean hasPointcut = false;
 
             // todo shouldn't iterate every time.  must be a better way
-            Map pointcuts = manager.getPointcuts();
+            Map<String, Pointcut> pointcuts = manager.getPointcuts();
             synchronized (pointcuts)
             {
-               Iterator it = pointcuts.values().iterator();
-               while (it.hasNext())
+               for (Pointcut p : pointcuts.values())
                {
-                  Pointcut p = (Pointcut) it.next();
                   if (p.matchesCall(advisor, call))
                   {
                      hasPointcut = true;

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/Codifier.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/Codifier.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/Codifier.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -23,7 +23,6 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Iterator;
 
 import javassist.CannotCompileException;
 import javassist.CtMethod;
@@ -66,9 +65,8 @@
     */
    public synchronized void codifyPending() throws CannotCompileException
    {
-      for (Iterator iterator = pendingCodes.iterator(); iterator.hasNext();)
+      for (PendingCode pendingCode : pendingCodes)
       {
-         PendingCode pendingCode = (PendingCode) iterator.next();
          pendingCode.method.setBody(pendingCode.body);
       }
       pendingCodes.clear();

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByConJoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByConJoinPointGenerator.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByConJoinPointGenerator.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -53,8 +53,8 @@
    public static final String JOINPOINT_CLASS_PREFIX = JoinPointGenerator.JOINPOINT_CLASS_PREFIX + "CByC_";
    public static final String JOINPOINT_FIELD_PREFIX = JoinPointGenerator.JOINPOINT_FIELD_PREFIX + "CByC_";
 
-   private static final Class JOINPOINT_TYPE = ConstructorCallByConstructor.class;
-   private static final Class INVOCATION_TYPE = ConstructorCalledByConstructorInvocation.class;
+   private static final Class<ConstructorCallByConstructor> JOINPOINT_TYPE = ConstructorCallByConstructor.class;
+   private static final Class<ConstructorCalledByConstructorInvocation> INVOCATION_TYPE = ConstructorCalledByConstructorInvocation.class;
    private static final CtClass INVOCATION_CT_TYPE;
    static
    {
@@ -114,7 +114,7 @@
       return false;
    }
 
-   protected Class getReturnClassType()
+   protected Class<?> getReturnClassType()
    {
       return returnType.get();
    }
@@ -122,7 +122,7 @@
    protected AdviceMethodProperties getAdviceMethodProperties(JoinPointBean joinPoint, AdviceSetup setup)
    {
       ConstructorCallByConstructor call = (ConstructorCallByConstructor) joinPoint;
-      Constructor ctor = call.getConstructor();
+      Constructor<?> ctor = call.getConstructor();
       AdviceMethodProperties properties = new AdviceMethodProperties(
             joinPoint,
             setup.getAspectClass(),

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByMethodJoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByMethodJoinPointGenerator.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByMethodJoinPointGenerator.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -52,8 +52,8 @@
 {
    public static final String JOINPOINT_CLASS_PREFIX = JoinPointGenerator.JOINPOINT_CLASS_PREFIX + "CByM_";
    public static final String JOINPOINT_FIELD_PREFIX = JoinPointGenerator.JOINPOINT_FIELD_PREFIX + "CByM_";
-   private static final Class JOINPOINT_TYPE = ConstructorCallByMethod.class;
-   private static final Class INVOCATION_TYPE = ConstructorCalledByMethodInvocation.class;
+   private static final Class<ConstructorCallByMethod> JOINPOINT_TYPE = ConstructorCallByMethod.class;
+   private static final Class<ConstructorCalledByMethodInvocation> INVOCATION_TYPE = ConstructorCalledByMethodInvocation.class;
    private static final CtClass INVOCATION_CT_TYPE;
    static
    {
@@ -123,7 +123,7 @@
       return false;
    }
 
-   protected Class getReturnClassType()
+   protected Class<?> getReturnClassType()
    {
       return returnType.get();
    }
@@ -131,7 +131,7 @@
    protected AdviceMethodProperties getAdviceMethodProperties(JoinPointBean joinPoint, AdviceSetup setup)
    {
       ConstructorCallByMethod call = (ConstructorCallByMethod) joinPoint;
-      Constructor ctor = call.getConstructor();
+      Constructor<?> ctor = call.getConstructor();
       AdviceMethodProperties properties = new AdviceMethodProperties(
                joinPoint,
                setup.getAspectClass(),

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructionJoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructionJoinPointGenerator.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructionJoinPointGenerator.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -53,8 +53,8 @@
    public static final String JOINPOINT_CLASS_PREFIX = JoinPointGenerator.JOINPOINT_CLASS_PREFIX + "construction_";
    public static final String JOINPOINT_FIELD_PREFIX = JoinPointGenerator.JOINPOINT_FIELD_PREFIX + "construction_";
    
-   private static final Class JOINPOINT_TYPE = Construction.class;
-   private static final Class INVOCATION_TYPE = ConstructionInvocation.class;
+   private static final Class<Construction> JOINPOINT_TYPE = Construction.class;
+   private static final Class<ConstructionInvocation> INVOCATION_TYPE = ConstructionInvocation.class;
    private static final CtClass INVOCATION_CT_TYPE;
    static
    {
@@ -90,7 +90,7 @@
 
    private String classSimpleName(ConstructionInfo info)
    {
-      Constructor ctor = ((ConstructionInfo)info).getConstructor();
+      Constructor<?> ctor = info.getConstructor();
       return Advisor.getSimpleName(ctor.getDeclaringClass());
    }
 
@@ -104,14 +104,14 @@
       return true;
    }
 
-   protected Class getReturnClassType()
+   protected Class<?> getReturnClassType()
    {
       return null;
    }
 
    protected AdviceMethodProperties getAdviceMethodProperties(JoinPointBean joinPoint, AdviceSetup setup)
    {
-      Constructor ctor = ((Construction)joinPoint).getConstructor();
+      Constructor<?> ctor = ((Construction)joinPoint).getConstructor();
       return new AdviceMethodProperties(
             joinPoint,
             setup.getAspectClass(),

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructionTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructionTransformer.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructionTransformer.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -110,13 +110,13 @@
       if (!advisor.getManager().isConstruction()) return false;
 
       boolean oneMatch = false;
-      List constructors = instrumentor.getConstructors(clazz);
+      List<CtConstructor> constructors = instrumentor.getConstructors(clazz);
       
-      Iterator it = constructors.iterator();
+      Iterator<CtConstructor> it = constructors.iterator();
       for (int index = 0; it.hasNext(); index++)
       {
          // generate wrapper
-         CtConstructor constructor = (CtConstructor) it.next();
+         CtConstructor constructor = it.next();
          if (constructor.isClassInitializer() || !isAdvisableConstructor(constructor,  advisor))
          {
             if (oneMatch)
@@ -134,7 +134,7 @@
             
             for (int j = 0 ; j < index ; j++)
             {
-               generateNotMatchedConstructionInfoField((CtConstructor)constructors.get(j), j);
+               generateNotMatchedConstructionInfoField(constructors.get(j), j);
             }
          }
 
@@ -150,13 +150,11 @@
    public static boolean isAdvisableConstructor(CtConstructor con, ClassAdvisor advisor) throws NotFoundException
    {
       
-      Map pointcuts = advisor.getManager().getPointcuts();
+      Map<String, Pointcut> pointcuts = advisor.getManager().getPointcuts();
       synchronized (pointcuts)
       {
-         Iterator it = pointcuts.values().iterator();
-         while (it.hasNext())
+         for (Pointcut pointcut : pointcuts.values())
          {
-            Pointcut pointcut = (Pointcut) it.next();
             if (pointcut.matchesConstruction(advisor, con))
             {
                return true;

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorExecutionTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorExecutionTransformer.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorExecutionTransformer.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -31,7 +31,6 @@
 import javassist.CtClass;
 import javassist.CtConstructor;
 import javassist.CtField;
-import javassist.CtMember;
 import javassist.CtMethod;
 import javassist.CtNewMethod;
 import javassist.Modifier;
@@ -145,7 +144,7 @@
     */
    public boolean transform(CtClass clazz, ClassAdvisor classAdvisor) throws Exception
    {
-      List constructors = instrumentor.getConstructors(clazz);
+      List<CtConstructor> constructors = instrumentor.getConstructors(clazz);
       boolean wrappersGenerated = false;
       boolean oneOrMoreWrapped = false;
       int i = 0;
@@ -154,13 +153,13 @@
       CtConstructor firstConstructor = null;
       if (!constructors.isEmpty())
       {
-         firstConstructor = (CtConstructor) constructors.get(0);
+         firstConstructor = constructors.get(0);
       }
       if (constructors.size() > 0)
       {
-         for (Iterator iterator = constructors.iterator(); iterator.hasNext(); i++)
+         for (Iterator<CtConstructor> iterator = constructors.iterator(); iterator.hasNext(); i++)
          {
-            CtConstructor constructor = (CtConstructor) iterator.next();
+            CtConstructor constructor = iterator.next();
             
             JoinpointClassification classification = classifier.classifyConstructorExecution(constructor, classAdvisor);
             
@@ -183,7 +182,7 @@
                {
                   for (int j = 0; j < i; j++)
                   {
-                     this.setEmptyWrapperCodeLater((CtConstructor) constructors.get(j));
+                     this.setEmptyWrapperCodeLater(constructors.get(j));
                   }
                   oneOrMoreWrapped = true;
                }
@@ -224,16 +223,16 @@
     * @param constructors provide this list if you want to assure wrapper methods associated
     * with UNWRAPPED constructors keep unchanged (avoid infinite recursion in this wrappers).
     */
-   private void wrapAllConstructors(final CtClass clazz, CtConstructor firstConstructor, List constructors) throws NotFoundException, CannotCompileException
+   private void wrapAllConstructors(final CtClass clazz, CtConstructor firstConstructor, List<CtConstructor> constructors) throws NotFoundException, CannotCompileException
    {
       wrapper.wrap(firstConstructor, ALL_CONSTRUCTORS_STATUS);
       if (constructors == null)
       {
          return;
       }
-      for (Iterator i = constructors.iterator(); i.hasNext();)
+      for (Iterator<CtConstructor> i = constructors.iterator(); i.hasNext();)
       {
-         CtConstructor constructor = (CtConstructor) i.next();
+         CtConstructor constructor = i.next();
          if (!wrapper.isWrapped(constructor, CONSTRUCTOR_STATUS))
          {
             setEmptyWrapperCodeLater(constructor);
@@ -248,20 +247,19 @@
     * @param constructorIndexes a collection of <code>java.lang.Integer</code> indentifying
     * the constructors to be wrapped.
     */
-   public void wrap(CtClass clazz, Collection constructorIndexes) throws Exception
+   public void wrap(CtClass clazz, Collection<Integer> constructorIndexes) throws Exception
    {
-      List constructors = instrumentor.getConstructors(clazz);
+      List<CtConstructor> constructors = instrumentor.getConstructors(clazz);
       // if none constructor has been prepared, do nothing
-      CtConstructor firstConstructor = (CtConstructor) constructors.get(0);
+      CtConstructor firstConstructor = constructors.get(0);
       if (wrapper.isNotPrepared(firstConstructor , ALL_CONSTRUCTORS_STATUS))
       {
          return;
       }
       // generate wrapper code
-      for (Iterator iterator = constructorIndexes.iterator(); iterator.hasNext(); )
+      for (Integer constructorIndex : constructorIndexes)
       {
-         int constructorIndex = ((Integer) iterator.next()).intValue();
-         CtConstructor constructor = (CtConstructor) constructors.get(constructorIndex);
+         CtConstructor constructor = constructors.get(constructorIndex);
          wrap(clazz, constructor, constructorIndex);
       }
       // if none constructors have been wrapped until now, replace constructors calls
@@ -300,18 +298,17 @@
     * @param constructorIndexes a collection of <code>java.lang.Integer</code> indentifying
     * the constructors to be unwrapped.
     */
-   public void unwrap(CtClass clazz, Collection constructorIndexes) throws NotFoundException
+   public void unwrap(CtClass clazz, Collection<Integer> constructorIndexes) throws NotFoundException
    {
-      List constructors = instrumentor.getConstructors(clazz);
+      List<CtConstructor> constructors = instrumentor.getConstructors(clazz);
       // the joinpoint is not prepared for wrapping
-      if (wrapper.isNotPrepared((CtMember) constructors.get(0), ALL_CONSTRUCTORS_STATUS))
+      if (wrapper.isNotPrepared(constructors.get(0), ALL_CONSTRUCTORS_STATUS))
       {
          return;
       }
-      for (Iterator iterator = constructorIndexes.iterator(); iterator.hasNext(); )
+      for (Integer constructorIndex : constructorIndexes)
       {
-         int constructorIndex = ((Integer) iterator.next()).intValue();
-         CtConstructor constructor = (CtConstructor) constructors.get(constructorIndex);
+         CtConstructor constructor = constructors.get(constructorIndex);
          if (wrapper.isNotPrepared(constructor, CONSTRUCTOR_STATUS))
          {
             continue;
@@ -347,13 +344,13 @@
    throws Exception
    {
       instrumentor.setupBasics(clazz);
-      List constructors = instrumentor.getConstructors(clazz);
+      List<CtConstructor> constructors = instrumentor.getConstructors(clazz);
 
-      Iterator it = constructors.iterator();
+      Iterator<CtConstructor> it = constructors.iterator();
       for (int index = 0; it.hasNext(); index++)
       {
          // generate wrapper
-         CtConstructor constructor = (CtConstructor) it.next();
+         CtConstructor constructor = it.next();
          int mod = Modifier.STATIC;
          if ((constructor.getModifiers() & Modifier.PUBLIC) != 0)
          {
@@ -469,13 +466,11 @@
    // currently used by CallerTransformer
    public static boolean isAdvisableConstructor(CtConstructor con, ClassAdvisor advisor) throws NotFoundException
    {
-      Map pointcuts = advisor.getManager().getPointcuts();
+      Map<String, Pointcut> pointcuts = advisor.getManager().getPointcuts();
       synchronized (pointcuts)
       {
-         Iterator it = pointcuts.values().iterator();
-         while (it.hasNext())
+         for (Pointcut pointcut : pointcuts.values())
          {
-            Pointcut pointcut = (Pointcut) it.next();
             if (pointcut.matchesExecution(advisor, con))
             {
                return true;
@@ -505,7 +500,9 @@
       if (attribute != null)
       {
          MethodInfo wrapperInfo = wmethod.getMethodInfo2();
-         wrapperInfo.addAttribute(attribute.copy(wrapperInfo.getConstPool(), new HashMap()));
+         @SuppressWarnings("unchecked")
+         HashMap map = new HashMap();
+         wrapperInfo.addAttribute(attribute.copy(wrapperInfo.getConstPool(), map));
       }
       
       // prepare ForWrapping

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorJoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorJoinPointGenerator.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorJoinPointGenerator.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -53,8 +53,8 @@
 {
    public static final String JOINPOINT_CLASS_PREFIX = JoinPointGenerator.JOINPOINT_CLASS_PREFIX + "constructor_";
    public static final String JOINPOINT_FIELD_PREFIX = JoinPointGenerator.JOINPOINT_FIELD_PREFIX + "constructor_";
-   private static final Class JOINPOINT_TYPE = ConstructorExecution.class;
-   private static final Class INVOCATION_TYPE = ConstructorInvocation.class;
+   private static final Class<ConstructorExecution> JOINPOINT_TYPE = ConstructorExecution.class;
+   private static final Class<ConstructorInvocation> INVOCATION_TYPE = ConstructorInvocation.class;
    private static final CtClass INVOCATION_CT_TYPE;
    static
    {
@@ -93,7 +93,7 @@
 
    private String classSimpleName(ConstructorInfo info)
    {
-      Constructor ctor = info.getConstructor();
+      Constructor<?> ctor = info.getConstructor();
       return Advisor.getSimpleName(ctor.getDeclaringClass());
    }
 
@@ -107,14 +107,14 @@
       return false;
    }
 
-   protected Class getReturnClassType()
+   protected Class<?> getReturnClassType()
    {
       return returnType.get();
    }
 
    protected AdviceMethodProperties getAdviceMethodProperties(JoinPointBean joinPoint, AdviceSetup setup)
    {
-      Constructor ctor = ((ConstructorExecution)joinPoint).getConstructor();
+      Constructor<?> ctor = ((ConstructorExecution)joinPoint).getConstructor();
       return new AdviceMethodProperties(
             joinPoint,
             setup.getAspectClass(),

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/DeclareChecker.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/DeclareChecker.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/DeclareChecker.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -44,9 +44,9 @@
 {
    public static void checkDeclares(AspectManager manager, CtClass clazz, ClassAdvisor advisor)
    {
-      for (Iterator it = manager.getDeclares() ; it.hasNext() ; )
+      for (Iterator<DeclareDef> it = manager.getDeclares() ; it.hasNext() ; )
       {
-         DeclareDef declare = (DeclareDef)it.next();
+         DeclareDef declare = it.next();
          if (declare.matches(advisor, clazz))
          {
             StringBuffer sb = new StringBuffer(" condition\n\t'" + declare.getExpr() + "'\nwas broken for class " + 
@@ -79,9 +79,9 @@
    
    private static void checkDeclares(AspectManager manager, NewExpr newcall, MethodCall mcall, ClassAdvisor advisor) throws NotFoundException
    {
-      for (Iterator it = manager.getDeclares() ; it.hasNext() ; )
+      for (Iterator<DeclareDef> it = manager.getDeclares() ; it.hasNext() ; )
       {
-         DeclareDef declare = (DeclareDef)it.next();
+         DeclareDef declare = it.next();
          
          StringBuffer sb = new StringBuffer(" condition\n\t'" + declare.getExpr() + "'\nwas broken for "); 
          

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/FieldAccessTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/FieldAccessTransformer.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/FieldAccessTransformer.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -26,7 +26,6 @@
 import java.util.List;
 
 import javassist.CannotCompileException;
-import javassist.ClassPool;
 import javassist.CodeConverter;
 import javassist.CtClass;
 import javassist.CtField;
@@ -79,16 +78,16 @@
 
    protected void buildFieldWrappers(CtClass clazz, ClassAdvisor advisor, boolean shouldReplaceArrayAccess) throws NotFoundException, CannotCompileException
    {
-      List fields = Instrumentor.getAdvisableFields(clazz);
+      List<CtField> fields = Instrumentor.getAdvisableFields(clazz);
 
       int fieldIndex = fieldOffset(clazz.getSuperclass());
       boolean skipFieldInterception = true;
       if (fields.size() > 0)
       {
-         Iterator it = fields.iterator();
+         Iterator<CtField> it = fields.iterator();
          for (int index = 0; it.hasNext(); index++, fieldIndex++)
          {
-            CtField field = (CtField) it.next();
+            CtField field = it.next();
             JoinpointClassification classificationGet = instrumentor.joinpointClassifier.classifyFieldGet(field, advisor); 
             JoinpointClassification classificationSet = instrumentor.joinpointClassifier.classifyFieldSet(field, advisor); 
             if (!isPrepared(classificationGet) && !isPrepared(classificationSet))
@@ -143,12 +142,12 @@
          throw new RuntimeException(e);
       }
       
-      List fields = Instrumentor.getAdvisableFields(superClass);
+      List<CtField> fields = Instrumentor.getAdvisableFields(superClass);
       if (fields.size() > 0)
       {
-         for (Iterator it = fields.iterator(); it.hasNext(); )
+         for (Iterator<CtField> it = fields.iterator(); it.hasNext(); )
          {
-            CtField field = (CtField) it.next();
+            CtField field = it.next();
             if (javassist.Modifier.isPrivate(field.getModifiers()))
             {
                continue;
@@ -202,14 +201,12 @@
     * @return
     * @throws NotFoundException
     */
-   public boolean replaceFieldAccess(List fields, CtClass clazz, ClassAdvisor fieldsAdvisor) throws NotFoundException
+   public boolean replaceFieldAccess(List<CtField> fields, CtClass clazz, ClassAdvisor fieldsAdvisor) throws NotFoundException
    {
       CodeConverter converter = instrumentor.getCodeConverter();
       boolean converted = false;
-      Iterator it = fields.iterator();
-      while (it.hasNext())
+      for (CtField field : fields)
       {
-         CtField field = (CtField) it.next();
          if (!Modifier.isPrivate(field.getModifiers()) && Advisable.isAdvisable(field))
          {
             JoinpointClassification fieldGetClassification = classifier.classifyFieldGet(field, fieldsAdvisor);
@@ -238,14 +235,13 @@
     * @param fieldsSet a collection of <code>java.lang.Integer</code> indentifying
     * the field writes to be wrapped.
     */
-   public void wrap(CtClass clazz, Collection fieldsGet, Collection fieldsSet) throws CannotCompileException, NotFoundException
+   public void wrap(CtClass clazz, Collection<Integer> fieldsGet, Collection<Integer> fieldsSet) throws CannotCompileException, NotFoundException
    {
-      List advisableFields = Instrumentor.getAdvisableFields(clazz);
+      List<CtField> advisableFields = Instrumentor.getAdvisableFields(clazz);
       CtField[] fields = new CtField[advisableFields.size()];
-      fields = (CtField[] ) advisableFields.toArray(fields);
-      for (Iterator iterator = fieldsGet.iterator(); iterator.hasNext(); )
+      fields = advisableFields.toArray(fields);
+      for (int fieldIndex : fieldsGet)
       {
-         int fieldIndex = ((Integer) iterator.next()).intValue();
          CtField field = fields[fieldIndex];
          if (wrapper.isNotPrepared(field, GET_INDEX))
          {
@@ -269,9 +265,8 @@
             method.setBody(code);
          }
       }
-      for (Iterator iterator = fieldsSet.iterator(); iterator.hasNext(); )
+      for (int fieldIndex : fieldsSet)
       {
-         int fieldIndex = ((Integer) iterator.next()).intValue();
          CtField field = fields[fieldIndex];
          if (wrapper.isNotPrepared(field, SET_INDEX))
          {
@@ -316,16 +311,14 @@
     * @param fieldsSet a collection of <code>java.lang.Integer</code> indentifying
     * the field writes to be unwrapped.
     */
-   public void unwrap(CtClass clazz, Collection fieldsGet, Collection fieldsSet) throws CannotCompileException, NotFoundException
+   public void unwrap(CtClass clazz, Collection<Integer> fieldsGet, Collection<Integer> fieldsSet) throws CannotCompileException, NotFoundException
    {
-      ClassPool classPool = instrumentor.getClassPool();
-      List advisableFields = instrumentor.getAdvisableFields(clazz);
+      List<CtField> advisableFields = Instrumentor.getAdvisableFields(clazz);
       CtField[] fields = new CtField[advisableFields.size()];
-      fields = (CtField[] ) advisableFields.toArray(fields);
+      fields = advisableFields.toArray(fields);
       // unwrapping field gets
-      for (Iterator iterator = fieldsGet.iterator(); iterator.hasNext(); )
+      for (int fieldIndex : fieldsGet)
       {
-         int fieldIndex = ((Integer) iterator.next()).intValue();
          CtField field = fields[fieldIndex];
          if (wrapper.isNotPrepared(field, GET_INDEX))
          {
@@ -339,9 +332,8 @@
          method.setBody("return " + target + "." + field.getName() + ";");
       }
       
-      for (Iterator iterator = fieldsSet.iterator(); iterator.hasNext(); )
+      for (int fieldIndex : fieldsSet)
       {
-         int fieldIndex = ((Integer) iterator.next()).intValue();
          CtField field = fields[fieldIndex];
          if (wrapper.isNotPrepared(field, SET_INDEX))
          {
@@ -511,7 +503,6 @@
    {
       AOPClassPool classPool = (AOPClassPool) instrumentor.getClassPool();
 
-      String name = field.getName();
       CtClass ftype = field.getType();
       CtClass[] readParam = new CtClass[]{classPool.get("java.lang.Object")};
       
@@ -578,7 +569,6 @@
    {
       AOPClassPool classPool = (AOPClassPool) instrumentor.getClassPool();
 
-      String name = field.getName();
       CtClass ftype = field.getType();
 
       // create field trapWrite memthod

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/FieldJoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/FieldJoinPointGenerator.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/FieldJoinPointGenerator.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -57,9 +57,9 @@
    public static final String READ_JOINPOINT_FIELD_PREFIX = JOINPOINT_FIELD_PREFIX + "r_";
    public static final String WRITE_JOINPOINT_CLASS_PREFIX = JOINPOINT_CLASS_PREFIX + "w_";
    public static final String READ_JOINPOINT_CLASS_PREFIX = JOINPOINT_CLASS_PREFIX + "r_";
-   private static final Class JOINPOINT_TYPE = FieldAccess.class;
-   private static final Class READ_INVOCATION_TYPE = FieldReadInvocation.class;
-   private static final Class WRITE_INVOCATION_TYPE = FieldWriteInvocation.class;
+   private static final Class<FieldAccess> JOINPOINT_TYPE = FieldAccess.class;
+   private static final Class<FieldReadInvocation> READ_INVOCATION_TYPE = FieldReadInvocation.class;
+   private static final Class<FieldWriteInvocation> WRITE_INVOCATION_TYPE = FieldWriteInvocation.class;
    private static final CtClass READ_INVOCATION_CT_TYPE;
    private static final CtClass WRITE_INVOCATION_CT_TYPE;
    private static final String TYPED_VALUE_FIELD = "typedValue";
@@ -283,18 +283,18 @@
       protected abstract String createGetArgumentsBody();
       protected abstract String createSetArgumentsBody();
       
-      private static String debugFields(CtClass clazz) throws NotFoundException
-      {
-         StringBuffer sb = new StringBuffer();
-         sb.append(clazz.getName());
-         CtField[] fields = clazz.getFields();
-         for (int i = 0 ; i < fields.length ; i++)
-         {
-            sb.append("\n\t\t\t\t" + Modifier.toString(fields[i].getModifiers()) + " " + fields[i].getName() + " " + fields[i].getType());
-         }
-         
-         return sb.toString();
-      }
+//      private static String debugFields(CtClass clazz) throws NotFoundException
+//      {
+//         StringBuffer sb = new StringBuffer();
+//         sb.append(clazz.getName());
+//         CtField[] fields = clazz.getFields();
+//         for (int i = 0 ; i < fields.length ; i++)
+//         {
+//            sb.append("\n\t\t\t\t" + Modifier.toString(fields[i].getModifiers()) + " " + fields[i].getName() + " " + fields[i].getType());
+//         }
+//         
+//         return sb.toString();
+//      }
 
       protected CtClass setupClass()throws NotFoundException, CannotCompileException
       {

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructionTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructionTransformer.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructionTransformer.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -107,6 +107,7 @@
       final String constructionWrapperName = constructor.getDeclaringClass().getSimpleName() + "_con_" + ClassAdvisor.NOT_TRANSFORMABLE_SUFFIX;
 
       String body = createInterceptingWrapperBody(constructor, index);
+      @SuppressWarnings("unused")
       CtMethod wrapper = createWrapperMethod(constructor, constructionWrapperName, body);
       insertWrapperCallInCtor(constructor, constructionWrapperName);
       

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructorExecutionTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructorExecutionTransformer.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructorExecutionTransformer.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -97,7 +97,6 @@
 
    protected void initialiseWrapper(int mod, CtConstructor constructor, int index) throws NotFoundException, CannotCompileException
    {
-      GeneratedAdvisorInstrumentor instrumentor = (GeneratedAdvisorInstrumentor)getInstrumentor();
       CtClass genadvisor = getGenAdvisor();
       CtClass clazz = constructor.getDeclaringClass();
 
@@ -123,7 +122,7 @@
             null,
             clazz);
       wmethod.setModifiers(mod);
-      wmethod.setBody("{return (("  +  instrumentor.getAdvisorFQN(clazz) +
+      wmethod.setBody("{return (("  +  GeneratedAdvisorInstrumentor.getAdvisorFQN(clazz) +
             ")" + Instrumentor.HELPER_FIELD_NAME + ")." + getInnerWrapperMethodName(constructor) + "($$);}");
       clazz.addMethod(wmethod);
 
@@ -188,13 +187,13 @@
 
    private String getInnerWrapperMethodName(CtConstructor constructor)
    {
-      return constructorFactory(((GeneratedAdvisorInstrumentor)getInstrumentor()).getAdvisorName(constructor.getDeclaringClass()));
+      return constructorFactory(GeneratedAdvisorInstrumentor.getAdvisorName(constructor.getDeclaringClass()));
    }
 
    private String outerDelegatingBody(CtConstructor constructor)
    {
       return "{return ((" +
-      ((GeneratedAdvisorInstrumentor)getInstrumentor()).getAdvisorFQN(constructor.getDeclaringClass()) +
+      GeneratedAdvisorInstrumentor.getAdvisorFQN(constructor.getDeclaringClass()) +
       ")" + Instrumentor.HELPER_FIELD_NAME + ")." + getInnerWrapperMethodName(constructor) + "($$);}";
    }
 

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -38,13 +38,10 @@
 import org.jboss.aop.ConByMethodInfo;
 import org.jboss.aop.FieldInfo;
 import org.jboss.aop.GeneratedClassAdvisor;
-import org.jboss.aop.JoinPointInfo;
 import org.jboss.aop.MethodByConInfo;
 import org.jboss.aop.MethodByMethodInfo;
 import org.jboss.aop.MethodInfo;
-import org.jboss.aop.WeavingStrategySupport;
 import org.jboss.aop.classpool.AOPClassPool;
-import org.jboss.aop.instrument.MethodExecutionTransformer.MethodTransformation;
 
 /**
  * Comment
@@ -509,7 +506,6 @@
             continue;
          }
 
-         String ret = (instanceAdvisorMethods[i].getReturnType().equals(CtClass.voidType)) ? "" : "return ";
          StringBuffer delegatingBody = new StringBuffer();
          delegatingBody.append("{");
          boolean changeInterceptorChainsOperation = false;
@@ -685,7 +681,6 @@
    {
       CtClass superClass = clazz;
       CtClass superAdvisor = genadvisor;
-      boolean isSuper = false;
 
       StringBuffer advicesUpdatedCode = new StringBuffer();
       StringBuffer initialiseInfosForInstanceCode = new StringBuffer();
@@ -740,7 +735,6 @@
             break;
          }
 
-         isSuper = true;
          superClass = superClass.getSuperclass();
          superAdvisor = superAdvisor.getSuperclass();
       }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/HotSwapper.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/HotSwapper.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/HotSwapper.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -39,7 +39,7 @@
     * @param classCode the new byte codes of <code>clazz</code>.
     * @see hotSwap
     */
-   void registerChange(Class clazz, byte[] classCode);
+   void registerChange(Class<?> clazz, byte[] classCode);
    
    /**
     * Performs the hot swap of classes previously registered through

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/Instrumentor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/Instrumentor.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/Instrumentor.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -109,7 +109,7 @@
    protected CodeConverter converter;
    protected AspectManager manager;
    protected JoinpointClassifier joinpointClassifier;
-   protected static Collection processedClasses = new ArrayList();
+   protected static Collection<CtClass> processedClasses = new ArrayList<CtClass>();
 
    // Transformers, more than meets the eye!
    MethodExecutionTransformer methodExecutionTransformer;
@@ -325,14 +325,14 @@
          CtClass intf = classPool.get(interfaces[i]);
          if (clazz.subtypeOf(intf)) continue;
          clazz.addInterface(intf);
-         HashMap intfMap = JavassistMethodHashing.getMethodMap(intf);
-         Iterator entries = intfMap.entrySet().iterator();
+         HashMap<Long, CtMethod> intfMap = JavassistMethodHashing.getMethodMap(intf);
+         Iterator<Map.Entry<Long, CtMethod>> entries = intfMap.entrySet().iterator();
          while (entries.hasNext())
          {
-            Map.Entry entry = (Map.Entry) entries.next();
-            Long hash = (Long) entry.getKey();
-            CtMethod method = (CtMethod) entry.getValue();
-            CtMethod baseMethod = (CtMethod)baseMethods.get(hash);
+            Map.Entry<Long, CtMethod> entry = entries.next();
+            Long hash = entry.getKey();
+            CtMethod method = entry.getValue();
+            CtMethod baseMethod = baseMethods.get(hash);
             if (baseMethod != null && !addedMethods.contains(hash))
             {
                String msg = "Mixin " + mixinClass.getName() +
@@ -377,14 +377,14 @@
       }
 
       CtMethod mixinInvokeMethod = createInvokeMethod(clazz);
-      HashMap intfMap = JavassistMethodHashing.getMethodMap(iface);
-      Iterator entries = intfMap.entrySet().iterator();
+      HashMap<Long, CtMethod> intfMap = JavassistMethodHashing.getMethodMap(iface);
+      Iterator<Map.Entry<Long, CtMethod>> entries = intfMap.entrySet().iterator();
       while (entries.hasNext())
       {
-         Map.Entry entry = (Map.Entry) entries.next();
-         Long hash = (Long) entry.getKey();
+         Map.Entry<Long, CtMethod> entry = entries.next();
+         Long hash = entry.getKey();
          if (baseMethods.containsKey(hash)) continue;
-         CtMethod method = (CtMethod) entry.getValue();
+         CtMethod method = entry.getValue();
          addMixinMethod(advisor, method, clazz, mixinInvokeMethod, hash.longValue());
          baseMethods.put(hash, method);
       }
@@ -396,7 +396,7 @@
       ArrayList<InterfaceIntroduction> pointcuts = advisor.getInterfaceIntroductions();
 
       if (pointcuts.size() == 0) return;
-      HashMap baseMethods = JavassistMethodHashing.getDeclaredMethodMap(clazz);
+      HashMap<Long, CtMethod> baseMethods = JavassistMethodHashing.getDeclaredMethodMap(clazz);
       Iterator<InterfaceIntroduction> it = pointcuts.iterator();
       if (it.hasNext()) setupBasics(clazz);
       while (it.hasNext())
@@ -429,10 +429,8 @@
            throws Exception
    {
       boolean changed = false;
-      Iterator it = advisor.getManager().getAnnotationIntroductions().iterator();
-      while (it.hasNext())
+      for (AnnotationIntroduction introduction : advisor.getManager().getAnnotationIntroductions())
       {
-         AnnotationIntroduction introduction = (AnnotationIntroduction) it.next();
          if (AspectManager.verbose && logger.isDebugEnabled()) logger.debug("**** " + introduction.getOriginalAnnotationExpr() + " invisible: " + introduction.isInvisible() + " expr: " + introduction.getOriginalExpression());
          if (introduction.matches(advisor, clazz))
          {
@@ -566,10 +564,8 @@
            throws Exception
    {
       boolean changed = false;
-      Iterator it = advisor.getManager().getAnnotationOverrides().iterator();
-      while (it.hasNext())
+      for (AnnotationIntroduction introduction : advisor.getManager().getAnnotationOverrides())
       {
-         AnnotationIntroduction introduction = (AnnotationIntroduction) it.next();
          if (introduction.matches(advisor, clazz))
          {
             advisor.getAnnotations().addClassAnnotation(introduction.getAnnotation().getIdentifier(), introduction.getOriginalAnnotationExpr());
@@ -662,7 +658,7 @@
 
             if (!manager.getInterceptionMarkers().shouldSkipFieldAccess(ref) && !ref.equals(clazz.getName()))
             {
-               List fields = getAdvisableFields(ctRef);
+               List<CtField> fields = getAdvisableFields(ctRef);
                if (fieldAccessTransformer.replaceFieldAccess(fields, ctRef, advisor))
                {
                   manager.getInterceptionMarkers().addFieldInterceptionMarker(ref);
@@ -734,6 +730,7 @@
          boolean constructorAccessConverted = false;
          converted = applyCallerPointcuts(clazz, advisor) || converted;
          methodExecutionTransformer.instrument(clazz, advisor);
+         @SuppressWarnings("unused")
          boolean constructionTransformation = constructionTransformer.insertConstructionInterception(clazz, advisor);
          constructorAccessConverted = constructorExecutionTransformer.transform(clazz, advisor);
          String classname = clazz.getName();
@@ -781,7 +778,7 @@
          // notifies dynamic transformation observer
          dynamicTransformationObserver.transformationFinished(clazz, converter);
 
-         synchronized(this.processedClasses)
+         synchronized(processedClasses)
          {
             processedClasses.add(clazz);
          }
@@ -824,9 +821,9 @@
    }
 
 
-   public List getConstructors(CtClass clazz)
+   public List<CtConstructor> getConstructors(CtClass clazz)
    {
-      List list = new ArrayList();
+      List<CtConstructor> list = new ArrayList<CtConstructor>();
 
       CtConstructor[] constructors = clazz.getDeclaredConstructors();
 
@@ -842,9 +839,9 @@
    /**
     * Gets sorted collection of advisable methods.
     */
-   public static List getAdvisableFields(CtClass clazz) throws NotFoundException
+   public static List<CtField> getAdvisableFields(CtClass clazz) throws NotFoundException
    {
-      List list = new ArrayList();
+      List<CtField> list = new ArrayList<CtField>();
       CtField[] fields = clazz.getDeclaredFields();
       for (int i = 0; i < fields.length; i++)
       {
@@ -943,16 +940,15 @@
     * @param joinpointUpdates a collection of <code>org.jboss.aop.instrument.JoinpointStatusUpdate</code>.
     * @param hotSwapper object capable of hot swapping classes.
     */
-   public synchronized void interceptorChainsUpdated(Collection joinpointUpdates, HotSwapper hotSwapper) {
+   public synchronized void interceptorChainsUpdated(Collection<JoinpointStatusUpdate> joinpointUpdates, HotSwapper hotSwapper) {
       //creates a converter
       this.converter = new CodeConverter();
       // list of instrumented classes
-      Collection classes = new HashSet();
+      Collection<CtClass> classes = new HashSet<CtClass>();
       try {
          // transform classes whose joinpont status have changed
-         for (Iterator iterator = joinpointUpdates.iterator(); iterator.hasNext(); )
+         for (JoinpointStatusUpdate update : joinpointUpdates)
          {
-            JoinpointStatusUpdate update = (JoinpointStatusUpdate) iterator.next();
             CtClass clazz = update.clazz;
             JoinpointStatusUpdate.ClassJoinpoints wrapTargets = update.newlyAdvisedJoinpoints;
             JoinpointStatusUpdate.ClassJoinpoints unwrapTargets = update.newlyUnadvisedJoinpoints;
@@ -972,12 +968,10 @@
          }
          // instrument classes that access the joinpoints whose status have changed, in
          // order to make this classes access the joinpoint wrapper instead
-         Collection conversionsRegistered = new HashSet();
-         synchronized(this.processedClasses)
+         synchronized(processedClasses)
          {
-            for (Iterator iterator2 = processedClasses.iterator(); iterator2.hasNext(); ) {
-
-               CtClass clazz = (CtClass) iterator2.next();
+            for (CtClass clazz : processedClasses) 
+            {
                if (manager.isNonAdvisableClassName(clazz.getName()) || ! isTransformable(clazz))
                {
                   continue;
@@ -1004,9 +998,8 @@
          constructorExecutionTransformer.codeConverted();
 
          // registers the classes bytecodes to be hot swapped
-         for (Iterator iterator = classes.iterator(); iterator.hasNext(); )
+         for (CtClass clazz : classes)
          {
-            CtClass clazz = (CtClass) iterator.next();
             AOPClassPool classPool = (AOPClassPool) clazz.getClassPool();
             clazz.defrost();
             hotSwapper.registerChange(classPool.getClassLoader().loadClass(clazz.getName()),
@@ -1039,10 +1032,9 @@
    private boolean replaceArrayAccess(CtClass clazz, Advisor advisor) throws Exception
    {
       boolean shouldReplaceArrayAccess = false;
-      Map arrayReplacements = manager.getArrayReplacements();
-      for (Iterator it = arrayReplacements.values().iterator() ; it.hasNext() ; )
+      Map<String, ArrayReplacement> arrayReplacements = manager.getArrayReplacements();
+      for (ArrayReplacement arrayReplacement : arrayReplacements.values())
       {
-         ArrayReplacement arrayReplacement = (ArrayReplacement)it.next();
          if (arrayReplacement.matches(advisor, clazz))
          {
             shouldReplaceArrayAccess = true;
@@ -1075,19 +1067,17 @@
     * dynamicaly wrapped.
     */
    public void convertProcessedClasses(HotSwapper hotSwapper, CtClass clazz,
-         Collection fieldReads, Collection fieldWrites, boolean constructor)
+         Collection<CtField> fieldReads, Collection<CtField> fieldWrites, boolean constructor)
    {
       AOPClassPool classPool = (AOPClassPool) clazz.getClassPool();
       CodeConverter codeConverter = new CodeConverter();
-      for (Iterator iterator = fieldReads.iterator(); iterator.hasNext(); )
+      for (CtField field : fieldReads)
       {
-         CtField field = (CtField) iterator.next();
-         codeConverter.replaceFieldRead(field, clazz, fieldAccessTransformer.fieldRead(field.getName()));
+         codeConverter.replaceFieldRead(field, clazz, FieldAccessTransformer.fieldRead(field.getName()));
       }
-      for (Iterator iterator = fieldWrites.iterator(); iterator.hasNext(); )
+      for (CtField field : fieldWrites)
       {
-         CtField field = (CtField) iterator.next();
-         codeConverter.replaceFieldWrite(field, clazz, fieldAccessTransformer.fieldWrite(field.getName()));
+         codeConverter.replaceFieldWrite(field, clazz, FieldAccessTransformer.fieldWrite(field.getName()));
       }
       if (constructor)
       {
@@ -1096,9 +1086,8 @@
 
       synchronized(processedClasses)
       {
-      for (Iterator iterator = processedClasses.iterator(); iterator.hasNext();)
+      for (CtClass processedClass : processedClasses)
       {
-         CtClass processedClass = (CtClass) iterator.next();
          if (processedClass == clazz)
             continue;
          if (processedClass.getRefClasses() == null ||
@@ -1154,23 +1143,23 @@
    {
       int size;
       int current;
-      ArrayList classes;
-      HashSet handledClasses;
+      ArrayList<String> classes;
+      HashSet<String> handledClasses;
       String currentEntry;
 
-      public ReferenceClassIterator(Collection refClasses)
+      public ReferenceClassIterator(Collection<String> refClasses)
       {
          size = refClasses.size();
-         classes = new ArrayList(refClasses.size());
+         classes = new ArrayList<String>(refClasses.size());
          classes.addAll(refClasses);
-         handledClasses = new HashSet(refClasses.size());
+         handledClasses = new HashSet<String>(refClasses.size());
       }
 
       boolean hasNext()
       {
          while (current < size)
          {
-            String s = (String) classes.get(current++);
+            String s = classes.get(current++);
             if (!handledClasses.contains(s))
             {
                handledClasses.add(s);

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/InstrumentorFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/InstrumentorFactory.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/InstrumentorFactory.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -40,9 +40,9 @@
    
    protected static InstrumentorEnum instrumentor; 
    
-   protected static Constructor otherInstrumentorConstructor;
+   protected static Constructor<?> otherInstrumentorConstructor;
    
-   private static final Class[] CONSTRUCTOR_SIG = new Class[] {AOPClassPool.class, AspectManager.class, JoinpointClassifier.class, DynamicTransformationObserver.class};
+   private static final Class<?>[] CONSTRUCTOR_SIG = new Class[] {AOPClassPool.class, AspectManager.class, JoinpointClassifier.class, DynamicTransformationObserver.class};
    
    public static void initialise(String property)
    {
@@ -67,7 +67,7 @@
             try
             {
                // FIXME ClassLoader - why should the class be visible from the context classloader?
-               Class otherInstrumentorClass = SecurityActions.getContextClassLoader().loadClass(property);
+               Class<?> otherInstrumentorClass = SecurityActions.getContextClassLoader().loadClass(property);
                otherInstrumentorConstructor = otherInstrumentorClass.getConstructor(CONSTRUCTOR_SIG);
                instrumentor = InstrumentorEnum.OTHER_INSTRUMENTOR;
             }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -65,7 +65,6 @@
 import org.jboss.aop.util.ReflectToJavassist;
 import org.jboss.aop.util.logging.AOPLogger;
 import org.jboss.logging.Logger;
-import org.jboss.util.loading.Translatable;
 
 /**
  * Creates the Joinpoint invocation replacement classes used with Generated advisors
@@ -120,13 +119,12 @@
    
    private JoinPointParameters parameters;
    private static int increment;
-   private Class advisorClass;
+   private Class<?> advisorClass;
    private String baseJoinPointClassName;
    protected String joinpointClassName;
    protected String joinpointFieldName;
    private String joinpointFqn;
    private Field joinpointField;
-   private boolean initialised;
    
    private ThreadLocal<Set<Integer>> inconsistentTypeArgs;
    
@@ -156,7 +154,7 @@
       // this.advisor = advisor;
       this.advisorClass = advisor.getClass();
       this.nullArgsArray = nullArgsArray;
-      Class[] interfaces = advisorClass.getInterfaces();
+      Class<?>[] interfaces = advisorClass.getInterfaces();
       
       for (int i = 0 ; i < interfaces.length ; i++)
       {
@@ -272,8 +270,8 @@
 
          //Attempt to get the cached information so we don't have to recreate the class every time we rebind the joinpoint
          String infoAdviceString = info.getAdviceString();
-         GeneratedClassInfo generatedClass = (GeneratedClassInfo) generatedJoinPointClassCache.get(infoAdviceString);
-         Class clazz = null;
+         GeneratedClassInfo generatedClass = generatedJoinPointClassCache.get(infoAdviceString);
+         Class<?> clazz = null;
          if (generatedClass != null)
          {
             clazz = classloader.loadClass(generatedClass.getGenerated().getName());
@@ -299,7 +297,6 @@
             SecurityActions.setAccessible(field);
             field.set(obj, Boolean.TRUE);
          }
-         initialised = true;
          return obj;
       }
       catch (NoMatchingAdviceException e)
@@ -322,14 +319,14 @@
       }
    }
 
-   private Class toClass(ClassPool pool, CtClass ctclass, ProtectionDomain pd) throws NotFoundException, CannotCompileException, ClassNotFoundException
+   private Class<?> toClass(ClassPool pool, CtClass ctclass, ProtectionDomain pd) throws NotFoundException, CannotCompileException, ClassNotFoundException
    {
       return TransformerCommon.toClass(ctclass, pd);
    }
    
-   private Object instantiateClass(Class clazz, AdviceSetup[] aroundSetups, JoinPointInfo info) throws Exception
+   private Object instantiateClass(Class<?> clazz, AdviceSetup[] aroundSetups, JoinPointInfo info) throws Exception
    {
-      Constructor ctor = clazz.getConstructor(new Class[] {info.getClass()});
+      Constructor<?> ctor = clazz.getConstructor(new Class[] {info.getClass()});
       Object obj;
       try
       {
@@ -358,7 +355,7 @@
       return obj;
    }
     
-   private StringBuffer debugClass(StringBuffer sb, Class clazz)
+   private StringBuffer debugClass(StringBuffer sb, Class<?> clazz)
    {
       sb.append("\n\t\t" + Modifier.toString(clazz.getModifiers()) + " " + clazz.getName() + " " + clazz.getClassLoader()); 
       Field[] fields = clazz.getDeclaredFields();
@@ -367,7 +364,7 @@
          sb.append("\n\t\t\t" + Modifier.toString(fields[i].getModifiers()) + " " + fields[i].getType().getName() + " " + fields[i].getName() + " " + fields[i].getType().getClassLoader());
       }
      
-     Class superClass = clazz.getSuperclass();
+     Class<?> superClass = clazz.getSuperclass();
      if (superClass != null && superClass != Object.class)
      {
         sb.append("\n\t\t\textends\n");
@@ -444,7 +441,7 @@
       return baseJoinPointClassName + getIncrement() + "$aop";
    }
 
-   private void createInitialisePerInstanceAspectsMethod(CtClass clazz, AdviceSetups setups, Class advisedClass) throws CannotCompileException, NotFoundException
+   private void createInitialisePerInstanceAspectsMethod(CtClass clazz, AdviceSetups setups, Class<?> advisedClass) throws CannotCompileException, NotFoundException
    {
       if (setups.hasLightweightAdvicesRequiringInstanceAdvisor())
       {
@@ -477,7 +474,7 @@
    }
    
    protected abstract boolean isVoid();
-   protected abstract Class getReturnClassType(); 
+   protected abstract Class<?> getReturnClassType(); 
    protected abstract AdviceMethodProperties getAdviceMethodProperties(JoinPointBean info, AdviceSetup setup);
    
    protected boolean isCaller()
@@ -510,7 +507,7 @@
       {
          return;
       }
-      Class advisorClass = null;
+      Class<?> advisorClass = null;
       if (info.getAdvisor().getClazz().equals(info.getClazz()))
       {
          // short cut, avoid cost of else block
@@ -722,7 +719,7 @@
       if (!isVoid())
       {
          String ret = null;
-         Class retType = getReturnClassType();
+         Class<?> retType = getReturnClassType();
          if (retType.isPrimitive())
          {
             if (retType.equals(Boolean.TYPE)) ret = "false";
@@ -940,19 +937,19 @@
       code.append(");");
    }
    
-   private void addHandleExceptionCode(StringBuffer code, CtClass[] declaredExceptions)
-   {
-      for (int i = 0 ; i < declaredExceptions.length ; i++)
-      {
-         code.append("if (t instanceof " + declaredExceptions[i].getName() + ")");
-         code.append("   throw (" + declaredExceptions[i].getName() + ")t;");
-      }
-      
-      code.append("if (t instanceof java.lang.RuntimeException)");
-      code.append(   "throw t;");
-      
-      code.append("throw new java.lang.RuntimeException(t);");
-   }
+//   private void addHandleExceptionCode(StringBuffer code, CtClass[] declaredExceptions)
+//   {
+//      for (int i = 0 ; i < declaredExceptions.length ; i++)
+//      {
+//         code.append("if (t instanceof " + declaredExceptions[i].getName() + ")");
+//         code.append("   throw (" + declaredExceptions[i].getName() + ")t;");
+//      }
+//      
+//      code.append("if (t instanceof java.lang.RuntimeException)");
+//      code.append(   "throw t;");
+//      
+//      code.append("throw new java.lang.RuntimeException(t);");
+//   }
 
    private void createInvokeNextMethod(CtClass jp, boolean isVoid, AdviceSetups setups, JoinPointInfo info) throws NotFoundException, CannotCompileException
    {
@@ -1162,7 +1159,7 @@
       StringBuffer init = new StringBuffer();
       for (int i = 0 ; i < aspects.size() ; i++)
       {
-         AdviceSetup setup = (AdviceSetup)aspects.get(i);
+         AdviceSetup setup = aspects.get(i);
          params[i + superParams.length] = setup.getAspectCtClass();
          init.append("this." + setup.getAspectFieldName() + " = $" + (i + superParams.length + 1) + ";");
       }
@@ -1357,10 +1354,10 @@
    protected class AdviceSetup
    {
       int index;
-      Class aspectClass;
+      Class<?> aspectClass;
       CtClass aspectCtClass;
       String adviceName;
-      Class thrownType;
+      Class<?> thrownType;
       Scope scope;
       String registeredName;
       String cflowString;
@@ -1398,7 +1395,7 @@
       }
       
       
-      Class getAspectClass()
+      Class<?> getAspectClass()
       {
          return aspectClass;
       }
@@ -1719,7 +1716,7 @@
          boolean argsFound = false;
          if (args.length > 0)
          {
-            final Class[] adviceParams = properties.getAdviceMethod().getParameterTypes();
+            final Class<?>[] adviceParams = properties.getAdviceMethod().getParameterTypes();
             if (properties.isAdviceOverloaded())
             {
                appendCast(call, adviceParams[0]);
@@ -1743,7 +1740,7 @@
       }
       
       protected boolean appendParameter(StringBuffer beforeCall, StringBuffer call,
-            final int arg, final Class adviceParam, AdviceMethodProperties properties,
+            final int arg, final Class<?> adviceParam, AdviceMethodProperties properties,
             JoinPointGenerator generator)
       {
          switch(arg)
@@ -1809,7 +1806,7 @@
          return false;
       }
       
-      protected void appendCast(StringBuffer call, Class adviceParam)
+      protected void appendCast(StringBuffer call, Class<?> adviceParam)
       {
          call.append("(");
          call.append(ClassExpression.simpleType(adviceParam));
@@ -1900,7 +1897,6 @@
       {
          // method that avoids more than one repeated call to ENFORCE_ARGS_CONSISTENCY
          this.consistencyEnforced = false;
-         int[] args = properties.getArgs();
          
          call.append("   ");
          call.append(returnStr);
@@ -1911,7 +1907,7 @@
       }
       
       protected boolean appendParameter(StringBuffer beforeCall, StringBuffer call,
-            final int arg, final Class adviceParam,
+            final int arg, final Class<?> adviceParam,
             AdviceMethodProperties properties, JoinPointGenerator generator)
       {
          switch(arg)

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinpointClassification.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinpointClassification.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinpointClassification.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -62,7 +62,7 @@
 
    /** The classification description */
    private String description;
-   private boolean dynamicAop;
+   //private boolean dynamicAop;
    private JoinpointClassification counterPart;
    
    /**
@@ -71,7 +71,7 @@
     */
    private JoinpointClassification(String description) {
       this.description = description;
-      this.dynamicAop = false;
+      //this.dynamicAop = false;
    }
 
    /**
@@ -81,7 +81,7 @@
    private JoinpointClassification(JoinpointClassification counterpart, String description) {
       this(description);
       this.counterPart = counterpart;
-      this.dynamicAop = true;
+      //this.dynamicAop = true;
    }
    
    /**

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinpointFullClassifier.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinpointFullClassifier.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinpointFullClassifier.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -22,7 +22,6 @@
 package org.jboss.aop.instrument;
 
 import java.util.Collection;
-import java.util.Iterator;
 
 import javassist.CtMember;
 import javassist.NotFoundException;
@@ -58,11 +57,9 @@
    protected JoinpointClassification classifyJoinpoint(CtMember member, Advisor advisor, Matcher joinpointMatcher) throws NotFoundException
    {
       JoinpointClassification classification = JoinpointClassification.NOT_INSTRUMENTED;
-      Collection pointcuts = advisor.getManager().getPointcutInfos().values();
-      boolean dynamicAop = true;
-      for (Iterator it = pointcuts.iterator(); it.hasNext(); )
+      Collection<PointcutInfo> pointcuts = advisor.getManager().getPointcutInfos().values();
+      for (PointcutInfo pointcutInfo : pointcuts)
       {
-         PointcutInfo pointcutInfo = (PointcutInfo) it.next();
          // won't check matching of preparation pointcuts unnecessarily
          if (classification == JoinpointClassification.PREPARED && pointcutInfo.getBinding() == null)
          {

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinpointSimpleClassifier.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinpointSimpleClassifier.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinpointSimpleClassifier.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -22,7 +22,6 @@
 package org.jboss.aop.instrument;
 
 import java.util.Collection;
-import java.util.Iterator;
 
 import javassist.CtMember;
 import javassist.NotFoundException;
@@ -59,13 +58,11 @@
     */
    protected JoinpointClassification classifyJoinpoint(CtMember member, Advisor advisor, Matcher joinpointMatcher) throws NotFoundException
    {
-      Collection pointcuts = advisor.getManager().getPointcuts().values();
+      Collection<Pointcut> pointcuts = advisor.getManager().getPointcuts().values();
       synchronized (pointcuts)
       {
-         for (Iterator it = pointcuts.iterator(); it.hasNext(); )
+         for (Pointcut pointcut : pointcuts)
          {
-            Pointcut pointcut = (Pointcut) it.next();
-   
             if (joinpointMatcher.matches(pointcut, advisor, member))
             {
                if (AspectManager.verbose && logger.isDebugEnabled())

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodByConJoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodByConJoinPointGenerator.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodByConJoinPointGenerator.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -47,8 +47,8 @@
 {
    public static final String JOINPOINT_CLASS_PREFIX = JoinPointGenerator.JOINPOINT_CLASS_PREFIX + "MByC_";
    public static final String JOINPOINT_FIELD_PREFIX = JoinPointGenerator.JOINPOINT_FIELD_PREFIX + "MByC_";
-   private static final Class INVOCATION_TYPE = MethodCalledByConstructorInvocation.class;
-   private static final Class JOINPOINT_TYPE = MethodCallByConstructor.class;
+   private static final Class<MethodCalledByConstructorInvocation> INVOCATION_TYPE = MethodCalledByConstructorInvocation.class;
+   private static final Class<MethodCallByConstructor> JOINPOINT_TYPE = MethodCallByConstructor.class;
    
    private static final CtClass INVOCATION_CT_TYPE;
    static
@@ -121,7 +121,7 @@
       return getReturnClassType() == null;
    }
 
-   protected Class getReturnClassType()
+   protected Class<?> getReturnClassType()
    {
       if (returnType == null)
       {

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodByMethodJoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodByMethodJoinPointGenerator.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodByMethodJoinPointGenerator.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -47,8 +47,8 @@
 {
    public static final String JOINPOINT_CLASS_PREFIX = JoinPointGenerator.JOINPOINT_CLASS_PREFIX + "MByM_";
    public static final String JOINPOINT_FIELD_PREFIX = JoinPointGenerator.JOINPOINT_FIELD_PREFIX + "MByM_";
-   private static final Class JOINPOINT_TYPE = MethodCallByMethod.class;
-   private static final Class INVOCATION_TYPE = MethodCalledByMethodInvocation.class;
+   private static final Class<MethodCallByMethod> JOINPOINT_TYPE = MethodCallByMethod.class;
+   private static final Class<MethodCalledByMethodInvocation> INVOCATION_TYPE = MethodCalledByMethodInvocation.class;
    private static final CtClass INVOCATION_CT_TYPE;
    static
    {
@@ -130,7 +130,7 @@
       return getReturnClassType() == null;
    }
 
-   protected Class getReturnClassType()
+   protected Class<?> getReturnClassType()
    {
       if (returnType == null)
       {

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodExecutionTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodExecutionTransformer.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodExecutionTransformer.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -24,7 +24,6 @@
 import java.lang.reflect.Method;
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.Iterator;
 
 import javassist.CannotCompileException;
 import javassist.CtClass;
@@ -157,14 +156,13 @@
     * @param constructorIndexes a collection of <code>org.jboss.aop.MethodInfo</code> indentifying
     *                           the methods to be wrapped.
     */
-   public void wrap(CtClass clazz, Collection methodInfos) throws Exception
+   public void wrap(CtClass clazz, Collection<org.jboss.aop.MethodInfo> methodInfos) throws Exception
    {
-      for (Iterator iterator = methodInfos.iterator(); iterator.hasNext();)
+      for (org.jboss.aop.MethodInfo methodInfo : methodInfos)
       {
-         org.jboss.aop.MethodInfo methodInfo = (org.jboss.aop.MethodInfo) iterator.next();
          Method method = methodInfo.getMethod();
          AOPClassPool classPool = (AOPClassPool) clazz.getClassPool();
-         Class[] parameterTypes = method.getParameterTypes();
+         Class<?>[] parameterTypes = method.getParameterTypes();
          CtClass[] javassistParameterTypes = new CtClass[parameterTypes.length];
          for (int i = 0; i < parameterTypes.length; i++)
          {
@@ -204,14 +202,13 @@
     * @param constructorIndexes a collection of <code>org.jboss.aop.MethodInfo</code> indentifying
     *                           the methods to be unwrapped.
     */
-   public void unwrap(CtClass clazz, Collection methodInfos) throws Exception
+   public void unwrap(CtClass clazz, Collection<org.jboss.aop.MethodInfo> methodInfos) throws Exception
    {
-      for (Iterator iterator = methodInfos.iterator(); iterator.hasNext();)
+      for (org.jboss.aop.MethodInfo methodInfo : methodInfos)
       {
-         org.jboss.aop.MethodInfo methodInfo = (org.jboss.aop.MethodInfo) iterator.next();
          Method method = methodInfo.getMethod();
          AOPClassPool classPool = (AOPClassPool) clazz.getClassPool();
-         Class[] parameterTypes = method.getParameterTypes();
+         Class<?>[] parameterTypes = method.getParameterTypes();
          CtClass[] javassistParameterTypes = new CtClass[parameterTypes.length];
          for (int i = 0; i < parameterTypes.length; i++)
          {
@@ -249,7 +246,9 @@
       AnnotationsAttribute attribute = (AnnotationsAttribute) src.getAttribute(annotationTag);
       if (attribute != null)
       {
-         dest.addAttribute(attribute.copy(dest.getConstPool(), new HashMap()));
+         @SuppressWarnings("unchecked")
+         HashMap map = new HashMap();
+         dest.addAttribute(attribute.copy(dest.getConstPool(), map));
          src.addAttribute(new AnnotationsAttribute(src.getConstPool(), annotationTag));
       }
    }
@@ -259,7 +258,9 @@
       ParameterAnnotationsAttribute params = (ParameterAnnotationsAttribute)src.getAttribute(paramsTag);
       if (params != null)
       {
-         dest.addAttribute(params.copy(dest.getConstPool(), new HashMap()));
+         @SuppressWarnings("unchecked")
+         HashMap map = new HashMap();
+         dest.addAttribute(params.copy(dest.getConstPool(), map));
          ParameterAnnotationsAttribute srcParams = new ParameterAnnotationsAttribute(src.getConstPool(), paramsTag);
          Annotation[][] emptyParamAnnotations = new Annotation[numParams][];
          for (int i = 0 ; i < numParams ; i++)
@@ -276,7 +277,9 @@
       SignatureAttribute attribute = (SignatureAttribute) src.getAttribute(SignatureAttribute.tag);
       if (attribute != null)
       {
-         dest.addAttribute(attribute.copy(dest.getConstPool(), new HashMap()));
+         @SuppressWarnings("unchecked")
+         HashMap map = new HashMap();
+         dest.addAttribute(attribute.copy(dest.getConstPool(), map));
       }
    }
    

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodJoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodJoinPointGenerator.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/MethodJoinPointGenerator.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -50,8 +50,8 @@
  */
 public class MethodJoinPointGenerator extends JoinPointGenerator
 {
-   private static final Class INVOCATION_TYPE = MethodInvocation.class;
-   private static final Class JOINPOINT_TYPE = MethodExecution.class;
+   private static final Class<MethodInvocation> INVOCATION_TYPE = MethodInvocation.class;
+   private static final Class<MethodExecution> JOINPOINT_TYPE = MethodExecution.class;
    private static final CtClass INVOCATION_CT_TYPE;
 
    static
@@ -120,7 +120,7 @@
       return getReturnClassType() == null;
    }
 
-   protected Class getReturnClassType()
+   protected Class<?> getReturnClassType()
    {
       if (returnType == null)
       {

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedCallerTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedCallerTransformer.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedCallerTransformer.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -122,7 +122,7 @@
 
       protected void replaceMethodCallInCon(ConstructorDetail cd)throws CannotCompileException, NotFoundException
       {
-         String invocationClassName = (String) callerInfos.get(cd.callerInfoField);
+         String invocationClassName = callerInfos.get(cd.callerInfoField);
          String typedTargetObject = javassist.Modifier.isStatic(cd.calledMethod.getModifiers()) ? "" : "invocation.typedTargetObject=$0;";
    
          String replaced =
@@ -149,7 +149,7 @@
             callingObject = ", this";
          }
 
-         String invocationClassName = (String) callerInfos.get(md.callerInfoField);
+         String invocationClassName = callerInfos.get(md.callerInfoField);
          String typedTargetObject = javassist.Modifier.isStatic(md.calledMethod.getModifiers()) ? "" : "invocation.typedTargetObject=$0;";
 
          String replaced =
@@ -183,7 +183,7 @@
             callingObject = "this";
          }
 
-         String invocationClassName = (String) callerInfos.get(cd.callerInfoField);
+         String invocationClassName = callerInfos.get(cd.callerInfoField);
          String replaced =
          conByMethodInfoFromWeakReference("info", cd.callerInfoField) +
          "if (info.getInterceptors() != (org.jboss.aop.advice.Interceptor[])null) { " +
@@ -208,7 +208,7 @@
             super.replaceConCallInCon(cd);
             return;
          }
-         String invocationClassName = (String) callerInfos.get(cd.callerInfoField);
+         String invocationClassName = callerInfos.get(cd.callerInfoField);
 
          String replaced =
          conByConInfoFromWeakReference("info", cd.callerInfoField) +

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructionInvocations.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructionInvocations.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructionInvocations.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -27,7 +27,6 @@
 import javassist.CtMethod;
 import javassist.CtNewConstructor;
 import javassist.CtNewMethod;
-import javassist.Modifier;
 
 import org.jboss.aop.classpool.AOPClassPool;
 

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructorInvocations.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructorInvocations.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructorInvocations.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -27,7 +27,6 @@
 import javassist.CtMethod;
 import javassist.CtNewConstructor;
 import javassist.CtNewMethod;
-import javassist.Modifier;
 import javassist.NotFoundException;
 
 import org.jboss.aop.classpool.AOPClassPool;

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/SecurityActions.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/SecurityActions.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/SecurityActions.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -27,8 +27,6 @@
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
 
-import org.jboss.aop.hook.SecurityActions.GetContextClassLoaderAction;
-
 /**
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
@@ -46,7 +44,7 @@
          {
             try
             {
-               AccessController.doPrivileged(new PrivilegedExceptionAction()
+               AccessController.doPrivileged(new PrivilegedExceptionAction<Object>()
                {
                   public Object run() throws Exception
                   {

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/TransformerCommon.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/TransformerCommon.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/TransformerCommon.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -119,7 +119,7 @@
       }
    }
 
-   public static Class toClass(CtClass newClass, ProtectionDomain pd) throws CannotCompileException
+   public static Class<?> toClass(CtClass newClass, ProtectionDomain pd) throws CannotCompileException
    {
       registerGeneratedClass(newClass);
 
@@ -133,7 +133,7 @@
       }
    }
 
-   public static Class toClass(CtClass newClass, ClassLoader loader, ProtectionDomain pd)
+   public static Class<?> toClass(CtClass newClass, ClassLoader loader, ProtectionDomain pd)
       throws CannotCompileException
    {
       registerGeneratedClass(newClass);
@@ -247,19 +247,19 @@
 
    private interface ToClassAction
    {
-      Class toClass(CtClass clazz, ClassLoader loader, ProtectionDomain pd)
+      Class<?> toClass(CtClass clazz, ClassLoader loader, ProtectionDomain pd)
          throws CannotCompileException;
 
       ToClassAction PRIVILEGED = new ToClassAction()
       {
-         public Class toClass(final CtClass clazz, final ClassLoader loader, final ProtectionDomain pd)
+         public Class<?> toClass(final CtClass clazz, final ClassLoader loader, final ProtectionDomain pd)
             throws CannotCompileException
          {
             try
             {
-               return (Class)AccessController.doPrivileged(new PrivilegedExceptionAction()
+               return AccessController.doPrivileged(new PrivilegedExceptionAction<Class<?>>()
                {
-                  public Object run() throws Exception
+                  public Class<?> run() throws Exception
                   {
                      if (AspectManager.debugClasses)
                      {
@@ -283,7 +283,7 @@
 
       ToClassAction NON_PRIVILEGED = new ToClassAction()
       {
-         public Class toClass(CtClass clazz, ClassLoader loader, ProtectionDomain pd)
+         public Class<?> toClass(CtClass clazz, ClassLoader loader, ProtectionDomain pd)
             throws CannotCompileException
          {
             if (AspectManager.debugClasses)

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ClassProxyFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ClassProxyFactory.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ClassProxyFactory.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -28,7 +28,6 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.WeakHashMap;
@@ -59,7 +58,7 @@
    private static Object maplock = new Object();
    private static WeakValueHashMap<String, Class<?>> classnameMap = new WeakValueHashMap<String, Class<?>>();
    private static WeakHashMap<Class<?>, WeakReference<Class<?>>> proxyCache = new WeakHashMap<Class<?>, WeakReference<Class<?>>>();
-   private static WeakHashMap methodMapCache = new WeakHashMap();
+   private static WeakHashMap<Class<?>, Map<Long, MethodPersistentReference>> methodMapCache = new WeakHashMap<Class<?>, Map<Long, MethodPersistentReference>>();
 
    public static ClassProxy newInstance(Class<?> clazz) throws Exception
    {
@@ -90,16 +89,16 @@
             proxyClass = generateProxy(clazz, mixins);
             classnameMap.put(clazz.getName(), proxyClass);
             proxyCache.put(clazz, new WeakReference<Class<?>>(proxyClass));
-            HashMap map = methodMap(clazz);
+            HashMap<Long, MethodPersistentReference> map = methodMap(clazz);
             methodMapCache.put(proxyClass, map);
          }
       }
       return proxyClass;
    }
 
-   public static ClassProxy newInstance(Class clazz, ProxyMixin[] mixins, InstanceAdvisor advisor) throws Exception
+   public static ClassProxy newInstance(Class<?> clazz, ProxyMixin[] mixins, InstanceAdvisor advisor) throws Exception
    {
-      Class proxyClass = getProxyClass(clazz, mixins);
+      Class<?> proxyClass = getProxyClass(clazz, mixins);
       ClassProxy proxy = (ClassProxy) proxyClass.newInstance();
       proxy.setMixins(mixins);
       proxy._setInstanceAdvisor(advisor);
@@ -107,19 +106,19 @@
 
    }
 
-   public static HashMap getMethodMap(String classname)
+   public static HashMap<Long, MethodPersistentReference> getMethodMap(String classname)
    {
       synchronized (maplock)
       {
-         Class clazz = (Class) classnameMap.get(classname);
+         Class<?> clazz = classnameMap.get(classname);
          if (clazz == null) return null;
-         return (HashMap) methodMapCache.get(clazz);
+         return (HashMap<Long, MethodPersistentReference>) methodMapCache.get(clazz);
       }
    }
 
-   public static HashMap getMethodMap(Class clazz)
+   public static HashMap<Long, MethodPersistentReference> getMethodMap(Class<?> clazz)
    {
-      HashMap map = getMethodMap(clazz.getName());
+      HashMap<Long, MethodPersistentReference> map = getMethodMap(clazz.getName());
       if (map != null) return map;
       try
       {
@@ -133,7 +132,7 @@
 
    private static int counter = 0;
 
-   private static CtClass createProxyCtClass(ProxyMixin[] mixins, Class clazz)
+   private static CtClass createProxyCtClass(ProxyMixin[] mixins, Class<?> clazz)
    throws Exception
    {
       ClassPool pool = AspectManager.instance().findClassPool(clazz.getClassLoader());
@@ -234,14 +233,14 @@
       getMethodMap.setModifiers(Modifier.PUBLIC);
       proxy.addMethod(getMethodMap);
 
-      HashSet addedInterfaces = new HashSet();
-      HashSet addedMethods = new HashSet();
+      HashSet<String> addedInterfaces = new HashSet<String>();
+      HashSet<Long> addedMethods = new HashSet<Long>();
       if (mixins != null)
       {
          for (int i = 0; i < mixins.length; i++)
          {
-            HashSet mixinMethods = new HashSet();
-            Class[] mixinf = mixins[i].getInterfaces();
+            HashSet<Long> mixinMethods = new HashSet<Long>();
+            Class<?>[] mixinf = mixins[i].getInterfaces();
             ClassPool mixPool = AspectManager.instance().findClassPool(mixins[i].getMixin().getClass().getClassLoader());
             CtClass mixClass = mixPool.get(mixins[i].getMixin().getClass().getName());
             for (int j = 0; j < mixinf.length; j++)
@@ -274,16 +273,14 @@
          }
       }
 
-      HashMap allMethods = JavassistMethodHashing.getMethodMap(superclass);
+      HashMap<Long, CtMethod> allMethods = JavassistMethodHashing.getMethodMap(superclass);
 
-      Iterator it = allMethods.entrySet().iterator();
-      while (it.hasNext())
+      for (Map.Entry<Long, CtMethod> entry : allMethods.entrySet())
       {
-         Map.Entry entry = (Map.Entry) it.next();
-         CtMethod m = (CtMethod) entry.getValue();
+         CtMethod m = entry.getValue();
          if (!Modifier.isPublic(m.getModifiers()) || Modifier.isStatic(m.getModifiers())) continue;
 
-         Long hash = (Long) entry.getKey();
+         Long hash = entry.getKey();
          if (addedMethods.contains(hash)) continue;
          addedMethods.add(hash);
          String aopReturnStr = (m.getReturnType().equals(CtClass.voidType)) ? "" : "return ($r)";
@@ -306,19 +303,19 @@
       return proxy;
    }
 
-   private static Class generateProxy(Class clazz, ProxyMixin[] mixins) throws Exception
+   private static Class<?> generateProxy(Class<?> clazz, ProxyMixin[] mixins) throws Exception
    {
       CtClass proxy = createProxyCtClass(mixins, clazz);
       ProtectionDomain pd = clazz.getProtectionDomain();
-      Class proxyClass = TransformerCommon.toClass(proxy, pd);
-      Map methodmap = ClassProxyFactory.getMethodMap(proxyClass); 
+      Class<?> proxyClass = TransformerCommon.toClass(proxy, pd);
+      Map<Long, MethodPersistentReference> methodmap = ClassProxyFactory.getMethodMap(proxyClass); 
       Field field = proxyClass.getDeclaredField("methodMap");
       SecurityActions.setAccessible(field);
       field.set(null, methodmap);
       return proxyClass;
    }
 
-   private static void populateMethodTables(HashMap<Long, MethodPersistentReference> advised, List ignoredHash, Class superclass)
+   private static void populateMethodTables(HashMap<Long, MethodPersistentReference> advised, List<Long> ignoredHash, Class<?> superclass)
    throws Exception
    {
       if (superclass == null) return;
@@ -354,7 +351,7 @@
    throws Exception
    {
       HashMap<Long, MethodPersistentReference> methods = new HashMap<Long, MethodPersistentReference>();
-      List ignoredHash = new ArrayList();
+      List<Long> ignoredHash = new ArrayList<Long>();
       populateMethodTables(methods, ignoredHash, clazz);
       return methods;
    }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ClassProxyTemplate.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ClassProxyTemplate.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ClassProxyTemplate.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -45,7 +45,7 @@
 
    public void _setInstanceAdvisor(org.jboss.aop.InstanceAdvisor newAdvisor)
    {
-      instanceAdvisor = (org.jboss.aop.ClassInstanceAdvisor) newAdvisor;
+      instanceAdvisor = newAdvisor;
    }
 
    public org.jboss.aop.joinpoint.InvocationResponse _dynamicInvoke(org.jboss.aop.joinpoint.Invocation invocation)

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/MarshalledClassProxy.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/MarshalledClassProxy.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/MarshalledClassProxy.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -36,7 +36,7 @@
 {
    static final long serialVersionUID = 4049171769644464715L;
 
-   private Class clazz;
+   private Class<?> clazz;
    private ProxyMixin[] mixins;
    private InstanceAdvisor advisor;
 
@@ -44,7 +44,7 @@
    {
    }
 
-   public MarshalledClassProxy(Class clazz, ProxyMixin[] mixins, InstanceAdvisor advisor)
+   public MarshalledClassProxy(Class<?> clazz, ProxyMixin[] mixins, InstanceAdvisor advisor)
    {
       this.clazz = clazz;
       this.advisor = advisor;

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/MarshalledInterfaceProxy.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/MarshalledInterfaceProxy.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/MarshalledInterfaceProxy.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -37,7 +37,7 @@
 {
    static final long serialVersionUID = -7939451715003985857L;
 
-   private Class[] interfaces;
+   private Class<?>[] interfaces;
    private ProxyMixin[] mixins;
    private InstanceAdvisor advisor;
    private GUID guid;
@@ -46,7 +46,7 @@
    {
    }
 
-   public MarshalledInterfaceProxy(GUID guid, Class[] intfs, ProxyMixin[] mixins, InstanceAdvisor advisor)
+   public MarshalledInterfaceProxy(GUID guid, Class<?>[] intfs, ProxyMixin[] mixins, InstanceAdvisor advisor)
    {
       this.guid = guid;
       this.advisor = advisor;

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/MethodMapped.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/MethodMapped.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/MethodMapped.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -23,6 +23,8 @@
 
 import java.util.Map;
 
+import org.jboss.aop.util.reference.MethodPersistentReference;
+
 /**
  * Comment
  *
@@ -31,5 +33,5 @@
  */
 public interface MethodMapped
 {
-   public Map getMethodMap();
+   public Map<Long, MethodPersistentReference> getMethodMap();
 }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/Proxy.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/Proxy.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/Proxy.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -22,6 +22,7 @@
 package org.jboss.aop.proxy;
 
 import org.jboss.aop.InstanceAdvised;
+import org.jboss.aop.util.reference.MethodPersistentReference;
 import org.jboss.util.id.GUID;
 
 import java.io.ObjectStreamException;
@@ -37,7 +38,7 @@
 
    public org.jboss.aop.InstanceAdvisor instanceAdvisor;
    public org.jboss.aop.proxy.ProxyMixin[] mixins;
-   public Class[] interfaces;
+   public Class<?>[] interfaces;
    public GUID guid;
 
    public org.jboss.aop.InstanceAdvisor _getInstanceAdvisor()
@@ -47,7 +48,7 @@
 
    public void _setInstanceAdvisor(org.jboss.aop.InstanceAdvisor newAdvisor)
    {
-      instanceAdvisor = (org.jboss.aop.ClassInstanceAdvisor) newAdvisor;
+      instanceAdvisor = newAdvisor;
    }
 
    public org.jboss.aop.joinpoint.InvocationResponse _dynamicInvoke(org.jboss.aop.joinpoint.Invocation invocation)
@@ -63,6 +64,6 @@
       return new MarshalledInterfaceProxy(guid, interfaces, mixins, instanceAdvisor);
    }
 
-   public abstract Map getMethodMap();
+   public abstract Map<Long, MethodPersistentReference> getMethodMap();
 
 }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyFactory.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyFactory.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -32,6 +32,7 @@
 import org.jboss.aop.InstanceAdvisor;
 import org.jboss.aop.instrument.TransformerCommon;
 import org.jboss.aop.util.JavassistMethodHashing;
+import org.jboss.aop.util.reference.MethodPersistentReference;
 import org.jboss.util.collection.WeakValueHashMap;
 import org.jboss.util.id.GUID;
 
@@ -49,11 +50,11 @@
 public class ProxyFactory
 {
    private static long counter = 0;
-   private static WeakValueHashMap proxyCache = new WeakValueHashMap();
+   private static WeakValueHashMap<GUID, Class<?>> proxyCache = new WeakValueHashMap<GUID, Class<?>>();
 
-   public static Proxy createInterfaceProxy(ClassLoader loader, Class[] interfaces, ProxyMixin[] mixins, InstanceAdvisor advisor) throws Exception
+   public static Proxy createInterfaceProxy(ClassLoader loader, Class<?>[] interfaces, ProxyMixin[] mixins, InstanceAdvisor advisor) throws Exception
    {
-      Class clazz = createProxyClass(loader, mixins, interfaces);
+      Class<?> clazz = createProxyClass(loader, mixins, interfaces);
 
       Proxy instance = (Proxy) clazz.newInstance();
       instance.instanceAdvisor = advisor;
@@ -69,22 +70,22 @@
       return instance;
    }
 
-   public static Class getProxyClass(GUID guid)
+   public static Class<?> getProxyClass(GUID guid)
    {
       synchronized (proxyCache)
       {
-         return (Class) proxyCache.get(guid);
+         return proxyCache.get(guid);
       }
    }
 
-   public static Proxy createInterfaceProxy(GUID guid, ClassLoader loader, Class[] interfaces) throws Exception
+   public static Proxy createInterfaceProxy(GUID guid, ClassLoader loader, Class<?>[] interfaces) throws Exception
    {
       return createInterfaceProxy(guid, loader, interfaces, null, new ClassInstanceAdvisor());
    }
 
-   public static Proxy createInterfaceProxy(GUID guid, ClassLoader loader, Class[] interfaces, ProxyMixin[] mixins, InstanceAdvisor advisor) throws Exception
+   public static Proxy createInterfaceProxy(GUID guid, ClassLoader loader, Class<?>[] interfaces, ProxyMixin[] mixins, InstanceAdvisor advisor) throws Exception
    {
-      Class clazz = getProxyClass(guid);
+      Class<?> clazz = getProxyClass(guid);
       boolean wasFound = true;
       if (clazz == null)
       {
@@ -109,28 +110,27 @@
       return instance;
    }
 
-   private static Class createProxyClass(ClassLoader loader, ProxyMixin[] mixins, Class[] interfaces)
+   private static Class<?> createProxyClass(ClassLoader loader, ProxyMixin[] mixins, Class<?>[] interfaces)
    throws Exception
    {
       CtClass proxy = createProxyCtClass(loader, mixins, interfaces);
       // Choose the first non-null ProtectionDomain
-      int length = interfaces != null ? interfaces.length: 0;
       ProtectionDomain pd = null;
       for(int n = 0; n < interfaces.length && pd == null; n ++)
       {
         pd = interfaces[n].getProtectionDomain(); 
       }
-      Class clazz = TransformerCommon.toClass(proxy, loader, pd);
-      Map methodmap = ClassProxyFactory.getMethodMap(clazz);
+      Class<?> clazz = TransformerCommon.toClass(proxy, loader, pd);
+      Map<Long, MethodPersistentReference> methodmap = ClassProxyFactory.getMethodMap(clazz);
       Field field = clazz.getDeclaredField("methodMap");
       SecurityActions.setAccessible(field);
       field.set(null, methodmap);
       return clazz;
    }
 
-   public static GUID generateProxyClass(ClassLoader loader, ProxyMixin[] mixins, Class[] interfaces) throws Exception
+   public static GUID generateProxyClass(ClassLoader loader, ProxyMixin[] mixins, Class<?>[] interfaces) throws Exception
    {
-      Class clazz = createProxyClass(loader, mixins, interfaces);
+      Class<?> clazz = createProxyClass(loader, mixins, interfaces);
       GUID guid = new GUID();
 
       synchronized (proxyCache)
@@ -141,7 +141,7 @@
       return guid;
    }
 
-   private static CtClass createProxyCtClass(ClassLoader loader, ProxyMixin[] mixins, Class[] interfaces)
+   private static CtClass createProxyCtClass(ClassLoader loader, ProxyMixin[] mixins, Class<?>[] interfaces)
    throws Exception
    {
       ClassPool pool = AspectManager.instance().findClassPool(loader);
@@ -160,14 +160,14 @@
       getMethodMap.setModifiers(Modifier.PUBLIC);
       proxy.addMethod(getMethodMap);
 
-      HashSet addedInterfaces = new HashSet();
-      HashSet addedMethods = new HashSet();
+      HashSet<String> addedInterfaces = new HashSet<String>();
+      HashSet<Long> addedMethods = new HashSet<Long>();
       if (mixins != null)
       {
          for (int i = 0; i < mixins.length; i++)
          {
-            HashSet mixinMethods = new HashSet();
-            Class[] mixinf = mixins[i].getInterfaces();
+            HashSet<Long> mixinMethods = new HashSet<Long>();
+            Class<?>[] mixinf = mixins[i].getInterfaces();
             ClassPool mixPool = AspectManager.instance().findClassPool(mixins[i].getMixin().getClass().getClassLoader());
             CtClass mixClass = mixPool.get(mixins[i].getMixin().getClass().getName());
             for (int j = 0; j < mixinf.length; j++)

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyMethodInvocation.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyMethodInvocation.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyMethodInvocation.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -59,7 +59,7 @@
 
    public Method getMethod()
    {
-      MethodPersistentReference ref = (MethodPersistentReference)proxy.getMethodMap().get(new Long(methodHash));
+      MethodPersistentReference ref = proxy.getMethodMap().get(new Long(methodHash));
       return (Method)ref.get();
    }
 

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyMixin.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyMixin.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyMixin.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -34,13 +34,13 @@
    static final long serialVersionUID = -6150046185716362835L;
 
    private Object mixin;
-   private Class[] interfaces;
+   private Class<?>[] interfaces;
 
    protected ProxyMixin()
    {
    }
 
-   public ProxyMixin(Object mixin, Class[] interfaces)
+   public ProxyMixin(Object mixin, Class<?>[] interfaces)
    {
       this.interfaces = interfaces;
       this.mixin = mixin;
@@ -51,7 +51,7 @@
       return mixin;
    }
 
-   public Class[] getInterfaces()
+   public Class<?>[] getInterfaces()
    {
       return interfaces;
    }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/SecurityActions.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/SecurityActions.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/SecurityActions.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -44,7 +44,7 @@
          {
             try
             {
-               AccessController.doPrivileged(new PrivilegedExceptionAction()
+               AccessController.doPrivileged(new PrivilegedExceptionAction<Object>()
                {
                   public Object run() throws Exception
                   {

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyFactory.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyFactory.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -29,7 +29,6 @@
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 import java.util.WeakHashMap;
@@ -60,7 +59,6 @@
 import org.jboss.aop.instrument.TransformerCommon;
 import org.jboss.aop.introduction.InterfaceIntroduction;
 import org.jboss.aop.util.JavassistMethodHashing;
-import org.jboss.aop.util.MethodHashing;
 
 
 /**
@@ -69,13 +67,14 @@
  */
 public class ContainerProxyFactory
 {
+   @SuppressWarnings("unchecked") private static final HashMap EMPTY_HASHMAP = new HashMap();
    private static final String ADVISED = Advised.class.getName();
    private static final String INSTANCE_ADVISED = InstanceAdvised.class.getName();
    private static final CtClass[] EMPTY_CTCLASS_ARRAY = new CtClass[0];
    public static final String PROXY_NAME_PREFIX = "AOPContainerProxy$";
    
    private static Object maplock = new Object();
-   private static WeakHashMap<Class, Map<ContainerProxyCacheKey, Class>> proxyCache = new WeakHashMap<Class, Map<ContainerProxyCacheKey, Class>>();
+   private static WeakHashMap<Class<?>, Map<ContainerProxyCacheKey, Class<?>>> proxyCache = new WeakHashMap<Class<?>, Map<ContainerProxyCacheKey, Class<?>>>();
    private static volatile int counter = 0;
    
    private static CtMethod setDelegateMethod;
@@ -88,7 +87,7 @@
    private Advisor advisor;
 
    /** The class we are generating this proxy for */
-   private Class clazz;
+   private Class<?> clazz;
 
    /** The generated proxy */
    private CtClass proxy;
@@ -106,33 +105,33 @@
    /** Methods hardcoded in createBasics */
    private HashSet<Long> hardcodedMethods = new HashSet<Long>();
    
-   public static Class getProxyClass(Class clazz, AspectManager manager) throws Exception
+   public static Class<?> getProxyClass(Class<?> clazz, AspectManager manager) throws Exception
    {
       ContainerProxyCacheKey key = new ContainerProxyCacheKey(clazz);
       ClassContainer container = getTempClassContainer(clazz, manager);
       return getProxyClass(false, key, container);
    }
    
-   public static Class getProxyClass(boolean objectAsSuper, ContainerProxyCacheKey key, Advisor advisor)
+   public static Class<?> getProxyClass(boolean objectAsSuper, ContainerProxyCacheKey key, Advisor advisor)
            throws Exception
    {
       return getProxyClass(objectAsSuper, key, advisor, null);
    }
    
-   public static Class getProxyClass(boolean objectAsSuper, ContainerProxyCacheKey key, Advisor advisor, MarshalledContainerProxy outOfVmProxy)
+   public static Class<?> getProxyClass(boolean objectAsSuper, ContainerProxyCacheKey key, Advisor advisor, MarshalledContainerProxy outOfVmProxy)
    throws Exception
    {   
-      Class clazz = key.getClazz();
+      Class<?> clazz = key.getClazz();
       // Don't make a proxy of a proxy !
       if (Delegate.class.isAssignableFrom(clazz)) clazz = clazz.getSuperclass();
 
-      Class proxyClass = null;
+      Class<?> proxyClass = null;
       synchronized (maplock)
       {
-         Map<ContainerProxyCacheKey, Class> map = proxyCache.get(clazz);
+         Map<ContainerProxyCacheKey, Class<?>> map = proxyCache.get(clazz);
          if (map == null)
          {
-            map = new HashMap<ContainerProxyCacheKey, Class>();
+            map = new HashMap<ContainerProxyCacheKey, Class<?>>();
             proxyCache.put(clazz, map);
          }
          else
@@ -149,24 +148,22 @@
       return proxyClass;
    }
 
-   private static Class generateProxy(boolean objectAsSuper, Class clazz, Advisor advisor, MarshalledContainerProxy outOfVmProxy) throws Exception
+   private static Class<?> generateProxy(boolean objectAsSuper, Class<?> clazz, Advisor advisor, MarshalledContainerProxy outOfVmProxy) throws Exception
    {
-      ArrayList introductions = advisor.getInterfaceIntroductions();
+      ArrayList<InterfaceIntroduction> introductions = advisor.getInterfaceIntroductions();
       CtClass proxy = createProxyCtClass(objectAsSuper, introductions, clazz, advisor, outOfVmProxy);
       ProtectionDomain pd = clazz.getProtectionDomain();
-      Class proxyClass = TransformerCommon.toClass(proxy, pd);
+      Class<?> proxyClass = TransformerCommon.toClass(proxy, pd);
       return proxyClass;
    }
 
-   private static ClassProxyContainer getTempClassContainer(Class clazz, AspectManager manager)
+   private static ClassProxyContainer getTempClassContainer(Class<?> clazz, AspectManager manager)
    {
       ClassProxyContainer container = new ClassProxyContainer("temp", manager);
       container.setClass(clazz);
 
-      Iterator it = container.getManager().getInterfaceIntroductions().values().iterator();
-      while (it.hasNext())
+      for (InterfaceIntroduction intro : container.getManager().getInterfaceIntroductions().values())
       {
-         InterfaceIntroduction intro = (InterfaceIntroduction) it.next();
          if (intro.matches(container, container.getClazz()))
          {
             container.addInterfaceIntroduction(intro);
@@ -175,14 +172,15 @@
 
       return container;
    }
-   
-   private static CtClass createProxyCtClass(boolean objectAsSuper, ArrayList mixins, Class clazz, Advisor advisor)
+
+   @SuppressWarnings("unused")
+   private static CtClass createProxyCtClass(boolean objectAsSuper, ArrayList<InterfaceIntroduction> mixins, Class<?> clazz, Advisor advisor)
    throws Exception
    {
       return createProxyCtClass(objectAsSuper, mixins, clazz, advisor, null);
    }
    
-   private static CtClass createProxyCtClass(boolean objectAsSuper, ArrayList mixins, Class clazz, Advisor advisor, MarshalledContainerProxy outOfVmProxy)
+   private static CtClass createProxyCtClass(boolean objectAsSuper, ArrayList<InterfaceIntroduction> mixins, Class<?> clazz, Advisor advisor, MarshalledContainerProxy outOfVmProxy)
            throws Exception
    {
       ContainerProxyFactory factory = new ContainerProxyFactory(objectAsSuper, mixins, clazz, advisor, outOfVmProxy);
@@ -190,7 +188,7 @@
    }
 
    
-   private ContainerProxyFactory(boolean objectAsSuper, ArrayList mixins, Class clazz, Advisor advisor, MarshalledContainerProxy outOfVmProxy)
+   private ContainerProxyFactory(boolean objectAsSuper, ArrayList<InterfaceIntroduction> mixins, Class<?> clazz, Advisor advisor, MarshalledContainerProxy outOfVmProxy)
    {
       this.objectAsSuper = objectAsSuper;
       this.clazz = clazz;
@@ -225,7 +223,7 @@
 
    private CtClass createBasics() throws Exception
    {
-      Class proxySuper  = (objectAsSuper) ? Object.class : this.clazz; 
+      Class<?> proxySuper  = (objectAsSuper) ? Object.class : this.clazz; 
       String classname = getClassName();
 
       CtClass template = pool.get("org.jboss.aop.proxy.container.ProxyTemplate");
@@ -235,7 +233,7 @@
       proxy.addInterface(pool.get("org.jboss.aop.instrument.Untransformable"));
       
       //Add all the interfaces of the class
-      Class[] interfaces = proxySuper.getInterfaces();
+      Class<?>[] interfaces = proxySuper.getInterfaces();
       for (int i = 0 ; i < interfaces.length ; i++)
       {
          CtClass interfaze = pool.get(interfaces[i].getName());
@@ -538,7 +536,7 @@
          proxyStrategy.getMixins(intfs, mixinIntfs, mixes);
          
          //Now that we have added the mixins, add all the proxies methods to the added methods set
-         HashMap allMethods = JavassistMethodHashing.getDeclaredMethodMap(proxy);
+         HashMap<Long, CtMethod> allMethods = JavassistMethodHashing.getDeclaredMethodMap(proxy);
          addedMethods.addAll(allMethods.keySet());
 
          createMixins(addedMethods, mixes, addedInterfaces, implementedInterfaces);
@@ -564,7 +562,7 @@
 
             CtClass intfClass = pool.get(intf);
             CtMethod[] methods = intfClass.getMethods();
-            HashSet mixinMethods = new HashSet();
+            HashSet<Long> mixinMethods = new HashSet<Long>();
             for (int m = 0; m < methods.length; m++)
             {
                if (methods[m].getDeclaringClass().getName().equals("java.lang.Object")) continue;
@@ -609,16 +607,14 @@
 
    private void createProxyMethods(HashSet<Long> addedMethods) throws Exception
    {
-      HashMap allMethods = JavassistMethodHashing.getMethodMap(proxy.getSuperclass());
+      HashMap<Long, CtMethod> allMethods = JavassistMethodHashing.getMethodMap(proxy.getSuperclass());
 
-      Iterator it = allMethods.entrySet().iterator();
-      while (it.hasNext())
+      for (Map.Entry<Long, CtMethod> entry : allMethods.entrySet())
       {
-         Map.Entry entry = (Map.Entry) it.next();
-         CtMethod m = (CtMethod) entry.getValue();
+         CtMethod m = entry.getValue();
          if (!Modifier.isPublic(m.getModifiers()) || Modifier.isStatic(m.getModifiers()) || Modifier.isFinal(m.getModifiers())) continue;
 
-         Long hash = (Long) entry.getKey();
+         Long hash = entry.getKey();
          if (addedMethods.contains(hash)) continue;
          if (hardcodedMethods.contains(hash)) continue;
          
@@ -675,10 +671,8 @@
    
    private void createIntroductions(HashSet<Long> addedMethods, HashMap<String, Integer> intfs, HashSet<String> addedInterfaces, Set<String> implementedInterfaces) throws Exception
    {
-      Iterator it = intfs.keySet().iterator();
-      while (it.hasNext())
+      for (String intf : intfs.keySet())
       {
-         String intf = (String) it.next();
          if (addedInterfaces.contains(intf)) throw new Exception("2 mixins are implementing the same interfaces");
          if (implementedInterfaces.contains(intf))  
          {
@@ -687,7 +681,7 @@
 
          CtClass intfClass = pool.get(intf);
          CtMethod[] methods = intfClass.getMethods();
-         HashSet mixinMethods = new HashSet();
+         HashSet<Long> mixinMethods = new HashSet<Long>();
          for (int m = 0; m < methods.length; m++)
          {
             if (methods[m].getDeclaringClass().getName().equals("java.lang.Object")) continue;
@@ -756,7 +750,7 @@
       return packageName + PROXY_NAME_PREFIX + counter++;
    }
 
-   private void overrideSpecialMethods(Class clazz, CtClass proxy) throws Exception
+   private void overrideSpecialMethods(Class<?> clazz, CtClass proxy) throws Exception
    {
       addInstanceAdvisedMethods(clazz, proxy);
    }
@@ -765,7 +759,7 @@
     * If the class is Advised, the _getInstanceAdvisor() and _setInstanceAdvisor() methods will
     * not have been overridden. Make sure that these methods work with the instance proxy container.
     */
-   private void addInstanceAdvisedMethods(Class clazz, CtClass proxy) throws Exception
+   private void addInstanceAdvisedMethods(Class<?> clazz, CtClass proxy) throws Exception
    {
       CtClass advisedInterface = null;
       CtClass interfaces[] = proxy.getInterfaces();
@@ -826,7 +820,7 @@
       AnnotationsAttribute attribute = (AnnotationsAttribute) src.getAttribute(annotationTag);
       if (attribute != null)
       {
-         dest.addAttribute(attribute.copy(dest.getConstPool(), new HashMap()));
+         dest.addAttribute(attribute.copy(dest.getConstPool(), EMPTY_HASHMAP));
       }
    }
    
@@ -835,7 +829,7 @@
       ParameterAnnotationsAttribute params = (ParameterAnnotationsAttribute)src.getAttribute(paramsTag);
       if (params != null)
       {
-         dest.addAttribute(params.copy(dest.getConstPool(), new HashMap()));
+         dest.addAttribute(params.copy(dest.getConstPool(), EMPTY_HASHMAP));
          ParameterAnnotationsAttribute srcParams = new ParameterAnnotationsAttribute(src.getConstPool(), paramsTag);
          Annotation[][] emptyParamAnnotations = new Annotation[numParams][];
          for (int i = 0 ; i < numParams ; i++)
@@ -860,7 +854,7 @@
       AnnotationsAttribute attribute = (AnnotationsAttribute) src.getAttribute(annotationTag);
       if (attribute != null)
       {
-         dest.addAttribute(attribute.copy(dest.getConstPool(), new HashMap()));
+         dest.addAttribute(attribute.copy(dest.getConstPool(), EMPTY_HASHMAP));
       }
    }
    
@@ -873,7 +867,7 @@
       SignatureAttribute sig = (SignatureAttribute)srcInfo.getAttribute(SignatureAttribute.tag);
       if (sig != null)
       {
-         destInfo.addAttribute(sig.copy(destInfo.getConstPool(), new HashMap()));
+         destInfo.addAttribute(sig.copy(destInfo.getConstPool(), EMPTY_HASHMAP));
       }
    }
    
@@ -885,7 +879,7 @@
       SignatureAttribute sig = (SignatureAttribute)srcFile.getAttribute(SignatureAttribute.tag);
       if (sig != null)
       {
-         destFile.addAttribute(sig.copy(destFile.getConstPool(), new HashMap()));
+         destFile.addAttribute(sig.copy(destFile.getConstPool(), EMPTY_HASHMAP));
       }
    }
    
@@ -927,7 +921,7 @@
       {
          if (mixins != null)
          {
-            HashMap mixinIntfs = new HashMap();
+            HashMap<String, Integer> mixinIntfs = new HashMap<String, Integer>();
             for (int i = 0; i < mixins.size(); i++)
             {
                InterfaceIntroduction introduction = mixins.get(i);
@@ -966,10 +960,8 @@
             ArrayList<MixinInfo> mixes, 
             int idx)
       {
-         Iterator it = intro.getMixins().iterator();
-         while (it.hasNext())
+         for (InterfaceIntroduction.Mixin mixin : intro.getMixins())
          {
-            InterfaceIntroduction.Mixin mixin = (InterfaceIntroduction.Mixin) it.next();
             mixes.add(new MixinInfo(mixin));
             for (int i = 0; i < mixin.getInterfaces().length; i++)
             {
@@ -1031,10 +1023,10 @@
          int i = 0;
          for ( ; i < mixins.length ; i++)
          {
-            Class clazz = mixins[i].getClass();
-            Class[] ifs = clazz.getInterfaces(); 
+            Class<?> clazz = mixins[i].getClass();
+            Class<?>[] ifs = clazz.getInterfaces(); 
             ArrayList<String> interfaces = new ArrayList<String>(ifs.length);
-            for (Class iface : ifs)
+            for (Class<?> iface : ifs)
             {
                String name = iface.getName();
                if (name.equals(Serializable.class.getName()) || 

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledAdvice.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledAdvice.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledAdvice.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -33,6 +33,8 @@
 
 class MarshalledAdvice extends AbstractAdvice implements Serializable
 {
+   private static final long serialVersionUID = 1L;
+   
    private Object aspect;
    private String name;
    private volatile boolean initialised = false;
@@ -89,6 +91,6 @@
       name = in.readUTF();
       super.adviceName = in.readUTF();
       aspect = in.readObject();
-      super.aspectClass = (Class)in.readObject();
+      super.aspectClass = (Class<?>)in.readObject();
    }
 }
\ No newline at end of file

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledContainerProxy.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledContainerProxy.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledContainerProxy.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -69,7 +69,7 @@
    private ContainerProxyCacheKey key;
    private Object mixins[];
    private Object delegate;
-   private Class clazz;
+   private Class<?> clazz;
    private SimpleMetaData metadata;
    
    //Interfaces resulting from a mixin or interface introduction
@@ -87,7 +87,7 @@
    public MarshalledContainerProxy(AspectManaged proxyInstance, ContainerProxyCacheKey key, Object[] mixins, Object delegate, Advisor currentAdvisor, SimpleMetaData metadata)
    {
       this.proxyInstance = proxyInstance;
-      Class proxyClass = proxyInstance.getClass();
+      Class<?> proxyClass = proxyInstance.getClass();
       this.proxyClassName = proxyClass.getName();
       this.key = key;
       this.mixins = mixins;
@@ -99,7 +99,7 @@
 
       marshalledInterceptors = new MarshalledInterceptors(currentAdvisor, mixins);
       
-      Class[] proxyInterfaces = proxyClass.getInterfaces();
+      Class<?>[] proxyInterfaces = proxyClass.getInterfaces();
       ArrayList<String> ifs = new ArrayList<String>();
       for (int i = 0 ; i < proxyInterfaces.length ; i++)
       {
@@ -151,7 +151,7 @@
    private Object localReadResolve() throws Exception
    {
       ClassLoader tcl = SecurityActions.getContextClassLoader();
-      Class proxyClass = tcl.loadClass(proxyClassName);
+      Class<?> proxyClass = tcl.loadClass(proxyClassName);
       Object proxy = proxyClass.newInstance();
       Delegate delegate = (Delegate)proxy;
       delegate.localUnmarshal(this);
@@ -169,7 +169,7 @@
       advisor.setClazz(clazz);
 
       boolean objectAsSuper = key.getClazz().equals(Object.class);
-      Class proxyClass = ContainerProxyFactory.getProxyClass(objectAsSuper, key, advisor, this);
+      Class<?> proxyClass = ContainerProxyFactory.getProxyClass(objectAsSuper, key, advisor, this);
    
       Delegate proxy = (Delegate)proxyClass.newInstance();
       proxy.remoteUnmarshal(this, advisor);
@@ -196,7 +196,7 @@
       return delegate;
    }
 
-   public Class getClazz()
+   public Class<?> getClazz()
    {
       return clazz;
    }
@@ -252,7 +252,6 @@
             MethodInfo[] methodInfos = getMethodInfos();
             MarshalledMethodInfo[] marshalledInfos = new MarshalledMethodInfo[methodInfos.length];
 
-            boolean requiresInstanceAdvisor = false;
             for (int i = 0 ; i < methodInfos.length ; i++)
             {
                MarshalledMethodInfo info = new MarshalledMethodInfo(MarshalledContainerProxy.this, methodInfos[i]);
@@ -309,7 +308,7 @@
             expr.append(m.getName());
             expr.append("(");
             boolean first = true;
-            for (Class c : m.getParameterTypes())
+            for (Class<?> c : m.getParameterTypes())
             {
                if (first)
                {
@@ -350,11 +349,12 @@
       
    private static class MarshalledMethodInfo implements Serializable
    {
+      private static final long serialVersionUID = 1L;
       transient MarshalledContainerProxy proxy;
       long advisedHash;
       long unadvisedHash;
       Interceptor[] interceptors;
-      Class clazz;
+      Class<?> clazz;
       transient boolean requiresInstanceAdvisor;
       
       public MarshalledMethodInfo(MarshalledContainerProxy proxy, MethodInfo info) throws IOException

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledProxyAdvisor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledProxyAdvisor.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledProxyAdvisor.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -21,9 +21,6 @@
 */ 
 package org.jboss.aop.proxy.container;
 
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
 import gnu.trove.TLongObjectHashMap;
 
 import org.jboss.aop.Advisor;
@@ -31,10 +28,8 @@
 import org.jboss.aop.Domain;
 import org.jboss.aop.InstanceAdvisor;
 import org.jboss.aop.MethodInfo;
-import org.jboss.aop.advice.AbstractAdvice;
 import org.jboss.aop.advice.AspectDefinition;
 import org.jboss.aop.advice.Interceptor;
-import org.jboss.aop.joinpoint.Invocation;
 import org.jboss.aop.joinpoint.Joinpoint;
 import org.jboss.aop.metadata.ClassMetaDataBinding;
 import org.jboss.aop.metadata.SimpleMetaData;
@@ -55,7 +50,7 @@
       super(name, manager);
    }
 
-   public void setClazz(Class clazz)
+   public void setClazz(Class<?> clazz)
    {
       super.clazz = clazz;
    }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ProxyAdvisorDomain.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ProxyAdvisorDomain.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ProxyAdvisorDomain.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -35,14 +35,14 @@
  */
 public class ProxyAdvisorDomain extends GeneratedAdvisorDomain
 {
-   protected WeakReference advisor;
+   protected WeakReference<Advisor> advisor;
 
-   public ProxyAdvisorDomain(AspectManager manager, String name, Class clazz)
+   public ProxyAdvisorDomain(AspectManager manager, String name, Class<?> clazz)
    {
       this(manager, name, clazz, false);
    }
    
-   public ProxyAdvisorDomain(AspectManager manager, String name, Class clazz, boolean instanceDomain)
+   public ProxyAdvisorDomain(AspectManager manager, String name, Class<?> clazz, boolean instanceDomain)
    {
       // FIXME ProxyAdvisorDomain constructor
       super(manager, name, clazz, instanceDomain);
@@ -53,18 +53,18 @@
 
    public Advisor getAdvisor()
    {
-      return (Advisor)advisor.get();
+      return advisor.get();
    }
 
    public void setAdvisor(Advisor advisor)
    {
-      this.advisor = new WeakReference(advisor);
+      this.advisor = new WeakReference<Advisor>(advisor);
    }
 
    public void attachAdvisor()
    {
-      Advisor adv = (Advisor)advisor.get();
-      advisors.put(adv.getClazz(), new WeakReference(adv));
+      Advisor adv = advisor.get();
+      advisors.put(adv.getClazz(), new WeakReference<Advisor>(adv));
    }
    
    public void removeAdvisor(Advisor advisor)

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ProxyTemplate.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ProxyTemplate.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ProxyTemplate.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -21,14 +21,12 @@
   */
 package org.jboss.aop.proxy.container;
 
-import java.io.IOException;
 import java.io.ObjectStreamException;
 
 import org.jboss.aop.Advisor;
 import org.jboss.aop.AspectManager;
 import org.jboss.aop.InstanceAdvisor;
 import org.jboss.aop.metadata.SimpleMetaData;
-import org.jboss.util.id.GUID;
 
 /**
  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
@@ -159,7 +157,6 @@
       this.metadata = proxy.getMetadata();
       this.key = proxy.getKey();
 
-      Class clazz = proxy.getClazz();
       this.classAdvisor = ContainerCache.getCachedContainer(this.key);
       this.currentAdvisor = classAdvisor;
       

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/ConstructorComparator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/ConstructorComparator.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/ConstructorComparator.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -32,16 +32,16 @@
  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
  * @version $Revision$
  */
-public class ConstructorComparator implements Comparator<Constructor>
+public class ConstructorComparator implements Comparator<Constructor<?>>
 {
    private ConstructorComparator() {}
 
-   public static final java.util.Comparator<Constructor> INSTANCE = new ConstructorComparator();
+   public static final java.util.Comparator<Constructor<?>> INSTANCE = new ConstructorComparator();
         
-   public int compare(Constructor m1, Constructor m2) {
+   public int compare(Constructor<?> m1, Constructor<?> m2) {
       try {
-         Class[] args1 = m1.getParameterTypes();
-         Class[] args2 = m2.getParameterTypes();
+         Class<?>[] args1 = m1.getParameterTypes();
+         Class<?>[] args2 = m2.getParameterTypes();
          if (args1.length < args2.length) return -1;
          if (args1.length > args2.length) return 1;
          for (int i = 0; i < args1.length; i++) {

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/CtConstructorComparator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/CtConstructorComparator.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/CtConstructorComparator.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -32,13 +32,13 @@
  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
  * @version $Revision$
  */
-public class CtConstructorComparator implements java.util.Comparator {
+public class CtConstructorComparator implements java.util.Comparator<CtConstructor> {
 
     private CtConstructorComparator() {}
 
-    public static final java.util.Comparator INSTANCE = new CtConstructorComparator();
+    public static final java.util.Comparator<CtConstructor> INSTANCE = new CtConstructorComparator();
         
-    private int compare(CtConstructor m1, CtConstructor m2) {
+    public int compare(CtConstructor m1, CtConstructor m2) {
         try {
             CtClass[] args1 = m1.getParameterTypes();
             CtClass[] args2 = m2.getParameterTypes();
@@ -60,9 +60,4 @@
         // unreachable.
         throw new Error();
     }
-
-    public int compare(Object o1, Object o2) {
-        return compare((CtConstructor) o1, (CtConstructor) o2);
-    }
-
 }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/CtFieldComparator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/CtFieldComparator.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/CtFieldComparator.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -30,18 +30,13 @@
  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
  * @version $Revision$
  */
-public class CtFieldComparator implements java.util.Comparator {
+public class CtFieldComparator implements java.util.Comparator<CtField> {
 
     private CtFieldComparator() {}
 
-    public static final java.util.Comparator INSTANCE = new CtFieldComparator();
+    public static final java.util.Comparator<CtField> INSTANCE = new CtFieldComparator();
         
-    private int compare(CtField m1, CtField m2) {
+    public int compare(CtField m1, CtField m2) {
        return m1.getName().compareTo(m2.getName());
     }
-
-    public int compare(Object o1, Object o2) {
-        return compare((CtField) o1, (CtField) o2);
-    }
-
 }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/ForceInterfaceToImplementAnnotation.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/ForceInterfaceToImplementAnnotation.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/ForceInterfaceToImplementAnnotation.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -75,7 +75,7 @@
       try
       {
          rdr = new BufferedReader(new FileReader(file));
-         ArrayList<String> classes = new ArrayList();
+         ArrayList<String> classes = new ArrayList<String>();
          String clazz = rdr.readLine();
          while (clazz != null)
          {

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/JavassistUtils.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/JavassistUtils.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/JavassistUtils.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -50,7 +50,7 @@
    
    private static CtMethod[] getMethodsWithName(CtMethod[] methods, String name)
    {
-      ArrayList foundMethods = new ArrayList();
+      ArrayList<CtMethod> foundMethods = new ArrayList<CtMethod>();
       for (int i = 0 ; i < methods.length ; i++)
       {
          if (methods[i].getName().equals(name))
@@ -58,7 +58,7 @@
             foundMethods.add(methods[i]);
          }
       }
-      return (CtMethod[])foundMethods.toArray(new CtMethod[foundMethods.size()]);
+      return foundMethods.toArray(new CtMethod[foundMethods.size()]);
    }
    
    public static boolean isSubclassOrImplements(CtClass clazz, CtClass lookingFor) throws NotFoundException

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/MarshalledValueInputStream.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/MarshalledValueInputStream.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/MarshalledValueInputStream.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -50,7 +50,7 @@
     * 
     * @throws java.io.IOException   Any exception thrown by the underlying OutputStream.
     */
-   protected Class resolveClass(ObjectStreamClass v)
+   protected Class<?> resolveClass(ObjectStreamClass v)
       throws IOException, ClassNotFoundException
    {
       ClassLoader loader = Thread.currentThread().getContextClassLoader();
@@ -58,12 +58,12 @@
       return loader.loadClass(className);
    }
 
-   protected Class resolveProxyClass(String[] interfaces)
+   protected Class<?> resolveProxyClass(String[] interfaces)
       throws IOException, ClassNotFoundException
    {
       // Load the interfaces from the thread context class loader
       ClassLoader loader = Thread.currentThread().getContextClassLoader();
-      Class[] ifaceClasses = new Class[interfaces.length];
+      Class<?>[] ifaceClasses = new Class[interfaces.length];
       for (int i = 0; i < interfaces.length; i++)
       {
          ifaceClasses[i] = loader.loadClass(interfaces[i]);

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/MarshalledValueOutputStream.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/MarshalledValueOutputStream.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/MarshalledValueOutputStream.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -54,7 +54,7 @@
    /**
     * @throws java.io.IOException   Any exception thrown by the underlying OutputStream.
     */
-   protected void annotateClass(Class cl) throws IOException
+   protected void annotateClass(Class<?> cl) throws IOException
    {
       super.annotateClass(cl);
    }
@@ -62,7 +62,7 @@
    /**
     * @throws java.io.IOException   Any exception thrown by the underlying OutputStream.
     */
-   protected void annotateProxyClass(Class cl) throws IOException
+   protected void annotateProxyClass(Class<?> cl) throws IOException
    {
       super.annotateProxyClass(cl);
    }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/ReflectToJavassist.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/ReflectToJavassist.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/ReflectToJavassist.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -43,7 +43,7 @@
  **/
 public class ReflectToJavassist
 {
-   public static CtClass classToJavassist(Class clazz) throws NotFoundException
+   public static CtClass classToJavassist(Class<?> clazz) throws NotFoundException
    {
       ClassPool pool = AspectManager.instance().findClassPool(clazz.getClassLoader());
       CtClass ct = pool.get(clazz.getName());
@@ -54,10 +54,10 @@
    {
       return classToJavassist(field.getDeclaringClass()).getField(field.getName());
    }
-   public static CtConstructor constructorToJavassist(Constructor con) throws NotFoundException
+   public static CtConstructor constructorToJavassist(Constructor<?> con) throws NotFoundException
    {
-      Class clazz = con.getDeclaringClass();
-      Class[] params = con.getParameterTypes();
+      Class<?> clazz = con.getDeclaringClass();
+      Class<?>[] params = con.getParameterTypes();
       String[] strParams = new String[params.length];
       for (int i = 0; i < params.length; i++)
       {
@@ -86,12 +86,12 @@
       return null;
    }
 
-   protected static String simpleType(Class type)
+   protected static String simpleType(Class<?> type)
    {
-      Class ret = type;
+      Class<?> ret = type;
       if (ret.isArray())
       {
-         Class arr = ret;
+         Class<?> arr = ret;
          String array = "";
          while (arr.isArray())
          {
@@ -105,8 +105,8 @@
    
    public static CtMethod methodToJavassist(Method method) throws NotFoundException
    {
-      Class clazz = method.getDeclaringClass();
-      Class[] params = method.getParameterTypes();
+      Class<?> clazz = method.getDeclaringClass();
+      Class<?>[] params = method.getParameterTypes();
       String[] strParams = new String[params.length];
       for (int i = 0; i < params.length; i++)
       {
@@ -157,7 +157,7 @@
     *                  </code> (if <code>type</code> is primitive, the value will
     *                  be unwrapped).
     */
-   public static String castInvocationValueToTypeString(Class type, String valueName)
+   public static String castInvocationValueToTypeString(Class<?> type, String valueName)
    {
       // TODO replace this method by T Class.cast(valueName) once javassist enables support to generics
       String cast = null;

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/ReflectUtils.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/ReflectUtils.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/ReflectUtils.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -34,16 +34,16 @@
  */
 public class ReflectUtils
 {
-   public static Class[] EMPTY_CLASS_ARRAY = new Class[0];
+   public static Class<?>[] EMPTY_CLASS_ARRAY = new Class[0];
    private static Pattern accessMethodPattern = Pattern.compile("access[$](\\d)+");
    
-   public static Method[] getMethodsWithName(Class clazz, String name)
+   public static Method[] getMethodsWithName(Class<?> clazz, String name)
    {
       Method[] methods = clazz.getMethods();
       return getMethodsWithName(methods, name);
    }
    
-   public static Method[] getDeclaredMethodsWithName(Class clazz, String name)
+   public static Method[] getDeclaredMethodsWithName(Class<?> clazz, String name)
    {
       Method[] methods = clazz.getDeclaredMethods();
       return getMethodsWithName(methods, name);
@@ -51,7 +51,7 @@
    
    private static Method[] getMethodsWithName(Method[] methods, String name)
    {
-      ArrayList foundMethods = new ArrayList();
+      ArrayList<Method> foundMethods = new ArrayList<Method>();
       for (int i = 0 ; i < methods.length ; i++)
       {
          if (methods[i].getName().equals(name))
@@ -59,7 +59,7 @@
             foundMethods.add(methods[i]);
          }
       }
-      return (Method[])foundMethods.toArray(new Method[foundMethods.size()]);
+      return foundMethods.toArray(new Method[foundMethods.size()]);
    }
    
    /**

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/SecurityActions.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/SecurityActions.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/SecurityActions.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -36,17 +36,17 @@
 {
    interface GetDeclaredMethodsAction
    {
-      Method[] getDeclaredMethods(Class clazz);
+      Method[] getDeclaredMethods(Class<?> clazz);
       
       GetDeclaredMethodsAction PRIVILEGED = new GetDeclaredMethodsAction()
       {
-         public Method[] getDeclaredMethods(final Class clazz)
+         public Method[] getDeclaredMethods(final Class<?> clazz)
          {
             try
             {
-               return (Method[])AccessController.doPrivileged(new PrivilegedExceptionAction()
+               return AccessController.doPrivileged(new PrivilegedExceptionAction<Method[]>()
                {
-                  public Object run() throws Exception
+                  public Method[] run() throws Exception
                   {
                      return clazz.getDeclaredMethods();
                   }
@@ -61,7 +61,7 @@
 
       GetDeclaredMethodsAction NON_PRIVILEGED = new GetDeclaredMethodsAction()
       {
-         public Method[] getDeclaredMethods(Class clazz)
+         public Method[] getDeclaredMethods(Class<?> clazz)
          {
             return clazz.getDeclaredMethods();
          }
@@ -70,17 +70,17 @@
    
    interface GetDeclaredConstructorsAction
    {
-      Constructor[] getDeclaredConstructors(Class clazz);
+      Constructor<?>[] getDeclaredConstructors(Class<?> clazz);
       
       GetDeclaredConstructorsAction PRIVILEGED = new GetDeclaredConstructorsAction()
       {
-         public Constructor[] getDeclaredConstructors(final Class clazz)
+         public Constructor<?>[] getDeclaredConstructors(final Class<?> clazz)
          {
             try
             {
-               return (Constructor[])AccessController.doPrivileged(new PrivilegedExceptionAction()
+               return AccessController.doPrivileged(new PrivilegedExceptionAction<Constructor<?>[]>()
                {
-                  public Object run() throws Exception
+                  public Constructor<?>[] run() throws Exception
                   {
                      return clazz.getDeclaredConstructors();
                   }
@@ -95,14 +95,14 @@
 
       GetDeclaredConstructorsAction NON_PRIVILEGED = new GetDeclaredConstructorsAction()
       {
-         public Constructor[] getDeclaredConstructors(Class clazz)
+         public Constructor<?>[] getDeclaredConstructors(Class<?> clazz)
          {
             return clazz.getDeclaredConstructors();
          }
       };
    }
    
-   static Method[] getDeclaredMethods(Class clazz)
+   static Method[] getDeclaredMethods(Class<?> clazz)
    {
       if (System.getSecurityManager() == null)
       {
@@ -114,7 +114,7 @@
       }
    }
    
-   static Constructor[] getDeclaredConstructors(Class clazz)
+   static Constructor<?>[] getDeclaredConstructors(Class<?> clazz)
    {
       if (System.getSecurityManager() == null)
       {

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/ThreadLocalStack.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/ThreadLocalStack.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/ThreadLocalStack.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -31,14 +31,14 @@
  */
 public class ThreadLocalStack
 {
-   private ThreadLocal local = new ThreadLocal();
+   private ThreadLocal<ArrayList<Object>> local = new ThreadLocal<ArrayList<Object>>();
 
    public void push(Object obj)
    {
-      ArrayList stack = (ArrayList) local.get();
+      ArrayList<Object> stack = local.get();
       if (stack == null)
       {
-         stack = new ArrayList();
+         stack = new ArrayList<Object>();
          local.set(stack);
       }
       stack.add(obj);
@@ -46,14 +46,14 @@
 
    public Object get()
    {
-      ArrayList stack = (ArrayList) local.get();
+      ArrayList<Object> stack = local.get();
       if (stack == null) return null;
       return stack.get(stack.size() - 1);
    }
 
    public void pop()
    {
-      ArrayList stack = (ArrayList) local.get();
+      ArrayList<Object> stack = local.get();
       stack.remove(stack.size() - 1);
    }
 }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/UnmodifiableEmptyCollections.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/UnmodifiableEmptyCollections.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/UnmodifiableEmptyCollections.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -45,14 +45,14 @@
  */
 public class UnmodifiableEmptyCollections
 {
-   public static final LinkedHashMap EMPTY_LINKED_HASHMAP = new LockedLinkedHashMap();
-   public static final HashMap EMPTY_HASHMAP = new LockedHashMap();
-   public static final WeakHashMap EMPTY_WEAK_HASHMAP = new LockedWeakHashMap();
-   public static final WeakValueHashMap EMPTY_WEAK_VALUE_HASHMAP = new LockedWeakValueHashMap();
-   public static final ArrayList EMPTY_ARRAYLIST = new LockedArrayList();
-   public static final CopyOnWriteArraySet EMPTY_COPYONWRITE_ARRAYSET = new LockedCopyOnWriteArraySet();
-   public static final TLongObjectHashMap EMPTY_TLONG_OBJECT_HASHMAP = new LockedTLongObjectHashMap();
-   public static final ConcurrentHashMap EMPTY_CONCURRENT_HASHMAP = new LockedConcurrentHashMap();
+   @SuppressWarnings("unchecked") public static final LinkedHashMap EMPTY_LINKED_HASHMAP = new LockedLinkedHashMap();
+   @SuppressWarnings("unchecked") public static final HashMap EMPTY_HASHMAP = new LockedHashMap();
+   @SuppressWarnings("unchecked") public static final WeakHashMap EMPTY_WEAK_HASHMAP = new LockedWeakHashMap();
+   @SuppressWarnings("unchecked") public static final WeakValueHashMap EMPTY_WEAK_VALUE_HASHMAP = new LockedWeakValueHashMap();
+   @SuppressWarnings("unchecked") public static final ArrayList EMPTY_ARRAYLIST = new LockedArrayList();
+   @SuppressWarnings("unchecked") public static final CopyOnWriteArraySet EMPTY_COPYONWRITE_ARRAYSET = new LockedCopyOnWriteArraySet();
+   @SuppressWarnings("unchecked") public static final TLongObjectHashMap EMPTY_TLONG_OBJECT_HASHMAP = new LockedTLongObjectHashMap();
+   @SuppressWarnings("unchecked") public static final ConcurrentHashMap EMPTY_CONCURRENT_HASHMAP = new LockedConcurrentHashMap();
 
    private static class LockedHashMap<K,V> extends HashMap<K,V>
    {
@@ -101,18 +101,19 @@
       }
    }
    
-   private static class LockedWeakValueHashMap extends WeakValueHashMap
+   
+   private static class LockedWeakValueHashMap<K, V> extends WeakValueHashMap<K, V>
    {
       private static final long serialVersionUID = 1L;
       @Override
-      public Object put(Object arg0, Object arg1)
+      public V put(K key, V value) 
       {
-         return super.put(arg0, arg1);
+         throw new UnsupportedOperationException();
       }
       @Override
-      public synchronized void putAll(Map arg0)
+      public void putAll(Map<? extends K, ? extends V> t) 
       {
-         super.putAll(arg0);
+         throw new UnsupportedOperationException();
       }
    }
    

Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotationc/AnnotationTester.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotationc/AnnotationTester.java	2008-03-25 21:32:04 UTC (rev 71275)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotationc/AnnotationTester.java	2008-03-25 22:11:46 UTC (rev 71276)
@@ -475,7 +475,7 @@
       
       //Non static inner classes get an extra ctor param containing the outer class, do sorting here to get right order between
       //default and other ctor
-      Constructor[] ctors = BytecodePOJO.InnerClass.class.getDeclaredConstructors();
+      Constructor<?>[] ctors = BytecodePOJO.InnerClass.class.getDeclaredConstructors();
       Arrays.sort(ctors, ConstructorComparator.INSTANCE);
 
       System.out.println(ctors[0]);




More information about the jboss-cvs-commits mailing list