[hibernate-commits] Hibernate SVN: r20778 - in jpamodelgen/trunk/src: test/java/org/hibernate/jpamodelgen/test/accesstype and 14 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Wed Oct 6 07:18:07 EDT 2010


Author: hardy.ferentschik
Date: 2010-10-06 07:18:07 -0400 (Wed, 06 Oct 2010)
New Revision: 20778

Modified:
   jpamodelgen/trunk/src/main/java/org/hibernate/jpamodelgen/xml/XmlMetaEntity.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/accesstype/AccessTypeTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/arraytype/ArrayTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/blob/BlobTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/elementcollection/ElementCollectionTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/embeddablemappedsuperclass/EmbeddableMappedSuperClassTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/generatedannotation/GeneratedAnnotationTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/generatedannotation/GeneratedAnnotationTest2.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/generics/GenericsTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/inheritance/InheritanceTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/mixedmode/MixedConfigurationTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/mixedmode/XmlMetaCompleteTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/rawtypes/RawTypesTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/targetannotation/TargetAnnotationTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/util/CompilationTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlmapped/IgnoreInvalidXmlTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlmapped/XmlMappingTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlmetacomplete/XmlMetaDataCompleteTest.java
   jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlonly/XmlOnlyTest.java
Log:
METAGEN-35 Refactored the test base class

Modified: jpamodelgen/trunk/src/main/java/org/hibernate/jpamodelgen/xml/XmlMetaEntity.java
===================================================================
--- jpamodelgen/trunk/src/main/java/org/hibernate/jpamodelgen/xml/XmlMetaEntity.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/main/java/org/hibernate/jpamodelgen/xml/XmlMetaEntity.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -124,7 +124,7 @@
 		this.isMetaComplete = initIsMetaComplete( metaComplete );
 	}
 
-	protected void init() {
+	protected final void init() {
 		this.accessTypeInfo = context.getAccessTypeInfo( getQualifiedName() );
 		if ( attributes != null ) {
 			parseAttributes( attributes );

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/accesstype/AccessTypeTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/accesstype/AccessTypeTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/accesstype/AccessTypeTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -99,7 +99,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return AccessTypeTest.class.getPackage().getName();
 	}
 

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/arraytype/ArrayTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/arraytype/ArrayTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/arraytype/ArrayTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -49,7 +49,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return Image.class.getPackage().getName();
 	}
 }
\ No newline at end of file

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/blob/BlobTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/blob/BlobTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/blob/BlobTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -40,7 +40,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return BlobTest.class.getPackage().getName();
 	}
 }
\ No newline at end of file

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/elementcollection/ElementCollectionTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/elementcollection/ElementCollectionTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/elementcollection/ElementCollectionTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -78,7 +78,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return ElementCollectionTest.class.getPackage().getName();
 	}
 

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/embeddablemappedsuperclass/EmbeddableMappedSuperClassTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/embeddablemappedsuperclass/EmbeddableMappedSuperClassTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/embeddablemappedsuperclass/EmbeddableMappedSuperClassTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -40,7 +40,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return EmbeddableMappedSuperClassTest.class.getPackage().getName();
 	}
 }
\ No newline at end of file

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/generatedannotation/GeneratedAnnotationTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/generatedannotation/GeneratedAnnotationTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/generatedannotation/GeneratedAnnotationTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -42,7 +42,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return GeneratedAnnotationTest.class.getPackage().getName();
 	}
 }
\ No newline at end of file

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/generatedannotation/GeneratedAnnotationTest2.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/generatedannotation/GeneratedAnnotationTest2.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/generatedannotation/GeneratedAnnotationTest2.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -56,7 +56,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return GeneratedAnnotationTest2.class.getPackage().getName();
 	}
 }
\ No newline at end of file

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/generics/GenericsTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/generics/GenericsTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/generics/GenericsTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -37,7 +37,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return GenericsTest.class.getPackage().getName();
 	}
 }
\ No newline at end of file

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/inheritance/InheritanceTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/inheritance/InheritanceTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/inheritance/InheritanceTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -52,7 +52,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return InheritanceTest.class.getPackage().getName();
 	}
 }

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/mixedmode/MixedConfigurationTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/mixedmode/MixedConfigurationTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/mixedmode/MixedConfigurationTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -96,7 +96,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return MixedConfigurationTest.class.getPackage().getName();
 	}
 

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/mixedmode/XmlMetaCompleteTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/mixedmode/XmlMetaCompleteTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/mixedmode/XmlMetaCompleteTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -42,7 +42,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return XmlMetaCompleteTest.class.getPackage().getName();
 	}
 

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/rawtypes/RawTypesTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/rawtypes/RawTypesTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/rawtypes/RawTypesTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -37,7 +37,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return DeskWithRawType.class.getPackage().getName();
 	}
 }
\ No newline at end of file

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/targetannotation/TargetAnnotationTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/targetannotation/TargetAnnotationTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/targetannotation/TargetAnnotationTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -42,7 +42,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return TargetAnnotationTest.class.getPackage().getName();
 	}
 }
\ No newline at end of file

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/util/CompilationTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/util/CompilationTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/util/CompilationTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -49,7 +49,6 @@
  */
 public abstract class CompilationTest {
 	private static final Logger log = LoggerFactory.getLogger( CompilationTest.class );
-	private static final String PATH_SEPARATOR = System.getProperty( "file.separator" );
 	private static final String ANNOTATION_PROCESSOR_OPTION_PREFIX = "-A";
 	private static final String PROC_NONE = "-proc:none";
 	private static final String SOURCE_BASE_DIR_PROPERTY = "sourceBaseDir";
@@ -57,6 +56,8 @@
 	private static final String sourceBaseDir;
 	private static final String outBaseDir;
 
+	public static final String PATH_SEPARATOR = System.getProperty( "file.separator" );
+
 	private List<Diagnostic> compilationDiagnostics;
 
 	static {
@@ -81,16 +82,34 @@
 		return compilationDiagnostics;
 	}
 
+	public static String getSourceBaseDir() {
+		return sourceBaseDir;
+	}
+
 	@BeforeClass
-	protected void compile() throws Exception {
+	protected void compileAllTestEntities() throws Exception {
+		List<File> sourceFiles = getCompilationUnits( sourceBaseDir, getPackageNameOfCurrentTest() );
+		// make sure there are no relics from previous runs
 		TestUtil.deleteGeneratedSourceFiles( new File( outBaseDir ) );
+		compile( sourceFiles, getPackageNameOfCurrentTest() );
+	}
+
+	/**
+	 * Compiles the specified Java classes and generated the meta model java files which in turn get also compiled.
+	 *
+	 * @param sourceFiles the files containing the java source files to compile.
+	 * @param packageName the package name of the source files
+	 *
+	 * @throws Exception in case the compilation fails
+	 */
+	protected void compile(List<File> sourceFiles, String packageName) throws Exception {
 		List<String> options = createJavaOptions();
 
 		JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
 		DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>();
 		StandardJavaFileManager fileManager = compiler.getStandardFileManager( diagnostics, null, null );
 		Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromFiles(
-				getCompilationUnits( sourceBaseDir )
+				sourceFiles
 		);
 
 		// TODO - need to call the compiler twice. Once to compile the test classes and generate the java files
@@ -99,7 +118,7 @@
 		compileSources( options, compiler, diagnostics, fileManager, compilationUnits );
 
 		compilationUnits = fileManager.getJavaFileObjectsFromFiles(
-				getCompilationUnits( outBaseDir )
+				getCompilationUnits( outBaseDir, packageName )
 		);
 		options.add( PROC_NONE ); // for the second compile skip the processor
 		compileSources( options, compiler, diagnostics, fileManager, compilationUnits );
@@ -107,6 +126,34 @@
 		fileManager.close();
 	}
 
+	protected List<File> getCompilationUnits(String baseDir, String packageName) {
+		List<File> javaFiles = new ArrayList<File>();
+		String packageDirName = baseDir + PATH_SEPARATOR + packageName.replace( ".", PATH_SEPARATOR );
+		File packageDir = new File( packageDirName );
+		FilenameFilter javaFileFilter = new FilenameFilter() {
+			@Override
+			public boolean accept(File dir, String name) {
+				return name.endsWith( ".java" ) && !name.endsWith( "Test.java" );
+			}
+		};
+		final File[] files = packageDir.listFiles( javaFileFilter );
+		if ( files == null ) {
+			throw new RuntimeException( "Cannot find package directory (is your base dir correct?): " + packageDirName );
+		}
+		javaFiles.addAll( Arrays.asList( files ) );
+		return javaFiles;
+	}
+
+	abstract protected String getPackageNameOfCurrentTest();
+
+	protected Map<String, String> getProcessorOptions() {
+		return Collections.emptyMap();
+	}
+
+	protected Collection<String> getOrmFiles() {
+		return Collections.emptyList();
+	}
+
 	private void compileSources(List<String> options, JavaCompiler compiler, DiagnosticCollector<JavaFileObject> diagnostics, StandardJavaFileManager fileManager, Iterable<? extends JavaFileObject> compilationUnits) {
 		JavaCompiler.CompilationTask task = compiler.getTask(
 				null, fileManager, diagnostics, options, null, compilationUnits
@@ -147,34 +194,6 @@
 		}
 		return options;
 	}
-
-	private List<File> getCompilationUnits(String baseDir) {
-		List<File> javaFiles = new ArrayList<File>();
-		String packageDirName = baseDir + PATH_SEPARATOR + getPackageNameOfTestSources().replace( ".", PATH_SEPARATOR );
-		File packageDir = new File( packageDirName );
-		FilenameFilter javaFileFilter = new FilenameFilter() {
-			@Override
-			public boolean accept(File dir, String name) {
-				return name.endsWith( ".java" ) && !name.endsWith( "Test.java" );
-			}
-		};
-		final File[] files = packageDir.listFiles( javaFileFilter );
-		if ( files == null ) {
-			throw new RuntimeException( "Cannot find package directory (is your base dir correct?): " + packageDirName );
-		}
-		javaFiles.addAll( Arrays.asList( files ) );
-		return javaFiles;
-	}
-
-	abstract protected String getPackageNameOfTestSources();
-
-	protected Map<String, String> getProcessorOptions() {
-		return Collections.emptyMap();
-	}
-
-	protected Collection<String> getOrmFiles() {
-		return Collections.emptyList();
-	}
 }
 
 

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlmapped/IgnoreInvalidXmlTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlmapped/IgnoreInvalidXmlTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlmapped/IgnoreInvalidXmlTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -42,7 +42,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return IgnoreInvalidXmlTest.class.getPackage().getName();
 	}
 

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlmapped/XmlMappingTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlmapped/XmlMappingTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlmapped/XmlMappingTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -104,7 +104,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return XmlMappingTest.class.getPackage().getName();
 	}
 

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlmetacomplete/XmlMetaDataCompleteTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlmetacomplete/XmlMetaDataCompleteTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlmetacomplete/XmlMetaDataCompleteTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -42,7 +42,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return XmlMetaDataCompleteTest.class.getPackage().getName();
 	}
 

Modified: jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlonly/XmlOnlyTest.java
===================================================================
--- jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlonly/XmlOnlyTest.java	2010-10-06 11:16:11 UTC (rev 20777)
+++ jpamodelgen/trunk/src/test/java/org/hibernate/jpamodelgen/test/xmlonly/XmlOnlyTest.java	2010-10-06 11:18:07 UTC (rev 20778)
@@ -40,7 +40,7 @@
 	}
 
 	@Override
-	protected String getPackageNameOfTestSources() {
+	protected String getPackageNameOfCurrentTest() {
 		return XmlOnlyTest.class.getPackage().getName();
 	}
 



More information about the hibernate-commits mailing list