[jboss-cvs] JBossAS SVN: r75409 - in projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins: javassist and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Jul 5 05:11:45 EDT 2008
Author: alesj
Date: 2008-07-05 05:11:45 -0400 (Sat, 05 Jul 2008)
New Revision: 75409
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
Log:
[JBREFLECT-28]; finally get the synch right (strict enough).
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-05 03:06:40 UTC (rev 75408)
+++ projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/introspection/IntrospectionTypeInfoFactoryImpl.java 2008-07-05 09:11:45 UTC (rev 75409)
@@ -302,17 +302,21 @@
return primitive;
NumberInfo number = NumberInfo.valueOf(clazz.getName());
- if (number != null && number.getPhase() != NumberInfo.Phase.INITIALIZING)
+ if (number != null)
{
synchronized (number)
{
- if (number.getPhase() != NumberInfo.Phase.COMPLETE)
+ // are we (since it's our synch monitor) just initializing
+ if (number.getPhase() != NumberInfo.Phase.INITIALIZING)
{
- number.initializing();
- number.setDelegate(get(clazz));
+ if (number.getPhase() != NumberInfo.Phase.COMPLETE)
+ {
+ number.initializing();
+ number.setDelegate(get(clazz));
+ }
+ return number;
}
}
- return number;
}
return get(clazz);
@@ -333,17 +337,21 @@
return primitive;
NumberInfo number = NumberInfo.valueOf(name);
- if (number != null && number.getPhase() != NumberInfo.Phase.INITIALIZING)
+ if (number != null)
{
synchronized (number)
{
- if (number.getPhase() != NumberInfo.Phase.COMPLETE)
+ // are we (since it's our synch monitor) just initializing
+ if (number.getPhase() != NumberInfo.Phase.INITIALIZING)
{
- number.initializing();
- number.setDelegate(get(type));
+ if (number.getPhase() != NumberInfo.Phase.COMPLETE)
+ {
+ number.initializing();
+ number.setDelegate(get(type));
+ }
+ return number;
}
}
- return number;
}
}
@@ -360,17 +368,21 @@
return primitive;
NumberInfo number = NumberInfo.valueOf(name);
- if (number != null && number.getPhase() != NumberInfo.Phase.INITIALIZING)
+ if (number != null)
{
synchronized (number)
{
- if (number.getPhase() != NumberInfo.Phase.COMPLETE)
+ // are we (since it's our synch monitor) just initializing
+ if (number.getPhase() != NumberInfo.Phase.INITIALIZING)
{
- number.initializing();
- number.setDelegate(resolveComplexTypeInfo(cl, name));
+ if (number.getPhase() != NumberInfo.Phase.COMPLETE)
+ {
+ number.initializing();
+ number.setDelegate(resolveComplexTypeInfo(cl, name));
+ }
+ return number;
}
}
- return number;
}
return resolveComplexTypeInfo(cl, name);
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-05 03:06:40 UTC (rev 75408)
+++ projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java 2008-07-05 09:11:45 UTC (rev 75409)
@@ -261,17 +261,20 @@
return primitive;
NumberInfo number = NumberInfo.valueOf(clazz.getName());
- if (number != null && number.getPhase() != NumberInfo.Phase.INITIALIZING)
+ if (number != null)
{
synchronized (number)
{
- if (number.getPhase() != NumberInfo.Phase.COMPLETE)
+ if (number.getPhase() != NumberInfo.Phase.INITIALIZING)
{
- number.initializing();
- number.setDelegate((TypeInfo)get(clazz));
+ if (number.getPhase() != NumberInfo.Phase.COMPLETE)
+ {
+ number.initializing();
+ number.setDelegate((TypeInfo)get(clazz));
+ }
+ return number;
}
}
- return number;
}
return (TypeInfo) get(clazz);
@@ -289,17 +292,20 @@
return primitive;
NumberInfo number = NumberInfo.valueOf(name);
- if (number != null && number.getPhase() != NumberInfo.Phase.INITIALIZING)
+ if (number != null)
{
synchronized (number)
{
- if (number.getPhase() != NumberInfo.Phase.COMPLETE)
+ if (number.getPhase() != NumberInfo.Phase.INITIALIZING)
{
- number.initializing();
- number.setDelegate((TypeInfo) get(Class.forName(name, false, cl)));
+ if (number.getPhase() != NumberInfo.Phase.COMPLETE)
+ {
+ number.initializing();
+ number.setDelegate((TypeInfo)get(Class.forName(name, false, cl)));
+ }
+ return number;
}
}
- return number;
}
Class<?> clazz = Class.forName(name, false, cl);
More information about the jboss-cvs-commits
mailing list