[jboss-cvs] JBossAS SVN: r85907 - in projects/jboss-reflect/trunk/src: test/java/org/jboss/test/plugins/javassist and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Mar 16 07:37:54 EDT 2009


Author: stalep
Date: 2009-03-16 07:37:53 -0400 (Mon, 16 Mar 2009)
New Revision: 85907

Added:
   projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/Pojo3.java
Modified:
   projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java
   projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/JavassistBodyTestCase.java
   projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/JavassistMutableMethodInfoTestCase.java
   projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/JavassistUtilTestCase.java
   projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/PojoBody.java
Log:
[JBREFLECT-49]
further tests and fixes

Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java	2009-03-16 11:37:33 UTC (rev 85906)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java	2009-03-16 11:37:53 UTC (rev 85907)
@@ -281,10 +281,13 @@
     * @param clazz the class
     * @return the info
     */
+   @SuppressWarnings("unchecked")
    public Object get(CtClass clazz)
    {
       if (clazz == null)
          throw new IllegalArgumentException("Null class");
+      if(clazz instanceof CtPrimitiveType)
+         return instantiate(clazz);
       
       Map<String, WeakReference<Object>> classLoaderCache = getClassLoaderCache(clazz.getClassPool().getClassLoader());
 

Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/JavassistBodyTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/JavassistBodyTestCase.java	2009-03-16 11:37:33 UTC (rev 85906)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/JavassistBodyTestCase.java	2009-03-16 11:37:53 UTC (rev 85907)
@@ -21,11 +21,9 @@
   */
 package org.jboss.test.plugins.javassist;
 
-import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 
 import org.jboss.reflect.plugins.javassist.JavassistTypeInfoFactoryImpl;
-import org.jboss.reflect.spi.DefaultJavassistBody;
 import org.jboss.reflect.spi.InsertAfterJavassistBody;
 import org.jboss.reflect.spi.InsertBeforeJavassistBody;
 import org.jboss.reflect.spi.MutableClassInfo;
@@ -55,21 +53,19 @@
    public void testBody()
    {
       MutableClassInfo mci = new JavassistTypeInfoFactoryImpl().getMutable("org.jboss.test.plugins.javassist.PojoBody", null);
-//      MutableMethodInfo mmi = mci.getDeclaredMethods()[1];
       try
       {
          MutableMethodInfo mmi = mci.getDeclaredMethod("foo", new TypeInfo[] {(TypeInfo) new JavassistTypeInfoFactoryImpl().get("int", Thread.currentThread().getContextClassLoader()) });
-    
-      System.out.println("got method: "+mmi.getName());
-      mmi.setBody(new InsertBeforeJavassistBody("i = 42;"));
-      MutableMethodInfo mmi2 = mci.getDeclaredMethods()[0];
-      System.out.println("mmi2: "+mmi2.getName());
-      mmi2.setBody(new InsertAfterJavassistBody("s = \"after\" + s; return s;"));
-      
-      
-      Class<?> clazz = mci.getType();
-      
-      
+
+         System.out.println("got method: "+mmi.getName());
+         mmi.setBody(new InsertBeforeJavassistBody("i = 42;"));
+         MutableMethodInfo mmi2 = mci.getDeclaredMethod("bar", new TypeInfo[] {});
+         System.out.println("mmi2: "+mmi2.getName());
+         mmi2.setBody(new InsertAfterJavassistBody("s = \"after\" + s; return s;"));
+         System.out.println("mmi2: "+mmi2.getName());
+
+         Class<?> clazz = mci.getType();
+
          Object pojoBody = clazz.newInstance();
          Method m1 = clazz.getDeclaredMethods()[0];
          assertEquals(42, m1.invoke(pojoBody, new Object[] {1}));
@@ -77,37 +73,11 @@
          assertEquals("afterbar", m2.invoke(pojoBody, new Object[] {}));
          
          System.out.println();
-    
       }
-      catch (ClassNotFoundException e1)
+      catch (Exception e)
       {
-         // TODO Auto-generated catch block
-         e1.printStackTrace();
-      }
-      catch (IllegalArgumentException e)
-      {
-         // TODO Auto-generated catch block
          e.printStackTrace();
       }
-      catch (InvocationTargetException e)
-      {
-         // TODO Auto-generated catch block
-         e.printStackTrace();
-      }
-
-      catch (InstantiationException e)
-      {
-         // TODO Auto-generated catch block
-         e.printStackTrace();
-      }
-      catch (IllegalAccessException e)
-      {
-         // TODO Auto-generated catch block
-         e.printStackTrace();
-      }
-//      System.out.println("Method name: "+m1.getName());
-      
-      
    }
 
 }

Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/JavassistMutableMethodInfoTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/JavassistMutableMethodInfoTestCase.java	2009-03-16 11:37:33 UTC (rev 85906)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/JavassistMutableMethodInfoTestCase.java	2009-03-16 11:37:53 UTC (rev 85907)
@@ -21,10 +21,8 @@
   */
 package org.jboss.test.plugins.javassist;
 
-import org.jboss.reflect.plugins.javassist.JavassistTypeInfo;
 import org.jboss.reflect.plugins.javassist.JavassistTypeInfoFactoryImpl;
 import org.jboss.reflect.spi.InsertBeforeJavassistBody;
-import org.jboss.reflect.spi.MethodInfo;
 import org.jboss.reflect.spi.MutableClassInfo;
 import org.jboss.reflect.spi.MutableMethodInfo;
 import org.jboss.reflect.spi.TypeInfo;
@@ -51,17 +49,17 @@
    
    public void testMethods()
    {
-      MutableClassInfo mci = new JavassistTypeInfoFactoryImpl().getMutable("org.jboss.test.plugins.javassist.Pojo", null);
+      MutableClassInfo mci = new JavassistTypeInfoFactoryImpl().getMutable("org.jboss.test.plugins.javassist.Pojo3", null);
       
       MutableMethodInfo[] methods = mci.getDeclaredMethods();
       try
       {
          MutableMethodInfo bar = mci.getDeclaredMethod("bar", new TypeInfo[] {(TypeInfo) new JavassistTypeInfoFactoryImpl().get("java.lang.String", Thread.currentThread().getContextClassLoader()) });
-    
-      assertEquals(3, methods.length);
-      System.out.println("should expect bar, but got "+bar.getName());
-      assertEquals("bar", bar.getName());
-      assertEquals("java.lang.String", bar.getParameterTypes()[0].getName());
+
+         assertEquals(3, methods.length);
+         System.out.println("should expect bar, but got "+bar.getName());
+         assertEquals("bar", bar.getName());
+         assertEquals("java.lang.String", bar.getParameterTypes()[0].getName());
       
       
       }
@@ -76,7 +74,7 @@
    
    public void testNewMethods()
    {
-      MutableClassInfo mci = new JavassistTypeInfoFactoryImpl().getMutable("org.jboss.test.plugins.javassist.Pojo", null);
+      MutableClassInfo mci = new JavassistTypeInfoFactoryImpl().getMutable("org.jboss.test.plugins.javassist.Pojo3", null);
       MutableMethodInfo newMethod1 = mci.createMutableMethod(new InsertBeforeJavassistBody("public void test1() { }"));
       mci.addMethod(newMethod1);
       

Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/JavassistUtilTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/JavassistUtilTestCase.java	2009-03-16 11:37:33 UTC (rev 85906)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/JavassistUtilTestCase.java	2009-03-16 11:37:53 UTC (rev 85907)
@@ -100,30 +100,7 @@
       }
    }
    
-   public void testChangedCtClassToClass()
-   {
-      try
-      {
-         CtClass clazz = ClassPool.getDefault().get("org.jboss.test.plugins.javassist.Pojo2");
-         CtMethod foo = CtNewMethod.make("public void test1() { }", clazz);
-         clazz.addMethod(foo);
-         
-         
-         Class theClass = JavassistUtil.ctClassToClass(clazz);
-         assertEquals(2, theClass.getDeclaredMethods().length);
-      }
-      catch (CannotCompileException e)
-      {
-         // TODO Auto-generated catch block
-         e.printStackTrace();
-      }
-      catch (NotFoundException e)
-      {
-         e.printStackTrace();
-      }
-      
-   }
-   
+
    public void testModifier()
    {
       assertEquals(ModifierInfo.PUBLIC, Modifier.PUBLIC);
@@ -158,6 +135,31 @@
       }
    }
    
+   public void testChangedCtClassToClass()
+   {
+      try
+      {
+         CtClass clazz = ClassPool.getDefault().get("org.jboss.test.plugins.javassist.Pojo");
+         CtMethod foo = CtNewMethod.make("public void test1() { }", clazz);
+         clazz.addMethod(foo);
+         
+         
+         Class<?> theClass = JavassistUtil.ctClassToClass(clazz);
+         assertEquals(4, theClass.getDeclaredMethods().length);
+      }
+      catch (CannotCompileException e)
+      {
+         // TODO Auto-generated catch block
+         e.printStackTrace();
+      }
+      catch (NotFoundException e)
+      {
+         e.printStackTrace();
+      }
+      
+   }
+   
+   
    private Class<?> loadClass(String name)
    {
       if (primitives.containsKey(name))

Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/Pojo3.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/Pojo3.java	                        (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/Pojo3.java	2009-03-16 11:37:53 UTC (rev 85907)
@@ -0,0 +1,56 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.test.plugins.javassist;
+
+/**
+ * A Pojo.
+ * 
+ * @author <a href="mailto:stale.pedersen at jboss.org">Stale W. Pedersen</a>
+ * @version $Revision: 1.1 $
+ */
+public class Pojo3
+{
+   
+   public String foo;
+   
+   public Pojo3()
+   { 
+   }
+   
+   public Pojo3(String s)
+   {
+   }
+   
+   public String foo()
+   {
+      return null;
+   }
+   
+   public void foo(String s)
+   {
+   }
+   
+   public void bar(String s)
+   {
+   }
+
+}

Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/PojoBody.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/PojoBody.java	2009-03-16 11:37:33 UTC (rev 85906)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/PojoBody.java	2009-03-16 11:37:53 UTC (rev 85907)
@@ -31,6 +31,7 @@
 {
 
    private String s;
+//   private int i = 0;
    public int foo(int i)
    {
       return i;




More information about the jboss-cvs-commits mailing list