[jboss-cvs] JBossAS SVN: r75389 - in projects/jboss-reflect/trunk/src/main/org/jboss/reflect: plugins/javassist and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jul 4 10:17:56 EDT 2008


Author: alesj
Date: 2008-07-04 10:17:56 -0400 (Fri, 04 Jul 2008)
New Revision: 75389

Modified:
   projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/introspection/IntrospectionTypeInfoFactoryImpl.java
   projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java
   projects/jboss-reflect/trunk/src/main/org/jboss/reflect/spi/NumberInfo.java
Log:
[JBREFLECT-28]; remove synch code from NumberInfo, add it where it really belongs.

Modified: projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/introspection/IntrospectionTypeInfoFactoryImpl.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/introspection/IntrospectionTypeInfoFactoryImpl.java	2008-07-04 14:07:20 UTC (rev 75388)
+++ projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/introspection/IntrospectionTypeInfoFactoryImpl.java	2008-07-04 14:17:56 UTC (rev 75389)
@@ -304,9 +304,12 @@
       NumberInfo number = NumberInfo.valueOf(clazz.getName());
       if (number != null)
       {
-         if (number.isInitialized() == false)
+         synchronized (number)
          {
-            number.setDelegate(get(clazz));
+            if (number.isInitialized() == false)
+            {
+               number.setDelegate(get(clazz));
+            }
          }
          return number;
       }
@@ -331,9 +334,12 @@
          NumberInfo number = NumberInfo.valueOf(name);
          if (number != null)
          {
-            if (number.isInitialized() == false)
+            synchronized (number)
             {
-               number.setDelegate(get(type));
+               if (number.isInitialized() == false)
+               {
+                  number.setDelegate(get(type));
+               }
             }
             return number;
          }
@@ -354,9 +360,12 @@
       NumberInfo number = NumberInfo.valueOf(name);
       if (number != null)
       {
-         if (number.isInitialized() == false)
+         synchronized (number)
          {
-            number.setDelegate(resolveComplexTypeInfo(cl, name));
+            if (number.isInitialized() == false)
+            {
+               number.setDelegate(resolveComplexTypeInfo(cl, name));
+            }
          }
          return number;
       }

Modified: projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java	2008-07-04 14:07:20 UTC (rev 75388)
+++ projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java	2008-07-04 14:17:56 UTC (rev 75389)
@@ -263,9 +263,12 @@
       NumberInfo number = NumberInfo.valueOf(clazz.getName());
       if (number != null)
       {
-         if (number.isInitialized() == false)
+         synchronized (number)
          {
-            number.setDelegate((TypeInfo) get(clazz));
+            if (number.isInitialized() == false)
+            {
+               number.setDelegate((TypeInfo) get(clazz));
+            }
          }
          return number;
       }
@@ -287,9 +290,12 @@
       NumberInfo number = NumberInfo.valueOf(name);
       if (number != null)
       {
-         if (number.isInitialized() == false)
+         synchronized (number)
          {
-            number.setDelegate((TypeInfo) get(Class.forName(name, false, cl)));
+            if (number.isInitialized() == false)
+            {
+               number.setDelegate((TypeInfo) get(Class.forName(name, false, cl)));
+            }
          }
          return number;
       }

Modified: projects/jboss-reflect/trunk/src/main/org/jboss/reflect/spi/NumberInfo.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/org/jboss/reflect/spi/NumberInfo.java	2008-07-04 14:07:20 UTC (rev 75388)
+++ projects/jboss-reflect/trunk/src/main/org/jboss/reflect/spi/NumberInfo.java	2008-07-04 14:17:56 UTC (rev 75389)
@@ -26,7 +26,6 @@
 import java.util.HashMap;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 import org.jboss.util.JBossStringBuilder;
 
@@ -64,9 +63,6 @@
    /** The atomic long info */
    public static final NumberInfo ATOMIC_LONG = new NumberInfo(7, AtomicLong.class);
 
-   /** The lock */
-   private ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
-
    /** The primitives */
    private static final NumberInfo[] values = {
          BYTE_OBJECT,
@@ -133,15 +129,7 @@
       if (info instanceof NumberInfo)
          throw new IllegalArgumentException("Cannot be delegate to itself: " + info);
 
-      lock.writeLock().lock();
-      try
-      {
-         delegate = (ClassInfo) info;
-      }
-      finally
-      {
-         lock.writeLock().unlock();
-      }
+      delegate = (ClassInfo) info;
    }
 
    /**
@@ -151,15 +139,7 @@
     */
    public boolean isInitialized()
    {
-      lock.readLock().lock();
-      try
-      {
-         return (delegate != null);
-      }
-      finally
-      {
-         lock.readLock().unlock();
-      }
+      return (delegate != null);
    }
 
    @Override




More information about the jboss-cvs-commits mailing list