[jboss-cvs] JBossAS SVN: r100562 - projects/jboss-classpool/trunk/classpool/src/main/java/org/jboss/classpool/spi.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Feb 5 13:03:35 EST 2010


Author: flavia.rainone at jboss.com
Date: 2010-02-05 13:03:34 -0500 (Fri, 05 Feb 2010)
New Revision: 100562

Modified:
   projects/jboss-classpool/trunk/classpool/src/main/java/org/jboss/classpool/spi/ClassPoolRepository.java
Log:
[JBREFLECT-94] Temporary hack to issue that must be solved in Javassist.

Modified: projects/jboss-classpool/trunk/classpool/src/main/java/org/jboss/classpool/spi/ClassPoolRepository.java
===================================================================
--- projects/jboss-classpool/trunk/classpool/src/main/java/org/jboss/classpool/spi/ClassPoolRepository.java	2010-02-05 17:58:17 UTC (rev 100561)
+++ projects/jboss-classpool/trunk/classpool/src/main/java/org/jboss/classpool/spi/ClassPoolRepository.java	2010-02-05 18:03:34 UTC (rev 100562)
@@ -21,6 +21,7 @@
  */ 
 package org.jboss.classpool.spi;
 
+import java.lang.reflect.Field;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
@@ -35,6 +36,7 @@
 import javassist.scopedpool.ScopedClassPoolRepositoryImpl;
 
 
+
 /**
  * Singleton classpool repository.
  * 
@@ -67,6 +69,36 @@
    protected ClassPoolRepository()
    {
       this.delegate = ScopedClassPoolRepositoryImpl.getInstance();
+      ClassPool classPool = AbstractClassPoolFactory.getDefaultClassPool();
+      // FIXME we need a way to define the classpool field of ScopedClassPoolRepository
+      Field cpField = null;
+      try
+      {
+         cpField = ScopedClassPoolRepositoryImpl.class.getDeclaredField("classpool");
+      } catch (SecurityException e)
+      {
+         // TODO Auto-generated catch block
+         e.printStackTrace();
+      } catch (NoSuchFieldException e)
+      {
+         // TODO Auto-generated catch block
+         e.printStackTrace();
+         throw new RuntimeException(e);
+      }
+      cpField.setAccessible(true);
+      try
+      {
+         cpField.set(ScopedClassPoolRepositoryImpl.getInstance(), classPool);
+      } catch (IllegalArgumentException e)
+      {
+         // TODO Auto-generated catch block
+         e.printStackTrace();
+      } catch (IllegalAccessException e)
+      {
+         // TODO Auto-generated catch block
+         e.printStackTrace();
+         throw new RuntimeException(e);
+      }
    }
    
    /**




More information about the jboss-cvs-commits mailing list