Title: [551] trunk/qdox/src/test/com/thoughtworks/qdox: parent packages

Diff

Modified: trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaPackage.java (550 => 551)

--- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaPackage.java	2009-02-16 22:49:08 UTC (rev 550)
+++ trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaPackage.java	2009-02-16 23:06:57 UTC (rev 551)
@@ -2,21 +2,24 @@
 
 import java.util.List;
 import java.util.ArrayList;
+import java.util.Map;
 
 
 public class JavaPackage extends AbstractBaseJavaEntity {
 
 	private String name;
-	private Annotation[] annotations = new Annotation[0];
+    private Map allPackages;
+    private Annotation[] annotations = new Annotation[0];
 	private int lineNumber = -1;
 	private List classes = new ArrayList();
 
-	public JavaPackage() {
+    public JavaPackage() {
 	}
 
-	public JavaPackage(String name) {
+	public JavaPackage(String name, Map allPackages) {
 		this.name= name;
-	}
+        this.allPackages = allPackages;
+    }
 
 	public String getName() {
 		return name;
@@ -56,6 +59,11 @@
 		return (JavaClass[]) classes.toArray(new JavaClass[classes.size()]);
 	}
 
+    public JavaPackage getParentPackage() {
+        String parentName = name.substring(0,name.lastIndexOf("."));
+        return (JavaPackage) allPackages.get(parentName);
+    }
+
     public boolean equals(Object o) {
         if (this == o) return true;
         if (o == null || getClass() != o.getClass()) return false;

Modified: trunk/qdox/src/java/com/thoughtworks/qdox/model/ModelBuilder.java (550 => 551)

--- trunk/qdox/src/java/com/thoughtworks/qdox/model/ModelBuilder.java	2009-02-16 22:49:08 UTC (rev 550)
+++ trunk/qdox/src/java/com/thoughtworks/qdox/model/ModelBuilder.java	2009-02-16 23:06:57 UTC (rev 551)
@@ -53,7 +53,7 @@
     public void addPackage(PackageDef packageDef) {
         JavaPackage jPackage = (JavaPackage) allPackages.get(packageDef.name);
         if (jPackage == null) {
-            jPackage = new JavaPackage(packageDef.name);
+            jPackage = new JavaPackage(packageDef.name, allPackages);
             allPackages.put(packageDef.name, jPackage);
         }
         jPackage.setLineNumber(packageDef.lineNumber);

Modified: trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java (550 => 551)

--- trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java	2009-02-16 22:49:08 UTC (rev 550)
+++ trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java	2009-02-16 23:06:57 UTC (rev 551)
@@ -111,15 +111,19 @@
         builder.addSourceTree(new File("target/test-source"));
         JavaPackage[] packages = builder.getPackages();
         assertEquals(2, packages.length);
-        assertEquals("com.blah.subpackage", packages[0].getName());
-        assertEquals("com.blah", packages[1].getName());
-        JavaClass[] classes = packages[0].getClasses();
+        JavaPackage comBlahSubpackage = packages[0];
+        assertEquals("com.blah.subpackage", comBlahSubpackage.getName());
+        JavaPackage comBlah = packages[1];
+        assertEquals("com.blah", comBlah.getName());
+        JavaClass[] classes = comBlahSubpackage.getClasses();
         assertEquals(1, classes.length);
         assertEquals("Cheese", classes[0].getName());
-        classes = packages[1].getClasses();
+        classes = comBlah.getClasses();
         assertEquals(2, classes.length);
         assertEquals("Another", classes[0].getName());
         assertEquals("Thing", classes[1].getName());
+        assertEquals(comBlah, comBlahSubpackage.getParentPackage());
+        assertNull(comBlah.getParentPackage());
     }
 
     private String createOuter() {

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

--- trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaClassTest.java	2009-02-16 22:49:08 UTC (rev 550)
+++ trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaClassTest.java	2009-02-16 23:06:57 UTC (rev 551)
@@ -2,6 +2,8 @@
 
 import junit.framework.TestCase;
 
+import java.util.HashMap;
+
 public class JavaClassTest extends TestCase {
 
     private JavaClass cls;
@@ -342,7 +344,7 @@
     }
 
     public void testQualifiedType() throws Exception {
-        src.setPackage(new JavaPackage("com.thoughtworks.qdox"));
+        src.setPackage(new JavaPackage("com.thoughtworks.qdox", new HashMap()));
 
         cls.setName("MyClass");
 
@@ -355,13 +357,13 @@
     }
 
     public void testGetClassNamePrefix() {
-        src.setPackage(new JavaPackage("foo.bar"));
+        src.setPackage(new JavaPackage("foo.bar", new HashMap()));
         cls.setName("Stanley");
         assertEquals("foo.bar.Stanley$", cls.getClassNamePrefix());
     }
     
     public void testInnerClass() throws Exception {
-        src.setPackage(new JavaPackage("foo.bar"));
+        src.setPackage(new JavaPackage("foo.bar", new HashMap()));
 
         JavaClass outer = new JavaClass();
         outer.setName("Outer");
@@ -460,7 +462,7 @@
     }
     
     public void testResolveTypeInnerClass() throws Exception {
-        src.setPackage(new JavaPackage("p"));
+        src.setPackage(new JavaPackage("p", new HashMap()));
         cls.setName("X");
         JavaClass innerClass = new JavaClass();
         innerClass.setName("DogFood");

Modified: trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaSourceTest.java (550 => 551)

--- trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaSourceTest.java	2009-02-16 22:49:08 UTC (rev 550)
+++ trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaSourceTest.java	2009-02-16 23:06:57 UTC (rev 551)
@@ -2,6 +2,8 @@
 
 import junit.framework.TestCase;
 
+import java.util.HashMap;
+
 public class JavaSourceTest extends TestCase {
 
     private JavaSource source;
@@ -57,7 +59,7 @@
         JavaClass cls = new JavaClass();
         cls.setName("MyClass");
         source.addClass(cls);
-        source.setPackage(new JavaPackage("com.thing"));
+        source.setPackage(new JavaPackage("com.thing", new HashMap()));
         String expected = ""
                 + "package com.thing;\n"
                 + "\n"
@@ -104,7 +106,7 @@
         cls.setName("MyClass");
         source.addClass(cls);
         source.addImport("java.util.*");
-        source.setPackage(new JavaPackage("com.moo"));
+        source.setPackage(new JavaPackage("com.moo", new HashMap()));
         String expected = ""
                 + "package com.moo;\n"
                 + "\n"
@@ -118,7 +120,7 @@
 
     public void testGetClassNamePrefix() {
         assertEquals("", source.getClassNamePrefix());
-        source.setPackage(new JavaPackage("foo.bar"));
+        source.setPackage(new JavaPackage("foo.bar", new HashMap()));
         assertEquals("foo.bar.", source.getClassNamePrefix());
        }
     
@@ -160,13 +162,13 @@
     }
 
     public void testResolveSamePackage() throws Exception {
-        source.setPackage(new JavaPackage("foo"));
+        source.setPackage(new JavaPackage("foo", new HashMap()));
         source.getClassLibrary().add("foo.Bar");
         assertEquals("foo.Bar", source.resolveType("Bar"));
     }
 
     public void testResolveFullyQualifiedTrumpsSamePackage() throws Exception {
-        source.setPackage(new JavaPackage("foo"));
+        source.setPackage(new JavaPackage("foo", new HashMap()));
         source.getClassLibrary().add("foo.Bar");
         source.getClassLibrary().add("open.Bar");
         assertEquals("open.Bar", source.resolveType("open.Bar"));
@@ -200,13 +202,13 @@
     }
 
     public void testResolveFullyQualifiedInnerClass() throws Exception {
-        source.setPackage(new JavaPackage("foo"));
+        source.setPackage(new JavaPackage("foo", new HashMap()));
         source.getClassLibrary().add("foo.Bar$Fnord");
         assertEquals("foo.Bar$Fnord", source.resolveType("foo.Bar.Fnord"));
     }
 
     public void testResolvePartiallySpecifiedInnerClass() throws Exception {
-        source.setPackage(new JavaPackage("foo"));
+        source.setPackage(new JavaPackage("foo", new HashMap()));
         source.addImport("java.util.*");
         source.getClassLibrary().add("foo.Bar$Fnord");
         source.getClassLibrary().addDefaultLoader();


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to