Title: [1254] trunk/qdox/src/test/java/com/thoughtworks/qdox/model: Remove static Types and JavaClass objects from DefaultJavaClass.
Revision
1254
Author
rfscholte
Date
2011-05-29 06:42:08 -0500 (Sun, 29 May 2011)

Log Message

Remove static Types and JavaClass objects from DefaultJavaClass.
If there's a performance problem, we could add some sort of pre-cache within the AbstractClassLibrary to serve often used classes a bit faster, but testsuite running time doesn't reflect this.
Disabled an invalid test, which only succeeded because other tests had already set the static values for OBJECT_TYPE and OBJECT_JAVACLASS

Modified Paths

Diff

Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/DefaultJavaClass.java (1253 => 1254)

--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/DefaultJavaClass.java	2011-05-28 15:40:50 UTC (rev 1253)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/DefaultJavaClass.java	2011-05-29 11:42:08 UTC (rev 1254)
@@ -35,13 +35,6 @@
  */
 public class DefaultJavaClass extends AbstractInheritableJavaEntity implements JavaClass {
 
-    private static Type OBJECT_TYPE;
-    private static Type ENUM_TYPE;
-    private static Type ANNOTATION = new Type("java.lang.annotation.Annotation");
-    
-    private static JavaClass OBJECT_JAVACLASS;
-    private static JavaClass ENUM_JAVACLASS;
-
     private List<JavaConstructor> constructors = new LinkedList<JavaConstructor>();
     private List<JavaMethod> methods = new LinkedList<JavaMethod>();
     private List<JavaField> fields = new LinkedList<JavaField>();
@@ -106,12 +99,8 @@
      * @see com.thoughtworks.qdox.model.JavaClass#getSuperClass()
      */
     public Type getSuperClass() {
-        if(OBJECT_TYPE == null) {
-            if(getSource().getJavaClassLibrary() != null) {
-                OBJECT_TYPE = getSource().getJavaClassLibrary().getJavaClass( "java.lang.Object" ).asType();
-                ENUM_TYPE = getSource().getJavaClassLibrary().getJavaClass( "java.lang.Enum" ).asType();
-            }
-        }
+        Type OBJECT_TYPE = getSource().getJavaClassLibrary().getJavaClass( "java.lang.Object" ).asType();
+        Type ENUM_TYPE = getSource().getJavaClassLibrary().getJavaClass( "java.lang.Enum" ).asType();
         
         boolean iAmJavaLangObject = OBJECT_TYPE.equals(asType());
 
@@ -129,12 +118,8 @@
      */
     public JavaClass getSuperJavaClass() {
         JavaClass result = null;
-        if(OBJECT_JAVACLASS == null) {
-            if(getSource().getJavaClassLibrary() != null) {
-                OBJECT_JAVACLASS = getSource().getJavaClassLibrary().getJavaClass( "java.lang.Object" );
-                ENUM_JAVACLASS = getSource().getJavaClassLibrary().getJavaClass( "java.lang.Enum" );
-            }
-        }
+        JavaClass OBJECT_JAVACLASS = getSource().getJavaClassLibrary().getJavaClass( "java.lang.Object" );
+        JavaClass ENUM_JAVACLASS = getSource().getJavaClassLibrary().getJavaClass( "java.lang.Enum" );
         
         boolean iAmJavaLangObject = OBJECT_JAVACLASS.equals(this);
         

Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/model/JavaClassTest.java (1253 => 1254)

--- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/JavaClassTest.java	2011-05-28 15:40:50 UTC (rev 1253)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/model/JavaClassTest.java	2011-05-29 11:42:08 UTC (rev 1254)
@@ -686,7 +686,10 @@
         assertEquals( varArgMethod, cls.getMethodBySignature( "doSomething", Collections.singletonList( stringType ), true, true ) );
     }
  
-    public void testJavaLangObjectAsDefaultSuperClass() throws Exception {
+    public void QDOX2_tofix_testJavaLangObjectAsDefaultSuperClass() throws Exception {
+        //up untill now this succeeds, because other tests have already set the static value of OBJECT
+        //running this test alone make it fail, so it's not a proper test.
+        //should be fixed if we can get rid of the Type-visibility
         JavaClass clazz = newJavaClass( "a.b.Sample" );
         assertEquals( "java.lang.Object", clazz.getSuperClass().getJavaClass().getFullyQualifiedName() );
     }


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to