[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