- Revision
- 1168
- Author
- rfscholte
- Date
- 2011-04-19 15:14:01 -0500 (Tue, 19 Apr 2011)
Log Message
Restore and improve getJavaPackage() from ClassLibraries
Modified Paths
- trunk/qdox/src/main/java/com/thoughtworks/qdox/library/AbstractClassLibrary.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/library/ClassLoaderLibrary.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/library/ClassNameLibrary.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/library/SourceLibrary.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/DefaultJavaPackage.java
- trunk/qdox/src/test/java/com/thoughtworks/qdox/JavaProjectBuilderTest.java
Diff
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/library/AbstractClassLibrary.java (1167 => 1168)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/library/AbstractClassLibrary.java 2011-04-15 20:18:00 UTC (rev 1167) +++ trunk/qdox/src/main/java/com/thoughtworks/qdox/library/AbstractClassLibrary.java 2011-04-19 20:14:01 UTC (rev 1168) @@ -215,7 +215,7 @@ return context.getPackages(); } - public JavaPackage getJavaPackage( String name ) { + public final JavaPackage getJavaPackage( String name ) { JavaPackage result = context.getPackageByName( name ); if (result == null) { result = resolveJavaPackage( name );
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/library/ClassLoaderLibrary.java (1167 => 1168)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/library/ClassLoaderLibrary.java 2011-04-15 20:18:00 UTC (rev 1167) +++ trunk/qdox/src/main/java/com/thoughtworks/qdox/library/ClassLoaderLibrary.java 2011-04-19 20:14:01 UTC (rev 1168) @@ -159,10 +159,11 @@ @Override protected JavaPackage resolveJavaPackage(String name) { - JavaPackage result = null; + DefaultJavaPackage result = null; Package pckg = Package.getPackage(name); if(pckg != null) { result = new DefaultJavaPackage(name); + result.setClassLibrary( this ); } return result; }
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/library/ClassNameLibrary.java (1167 => 1168)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/library/ClassNameLibrary.java 2011-04-15 20:18:00 UTC (rev 1167) +++ trunk/qdox/src/main/java/com/thoughtworks/qdox/library/ClassNameLibrary.java 2011-04-19 20:14:01 UTC (rev 1168) @@ -55,7 +55,7 @@ @Override protected JavaPackage resolveJavaPackage(String name) { - return new DefaultJavaPackage(name); + return null; } @Override
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/library/SourceLibrary.java (1167 => 1168)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/library/SourceLibrary.java 2011-04-15 20:18:00 UTC (rev 1167) +++ trunk/qdox/src/main/java/com/thoughtworks/qdox/library/SourceLibrary.java 2011-04-19 20:14:01 UTC (rev 1168) @@ -31,6 +31,7 @@ import java.util.List; import com.thoughtworks.qdox.builder.ModelBuilder; +import com.thoughtworks.qdox.model.DefaultJavaPackage; import com.thoughtworks.qdox.model.JavaClass; import com.thoughtworks.qdox.model.JavaPackage; import com.thoughtworks.qdox.model.JavaSource; @@ -125,19 +126,25 @@ public JavaSource addSource( File file ) throws ParseException, IOException { - JavaSource result = parse( new FileInputStream( file ) ); - // if an error is handled by the errorHandler the result will be null - if( result != null ) - { - if(context.getPackageByName(result.getPackageName()) == null) { - File packageFile = new File(file.getParentFile(), "package-info.java"); - if(packageFile.exists() && packageFile.isFile()) { - JavaSource packageSource = parse(new FileInputStream(packageFile)); - context.add(packageSource.getPackage()); + JavaSource result = null; + if ( !"package-info.java".equals( file.getName() ) ) + { + result = parse( new FileInputStream( file ) ); + // if an error is handled by the errorHandler the result will be null + if( result != null ) + { + if( getJavaPackage( result.getPackageName() ) == null ) + { + File packageInfo = new File(file.getParentFile(), "package-info.java"); + if( packageInfo.exists() ) + { + JavaPackage pckg = parse( new FileInputStream( packageInfo ) ).getPackage(); + context.add( pckg ); + } } + registerJavaSource(result); } - registerJavaSource(result); - } + } return result; } @@ -228,20 +235,28 @@ if ( source != null ) { context.add( source ); - if(context.getPackageByName(source.getPackageName()) == null) { - context.add( source.getPackage() ); - } - + registerJavaPackage( source.getPackage() ); for( JavaClass clazz : source.getClasses()) { registerJavaClass( clazz ); } } } - //@todo move to JavaClassContext + private void registerJavaPackage( JavaPackage pckg ) + { + String pckgName = ( pckg == null || pckg.getName() == null ? "" : pckg.getName() ); + if( getJavaPackage( pckgName ) == null ) + { + DefaultJavaPackage packageInfo = new DefaultJavaPackage( pckgName ); + packageInfo.setClassLibrary( this ); + context.add( packageInfo ); + } + } + private void registerJavaClass(JavaClass clazz) { if (clazz != null) { context.add( clazz ); + getJavaPackage( clazz.getPackageName() ).getClasses().add( clazz ); } for( JavaClass innerClazz : clazz.getNestedClasses()) { registerJavaClass( innerClazz );
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/DefaultJavaPackage.java (1167 => 1168)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/DefaultJavaPackage.java 2011-04-15 20:18:00 UTC (rev 1167) +++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/DefaultJavaPackage.java 2011-04-19 20:14:01 UTC (rev 1168) @@ -32,9 +32,6 @@ private String name; private List<JavaClass> classes = new LinkedList<JavaClass>(); - public DefaultJavaPackage() { - } - public DefaultJavaPackage(String name) { this.name= name; }
Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/JavaProjectBuilderTest.java (1167 => 1168)
--- trunk/qdox/src/test/java/com/thoughtworks/qdox/JavaProjectBuilderTest.java 2011-04-15 20:18:00 UTC (rev 1167) +++ trunk/qdox/src/test/java/com/thoughtworks/qdox/JavaProjectBuilderTest.java 2011-04-19 20:14:01 UTC (rev 1168) @@ -126,14 +126,14 @@ assertEquals(2, classes.size()); } - public void QDOX2_2FIX___testGetPackagesShowsOnePackageAndTwoClasses() { + public void testGetPackagesShowsOnePackageAndTwoClasses() { builder.addSourceTree(new File("target/test-source")); List<JavaPackage> packages = builder.getPackages(); assertEquals(2, packages.size()); - JavaPackage comBlahSubpackage = packages.get(0); + JavaPackage comBlah = packages.get(0); + assertEquals("com.blah", comBlah.getName()); + JavaPackage comBlahSubpackage = packages.get(1); assertEquals("com.blah.subpackage", comBlahSubpackage.getName()); - JavaPackage comBlah = packages.get(1); - assertEquals("com.blah", comBlah.getName()); List<JavaClass> classes = comBlahSubpackage.getClasses(); assertEquals(1, classes.size()); assertEquals("Cheese", classes.get(0).getName()); @@ -1267,7 +1267,7 @@ } // for QDOX-195 - public void QDOX2_2FIX___testSharedPackageJavaClasses() { + public void testSharedPackageJavaClasses() { String source1 = "@javax.xml.bind.annotation.XmlSchema(namespace = \"http://docs.oasis-open.org/wsn/br-2\")\n" + "package com.foo;\n" + "public class Bar1 {}";
To unsubscribe from this list please visit: