METAGEN-101 Adding checkstyle plugin and making some style fixes (not 100% Hibernate ORM compatible yet)

This commit is contained in:
Hardy Ferentschik 2013-10-22 15:55:07 +02:00 committed by Strong Liu
parent 0c6b601006
commit fdbfbd03ec
109 changed files with 376 additions and 155 deletions

View File

@ -4,6 +4,7 @@ apply plugin: 'maven'
apply plugin: 'maven-publish'
apply plugin: 'maven-publish-auth'
apply plugin: 'jdocbook'
apply plugin: 'checkstyle'
task wrapper(type: Wrapper) {
gradleVersion = '1.7'
@ -158,6 +159,13 @@ test {
}
}
checkstyle {
configFile = rootProject.file( 'src/config/checkstyle/checkstyle.xml' )
showViolations = true
ignoreFailures = true
}
checkstyleMain.exclude '**/jaxb/**'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Javadocs
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -173,7 +181,7 @@ task javadocs(type: Javadoc) {
classpath = files( configurations.compile, "${buildDir}/classes/main" )
maxMemory = '512m'
configure( options ) {
stylesheetFile = rootProject.file( 'src/main/javadoc/stylesheet.css' )
stylesheetFile = rootProject.file( 'src/config/javadoc/stylesheet.css' )
windowTitle = 'Hibernate JPA 2 Metamodel Generator JavaDocs'
docTitle = "Hibernate JPA 2 Metamodel Generator JavaDocs ($project.version)"
bottom = "Copyright &copy; 2001-$copyrightYear <a href=\"http://redhat.com\">Red Hat, Inc.</a> All Rights Reserved."
@ -183,7 +191,7 @@ task javadocs(type: Javadoc) {
doLast {
copy {
from rootProject.file( 'src/main/javadoc/images' )
from rootProject.file( 'src/config/javadoc/images' )
into new File( javadocDir, "/images" )
}
}
@ -298,21 +306,19 @@ publishing {
}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Artifact deploy
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
task sourcesJar(type: Jar, dependsOn: compileJava) {
from sourceSets.main.allSource
from sourceSets.main.allSource
classifier = 'sources'
}
artifacts {
archives sourcesJar
archives sourcesJar
}
uploadArchives.dependsOn sourcesJar
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Release
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ Copyright (c) 2013, Red Hat Inc. or third-party contributors as
~ indicated by the @author tags or express copyright attribution
~ statements applied by the authors. All third-party contributions are
~ distributed under license by Red Hat Inc.
~
~ This copyrighted material is made available to anyone wishing to use, modify,
~ copy, or redistribute it subject to the terms and conditions of the GNU
~ Lesser General Public License, as published by the Free Software Foundation.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
~ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
~ for more details.
~
~ You should have received a copy of the GNU Lesser General Public License
~ along with this distribution; if not, write to:
~ Free Software Foundation, Inc.
~ 51 Franklin Street, Fifth Floor
~ Boston, MA 02110-1301 USA
-->
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.1//EN" "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<module name="Checker">
<module name="TreeWalker">
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
General regex checks as part of the TreeWalker
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<module name="RegexpSinglelineJava">
<property name="ignoreComments" value="true" />
<property name="format" value="^\t* +\t*\S" />
<property name="message" value="Line has leading space characters; indentation should be performed with tabs only." />
</module>
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Annotation checks
See http://checkstyle.sourceforge.net/config_annotation.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<module name="MissingDeprecated" />
<module name="MissingOverride" />
<module name="PackageAnnotation" />
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Block checks
See http://checkstyle.sourceforge.net/config_blocks.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<module name="AvoidNestedBlocks">
<property name="allowInSwitchCase" value="true" />
<property name="severity" value="warning" />
</module>
<module name="NeedBraces" />
<module name="LeftCurly">
<property name="option" value="eol" />
</module>
<module name="RightCurly">
<property name="option" value="alone" />
</module>
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Design checks
See http://checkstyle.sourceforge.net/config_design.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<module name="HideUtilityClassConstructor" />
<module name="MutableException" />
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Coding checks
See http://checkstyle.sourceforge.net/config_coding.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<module name="EmptyStatement" />
<module name="EqualsHashCode" />
<module name="MissingSwitchDefault" />
<module name="SimplifyBooleanExpression" />
<module name="SimplifyBooleanReturn" />
<module name="StringLiteralEquality" />
<module name="NoFinalizer" />
<module name="ExplicitInitialization" />
<module name="MissingSwitchDefault" />
<module name="DefaultComesLast" />
<module name="FallThrough" />
<module name="OneStatementPerLine" />
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Import checks
See http://checkstyle.sourceforge.net/config_imports.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<module name="AvoidStarImport" />
<module name="RedundantImport" />
<module name="UnusedImports" />
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Misc checks
See http://checkstyle.sourceforge.net/config_misc.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<module name="UpperEll" />
<module name="ArrayTypeStyle" />
<module name="TrailingComment">
<property name="severity" value="warning" />
</module>
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Modifier checks
See http://checkstyle.sourceforge.net/config_modifier.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<module name="ModifierOrder"/>
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Naming checks
See http://checkstyle.sourceforge.net/config_naming.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<module name="AbstractClassName">
<!-- we are just using this to make sure that classes matching the pattern (Abstract*) have the abstract modifier -->
<property name="format" value="^Abstract.*$" />
<property name="ignoreName" value="true" />
</module>
<module name="ConstantName">
<property name="format" value="^[A-Z](_?[A-Z0-9]+)*$|log" />
</module>
<module name="LocalFinalVariableName" />
<module name="LocalVariableName" />
<module name="MemberName" />
<!--
The org.hibernate.engine.spi.ManagedEntity method names (prefixed with '&&_') muck with this
<module name="MethodName" />
-->
<module name="MethodTypeParameterName" />
<module name="PackageName" />
<module name="ParameterName" />
<module name="StaticVariableName" />
<module name="TypeName" />
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Whitespace checks
See http://checkstyle.sourceforge.net/config_whitespace.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<module name="MethodParamPad" />
<module name="TypecastParenPad" />
<module name="ParenPad">
<property name="tokens" value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL" />
<property name="option" value="space" />
</module>
</module>
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Misc checks
See http://checkstyle.sourceforge.net/config_misc.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<module name="NewlineAtEndOfFile" />
</module>

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 270 B

After

Width:  |  Height:  |  Size: 270 B

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -64,7 +64,7 @@ public final class Context {
* Whether all mapping files are xml-mapping-metadata-complete. In this case no annotation processing will take
* place.
*/
private Boolean fullyXmlConfigured = null;
private Boolean fullyXmlConfigured;
private boolean addGeneratedAnnotation = true;
private boolean addGenerationDate;
private boolean addSuppressWarningsAnnotation;

View File

@ -37,7 +37,7 @@ public class ImportContextImpl implements ImportContext {
private String basePackage = "";
private static String LINE_SEPARATOR = System.getProperty( "line.separator" );
private static final String LINE_SEPARATOR = System.getProperty( "line.separator" );
private static final Map<String, String> PRIMITIVES = new HashMap<String, String>();
static {
@ -110,7 +110,7 @@ public class ImportContextImpl implements ImportContext {
if ( inSamePackage( fqcn ) || ( imports.contains( pureFqcn ) && canBeSimple ) ) {
result = unqualify( result ); // de-qualify
result = unqualify( result );
}
else if ( inJavaLang( fqcn ) ) {
result = result.substring( "java.lang.".length() );

View File

@ -80,7 +80,7 @@ public abstract class AnnotationMetaAttribute implements MetaAttribute {
return parent;
}
abstract public String getMetaType();
public abstract String getMetaType();
public String getTypeDeclaration() {
return type;

View File

@ -28,13 +28,16 @@ public class AnnotationMetaMap extends AnnotationMetaCollection {
private final String keyType;
public AnnotationMetaMap(AnnotationMetaEntity parent, Element element, String collectionType,
String keyType, String elementType) {
String keyType, String elementType) {
super( parent, element, collectionType, elementType );
this.keyType = keyType;
}
public String getDeclarationString() {
return "public static volatile " + getHostingEntity().importType( getMetaType() ) + "<" + getHostingEntity().importType( getHostingEntity().getQualifiedName() ) + ", " + getHostingEntity()
.importType( keyType ) + ", " + getHostingEntity().importType( getTypeDeclaration() ) + "> " + getPropertyName() + ";";
return "public static volatile " + getHostingEntity().importType( getMetaType() )
+ "<" + getHostingEntity().importType( getHostingEntity().getQualifiedName() )
+ ", " + getHostingEntity().importType( keyType ) + ", "
+ getHostingEntity().importType( getTypeDeclaration() ) + "> "
+ getPropertyName() + ";";
}
}

View File

@ -41,7 +41,7 @@ public final class Constants {
public static final String ELEMENT_COLLECTION = "javax.persistence.ElementCollection";
public static final String ACCESS = "javax.persistence.Access";
public static Map<String, String> COLLECTIONS = new HashMap<String, String>();
public static final Map<String, String> COLLECTIONS = new HashMap<String, String>();
static {
COLLECTIONS.put( java.util.Collection.class.getName(), "javax.persistence.metamodel.CollectionAttribute" );
@ -54,7 +54,7 @@ public final class Constants {
COLLECTIONS.put( java.util.SortedMap.class.getName(), "javax.persistence.metamodel.MapAttribute" );
}
public static List<String> BASIC_TYPES = new ArrayList<String>();
public static final List<String> BASIC_TYPES = new ArrayList<String>();
static {
BASIC_TYPES.add( java.lang.String.class.getName() );
@ -76,7 +76,7 @@ public final class Constants {
BASIC_TYPES.add( java.sql.Blob.class.getName() );
}
public static List<String> BASIC_ARRAY_TYPES = new ArrayList<String>();
public static final List<String> BASIC_ARRAY_TYPES = new ArrayList<String>();
static {
BASIC_ARRAY_TYPES.add( java.lang.Character.class.getName() );

View File

@ -44,7 +44,7 @@ public class FileTimeStampChecker implements Serializable {
return false;
}
FileTimeStampChecker that = ( FileTimeStampChecker ) o;
FileTimeStampChecker that = (FileTimeStampChecker) o;
if ( !lastModifiedCache.equals( that.lastModifiedCache ) ) {
return false;

View File

@ -55,9 +55,9 @@ public class XmlParserHelper {
*/
private static final int NUMBER_OF_SCHEMAS = 4;
private static final XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
private static final XMLInputFactory XML_INPUT_FACTORY = XMLInputFactory.newInstance();
private static final ConcurrentMap<String, Schema> schemaCache = new ConcurrentHashMap<String, Schema>(
private static final ConcurrentMap<String, Schema> SCHEMA_CACHE = new ConcurrentHashMap<String, Schema>(
NUMBER_OF_SCHEMAS
);
@ -102,14 +102,14 @@ public class XmlParserHelper {
}
public Schema getSchema(String schemaResource) throws XmlParsingException {
Schema schema = schemaCache.get( schemaResource );
Schema schema = SCHEMA_CACHE.get( schemaResource );
if ( schema != null ) {
return schema;
}
schema = loadSchema( schemaResource );
Schema previous = schemaCache.putIfAbsent( schemaResource, schema );
Schema previous = SCHEMA_CACHE.putIfAbsent( schemaResource, schema );
return previous != null ? previous : schema;
}
@ -147,7 +147,7 @@ public class XmlParserHelper {
}
private synchronized XMLEventReader createXmlEventReader(InputStream xmlStream) throws XMLStreamException {
return xmlInputFactory.createXMLEventReader( xmlStream );
return XML_INPUT_FACTORY.createXMLEventReader( xmlStream );
}
private String getPackage(String resourceName) {

View File

@ -450,6 +450,8 @@ public class JpaDescriptorParser {
case PROPERTY: {
return AccessType.PROPERTY;
}
default: {
}
}
return null;
}

View File

@ -55,7 +55,7 @@ public abstract class XmlMetaAttribute implements MetaAttribute {
}
@Override
abstract public String getMetaType();
public abstract String getMetaType();
@Override
public String toString() {

View File

@ -23,14 +23,14 @@ import org.hibernate.jpamodelgen.model.MetaCollection;
*/
public class XmlMetaCollection extends XmlMetaAttribute implements MetaCollection {
private String collectionType;
private String collectionType;
public XmlMetaCollection(XmlMetaEntity parent, String propertyName, String type, String collectionType) {
super(parent, propertyName, type);
this.collectionType = collectionType;
}
public XmlMetaCollection(XmlMetaEntity parent, String propertyName, String type, String collectionType) {
super( parent, propertyName, type );
this.collectionType = collectionType;
}
@Override
@Override
public String getMetaType() {
return collectionType;
}

View File

@ -61,7 +61,7 @@ import org.hibernate.jpamodelgen.xml.jaxb.OneToOne;
*/
public class XmlMetaEntity implements MetaEntity {
static Map<String, String> COLLECTIONS = new HashMap<String, String>();
static final Map<String, String> COLLECTIONS = new HashMap<String, String>();
static {
COLLECTIONS.put( "java.util.Collection", "javax.persistence.metamodel.CollectionAttribute" );
@ -354,6 +354,8 @@ public class XmlMetaEntity implements MetaEntity {
case TYPEVAR: {
return mirror.toString();
}
default: {
}
}
}

View File

@ -23,12 +23,12 @@ import org.hibernate.jpamodelgen.model.MetaSingleAttribute;
*/
public class XmlMetaSingleAttribute extends XmlMetaAttribute implements MetaSingleAttribute {
public XmlMetaSingleAttribute(XmlMetaEntity parent, String propertyName, String type) {
super(parent, propertyName, type);
}
public XmlMetaSingleAttribute(XmlMetaEntity parent, String propertyName, String type) {
super( parent, propertyName, type );
}
@Override
public String getMetaType() {
return "javax.persistence.metamodel.SingularAttribute";
}
public String getMetaType() {
return "javax.persistence.metamodel.SingularAttribute";
}
}

View File

@ -23,8 +23,6 @@ import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import org.hibernate.jpamodelgen.test.accesstype.Product;
/**
*
* @author Max Andersen
@ -34,49 +32,49 @@ import org.hibernate.jpamodelgen.test.accesstype.Product;
@Entity
public class Item {
long _id;
long id;
int _quantity;
int quantity;
Product _product;
Product product;
Order _order;
Order order;
Detail detail;
@Id
public long getId() {
return _id;
return id;
}
public void setId(long id) {
this._id = id;
this.id = id;
}
public int getQuantity() {
return _quantity;
return quantity;
}
public void setQuantity(int quantity) {
this._quantity = quantity;
this.quantity = quantity;
}
@ManyToOne
public Product getProduct() {
return _product;
return product;
}
public void setProduct(Product product) {
this._product = product;
this.product = product;
}
@ManyToOne
public Order getOrder() {
return _order;
return order;
}
public void setOrder(Order order) {
this._order = order;
this.order = order;
}
@OneToMany

View File

@ -18,17 +18,12 @@ package org.hibernate.jpamodelgen.test.accesstype;
import java.math.BigDecimal;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import org.hibernate.jpamodelgen.test.accesstype.Item;
import org.hibernate.jpamodelgen.test.accesstype.Shop;
/**
*
* @author Max Andersen
* @author Hardy Ferentschik
* @author Emmanuel Bernard
@ -42,7 +37,7 @@ public class Product {
@Id
long id;
int test;
int test;
String description;
BigDecimal price;

View File

@ -20,7 +20,6 @@ import javax.persistence.Entity;
import javax.persistence.Id;
/**
*
* @author Max Andersen
* @author Hardy Ferentschik
* @author Emmanuel Bernard
@ -32,3 +31,4 @@ public class Shop {
String name;
}

View File

@ -22,6 +22,6 @@ import javax.persistence.MappedSuperclass;
@MappedSuperclass
public class Base {
@Id
protected String uuid;
@Id
protected String uuid;
}

View File

@ -21,6 +21,6 @@ import javax.persistence.Entity;
@Entity
public class MyEntity extends Base {
@Embedded
private EmbeddableEntity emb;
@Embedded
private EmbeddableEntity emb;
}

View File

@ -5,7 +5,7 @@ import java.io.Serializable;
/**
* @author Hardy Ferentschik
*/
public class AbstractRef implements Serializable {
public abstract class AbstractRef implements Serializable {
private final int id;
protected AbstractRef() {

View File

@ -19,11 +19,10 @@ package org.hibernate.jpamodelgen.test.generatedannotation;
import java.util.HashMap;
import java.util.Map;
import org.testng.annotations.Test;
import org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor;
import org.hibernate.jpamodelgen.test.util.CompilationTest;
import org.hibernate.jpamodelgen.test.util.TestForIssue;
import org.testng.annotations.Test;
import static org.hibernate.jpamodelgen.test.util.TestUtil.assertMetamodelClassGeneratedFor;
import static org.hibernate.jpamodelgen.test.util.TestUtil.getMetaModelSourceAsString;

View File

@ -16,10 +16,9 @@
*/
package org.hibernate.jpamodelgen.test.hashcode;
import org.testng.annotations.Test;
import org.hibernate.jpamodelgen.test.util.CompilationTest;
import org.hibernate.jpamodelgen.test.util.TestForIssue;
import org.testng.annotations.Test;
import static org.hibernate.jpamodelgen.test.util.TestUtil.assertAbsenceOfFieldInMetamodelFor;
import static org.hibernate.jpamodelgen.test.util.TestUtil.assertMetamodelClassGeneratedFor;

View File

@ -59,3 +59,4 @@ public class InheritanceTest extends CompilationTest {
return InheritanceTest.class.getPackage().getName();
}
}

View File

@ -25,7 +25,7 @@ import javax.persistence.MappedSuperclass;
@Embeddable
@MappedSuperclass
public class EmbeddableAndMappedSuperClass {
}

View File

@ -39,3 +39,4 @@ public class Car extends Vehicle {
}

View File

@ -24,7 +24,8 @@ import javax.persistence.Embeddable;
@Embeddable
public class Coordinates {
public float longitude;
public float latitude;
public float latitude;
}

View File

@ -67,3 +67,4 @@ public class EmployeeWithRawType implements java.io.Serializable {
this.desks = desks;
}
}

View File

@ -49,8 +49,8 @@ public abstract class CompilationTest {
private static final String ANNOTATION_PROCESSOR_OPTION_PREFIX = "-A";
private static final String SOURCE_BASE_DIR_PROPERTY = "sourceBaseDir";
private static final String OUT_BASE_DIR_PROPERTY = "outBaseDir";
private static final String sourceBaseDir;
private static final String outBaseDir;
private static final String SOURCE_BASE_DIR;
private static final String OUT_BASE_DIR;
public static final String DIRECTORY_SEPARATOR = File.separator;
@ -61,13 +61,13 @@ public abstract class CompilationTest {
if ( tmp == null ) {
fail( "The system property sourceBaseDir has to be set and point to the base directory of the test java sources." );
}
sourceBaseDir = tmp;
SOURCE_BASE_DIR = tmp;
tmp = System.getProperty( OUT_BASE_DIR_PROPERTY );
if ( tmp == null ) {
fail( "The system property outBaseDir has to be set and point to the base directory of the test output directory." );
}
outBaseDir = tmp;
OUT_BASE_DIR = tmp;
}
public CompilationTest() {
@ -79,14 +79,14 @@ public abstract class CompilationTest {
}
public static String getSourceBaseDir() {
return sourceBaseDir;
return SOURCE_BASE_DIR;
}
@BeforeClass
protected void compileAllTestEntities() throws Exception {
List<File> sourceFiles = getCompilationUnits( sourceBaseDir, getPackageNameOfCurrentTest() );
List<File> sourceFiles = getCompilationUnits( SOURCE_BASE_DIR, getPackageNameOfCurrentTest() );
// make sure there are no relics from previous runs
TestUtil.deleteGeneratedSourceFiles( new File( outBaseDir ) );
TestUtil.deleteGeneratedSourceFiles( new File( OUT_BASE_DIR ) );
compile( sourceFiles );
}
@ -134,7 +134,7 @@ public abstract class CompilationTest {
return javaFiles;
}
abstract protected String getPackageNameOfCurrentTest();
protected abstract String getPackageNameOfCurrentTest();
protected Map<String, String> getProcessorOptions() {
return Collections.emptyMap();
@ -157,7 +157,7 @@ public abstract class CompilationTest {
private List<String> createJavaOptions() {
List<String> options = new ArrayList<String>();
options.add( "-d" );
options.add( outBaseDir );
options.add( OUT_BASE_DIR );
// pass orm files if specified
if ( !getOrmFiles().isEmpty() ) {

View File

@ -46,14 +46,14 @@ public class TestUtil {
private static final String PATH_SEPARATOR = System.getProperty( "file.separator" );
private static final String PACKAGE_SEPARATOR = ".";
private static final String META_MODEL_CLASS_POSTFIX = "_";
private static final String outBaseDir;
private static final String OUT_BASE_DIR;
static {
String tmp = System.getProperty( "outBaseDir" );
if ( tmp == null ) {
fail( "The system property outBaseDir has to be set and point to the base directory of the test output directory." );
}
outBaseDir = tmp;
OUT_BASE_DIR = tmp;
}
private TestUtil() {
@ -112,7 +112,7 @@ public class TestUtil {
// generate the file name
String fileName = metaModelClassName.replace( PACKAGE_SEPARATOR, PATH_SEPARATOR );
fileName = fileName.concat( ".java" );
return new File( outBaseDir + PATH_SEPARATOR + fileName );
return new File( OUT_BASE_DIR + PATH_SEPARATOR + fileName );
}
public static String getMetaModelSourceAsString(Class<?> clazz) {
@ -122,7 +122,7 @@ public class TestUtil {
try {
BufferedReader input = new BufferedReader( new FileReader( sourceFile ) );
try {
String line = null; //not declared within while loop
String line = null;
/*
* readLine is a bit quirky :
* it returns the content of a line MINUS the newline.
@ -281,7 +281,7 @@ public class TestUtil {
}
else {
fail( "Unexpected component type" );
return null; // making the compiler happy
return null;
}
}

View File

@ -30,3 +30,4 @@ public abstract class BusinessEntity<T extends Serializable> implements Serializ
}

View File

@ -16,8 +16,8 @@
*/
package org.hibernate.jpamodelgen.test.xmlmapped;
import org.hibernate.jpamodelgen.test.accesstype.*;
import org.hibernate.jpamodelgen.test.accesstype.Address;
import org.hibernate.jpamodelgen.test.accesstype.Area;
/**
* @author Hardy Ferentschik

View File

@ -30,7 +30,8 @@ import static org.hibernate.jpamodelgen.test.util.TestUtil.assertMetamodelClassG
/**
* @author Hardy Ferentschik
*/
public class IgnoreInvalidXmlTest extends CompilationTest {
public class
IgnoreInvalidXmlTest extends CompilationTest {
@Test
public void testInvalidXmlFilesGetIgnored() {
// this is only a indirect test, but if the invalid xml files would cause the processor to abort the

View File

@ -57,3 +57,4 @@ public class XmlMetaDataCompleteMultiplePersistenceUnitsTest extends Compilation
return properties;
}
}

View File

@ -33,3 +33,4 @@ public class Car {
public void setTires(Set<Tire> tires) {
}
}

View File

@ -19,7 +19,7 @@ package org.hibernate.jpamodelgen.test.xmlonly;
import java.util.Set;
public class Course {
private Long id;
private String name;
private Set<Teacher> qualifiedTeachers;
private Long id;
private String name;
private Set<Teacher> qualifiedTeachers;
}

View File

@ -20,3 +20,4 @@ public class Option {
private Long id;
private Period period;
}

View File

@ -22,3 +22,4 @@ public class Period {
private Date start;
private Date end;
}

View File

@ -19,6 +19,7 @@ package org.hibernate.jpamodelgen.test.xmlonly;
import java.util.Set;
public class Teacher {
private Long id;
private Set<Course> qualifiedFor;
private Long id;
private Set<Course> qualifiedFor;
}

View File

@ -31,3 +31,4 @@ public class Tire {
public void setCar(Car car) {
}
}