Hibernate SVN: r19529 - core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile.
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2010-05-17 10:29:28 -0400 (Mon, 17 May 2010)
New Revision: 19529
Modified:
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Customer.java
Log:
HHH-5149 documentation for versioning
Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Customer.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Customer.java 2010-05-17 14:28:55 UTC (rev 19528)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Customer.java 2010-05-17 14:29:28 UTC (rev 19529)
@@ -49,8 +49,6 @@
@FetchProfile(name = "customer-with-orders-and-country",
fetchOverrides = {
@FetchProfile.FetchOverride(entity = Customer.class, association = "orders", mode = FetchMode.JOIN),
- //The following does not work
- //(a)FetchProfile.FetchOverride(entity = Customer.class, association = "orders.country", mode = FetchMode.JOIN),
@FetchProfile.FetchOverride(entity = Customer.class, association = "lastOrder", mode = FetchMode.JOIN)
})
})
13 years, 11 months
Hibernate SVN: r19528 - core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile.
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2010-05-17 10:28:55 -0400 (Mon, 17 May 2010)
New Revision: 19528
Added:
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Country.java
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/MoreFetchProfileTest.java
Modified:
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Customer.java
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/FetchProfileTest.java
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Order.java
Log:
HHH-5233 add test on @FetchProfile and multiple @FetchOverride
Added: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Country.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Country.java (rev 0)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Country.java 2010-05-17 14:28:55 UTC (rev 19528)
@@ -0,0 +1,22 @@
+package org.hibernate.test.annotations.fetchprofile;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+/**
+ * @author Emmanuel Bernard
+ */
+@Entity
+@Table(name="Order_Country")
+public class Country {
+ @Id @GeneratedValue
+ public Integer getId() { return id; }
+ public void setId(Integer id) { this.id = id; }
+ private Integer id;
+
+ public String getName() { return name; }
+ public void setName(String name) { this.name = name; }
+ private String name;
+}
Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Customer.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Customer.java 2010-05-17 12:47:14 UTC (rev 19527)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Customer.java 2010-05-17 14:28:55 UTC (rev 19528)
@@ -1,4 +1,4 @@
-// $Id:$
+// $Id$
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
@@ -25,21 +25,34 @@
*/
package org.hibernate.test.annotations.fetchprofile;
+import java.util.HashSet;
import java.util.Set;
import javax.persistence.Entity;
+import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
+import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import org.hibernate.annotations.FetchMode;
import org.hibernate.annotations.FetchProfile;
+import org.hibernate.annotations.FetchProfiles;
/**
* @author Hardy Ferentschik
*/
@Entity
-@FetchProfile(name = "customer-with-orders", fetchOverrides = {
- @FetchProfile.FetchOverride(entity = Customer.class, association = "orders", mode = FetchMode.JOIN)
+@FetchProfiles( {
+ @FetchProfile(name = "customer-with-orders", fetchOverrides = {
+ @FetchProfile.FetchOverride(entity = Customer.class, association = "orders", mode = FetchMode.JOIN)
+ }),
+ @FetchProfile(name = "customer-with-orders-and-country",
+ fetchOverrides = {
+ @FetchProfile.FetchOverride(entity = Customer.class, association = "orders", mode = FetchMode.JOIN),
+ //The following does not work
+ //(a)FetchProfile.FetchOverride(entity = Customer.class, association = "orders.country", mode = FetchMode.JOIN),
+ @FetchProfile.FetchOverride(entity = Customer.class, association = "lastOrder", mode = FetchMode.JOIN)
+ })
})
public class Customer {
@Id
@@ -51,8 +64,27 @@
private long customerNumber;
@OneToMany
- private Set<Order> orders;
+ private Set<Order> orders = new HashSet<Order>();
+ @ManyToOne(fetch = FetchType.LAZY)
+ private Order lastOrder;
+
+ public Order getLastOrder() {
+ return lastOrder;
+ }
+
+ public void setLastOrder(Order lastOrder) {
+ this.lastOrder = lastOrder;
+ }
+
+ public Set<SupportTickets> getTickets() {
+ return tickets;
+ }
+
+ public void setTickets(Set<SupportTickets> tickets) {
+ this.tickets = tickets;
+ }
+
@OneToMany
private Set<SupportTickets> tickets;
Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/FetchProfileTest.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/FetchProfileTest.java 2010-05-17 12:47:14 UTC (rev 19527)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/FetchProfileTest.java 2010-05-17 14:28:55 UTC (rev 19528)
@@ -1,4 +1,4 @@
-// $Id:$
+// $Id$
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
@@ -49,6 +49,7 @@
config.addAnnotatedClass( Customer.class );
config.addAnnotatedClass( Order.class );
config.addAnnotatedClass( SupportTickets.class );
+ config.addAnnotatedClass( Country.class );
SessionFactoryImplementor sessionImpl = ( SessionFactoryImplementor ) config.buildSessionFactory();
assertTrue(
@@ -65,6 +66,7 @@
AnnotationConfiguration config = new AnnotationConfiguration();
config.addAnnotatedClass( Customer2.class );
config.addAnnotatedClass( Order.class );
+ config.addAnnotatedClass( Country.class );
try {
config.buildSessionFactory();
@@ -79,6 +81,7 @@
AnnotationConfiguration config = new AnnotationConfiguration();
config.addAnnotatedClass( Customer3.class );
config.addAnnotatedClass( Order.class );
+ config.addAnnotatedClass( Country.class );
try {
config.buildSessionFactory();
@@ -93,6 +96,7 @@
AnnotationConfiguration config = new AnnotationConfiguration();
config.addAnnotatedClass( Customer4.class );
config.addAnnotatedClass( Order.class );
+ config.addAnnotatedClass( Country.class );
try {
config.buildSessionFactory();
@@ -107,6 +111,7 @@
AnnotationConfiguration config = new AnnotationConfiguration();
config.addAnnotatedClass( Customer5.class );
config.addAnnotatedClass( Order.class );
+ config.addAnnotatedClass( Country.class );
InputStream is = Thread.currentThread()
.getContextClassLoader()
.getResourceAsStream( "org/hibernate/test/annotations/fetchprofile/mappings.hbm.xml" );
@@ -122,6 +127,7 @@
config = new AnnotationConfiguration();
config.addAnnotatedClass( Customer5.class );
config.addAnnotatedClass( Order.class );
+ config.addAnnotatedClass( Country.class );
try {
config.buildSessionFactory();
fail();
@@ -136,6 +142,7 @@
config.addAnnotatedClass( Customer.class );
config.addAnnotatedClass( Order.class );
config.addAnnotatedClass( SupportTickets.class );
+ config.addAnnotatedClass( Country.class );
config.addPackage( Customer.class.getPackage().getName() );
SessionFactoryImplementor sessionImpl = ( SessionFactoryImplementor ) config.buildSessionFactory();
Added: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/MoreFetchProfileTest.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/MoreFetchProfileTest.java (rev 0)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/MoreFetchProfileTest.java 2010-05-17 14:28:55 UTC (rev 19528)
@@ -0,0 +1,75 @@
+package org.hibernate.test.annotations.fetchprofile;
+
+import java.util.Date;
+
+import org.hibernate.Hibernate;
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+import org.hibernate.junit.FailureExpected;
+import org.hibernate.test.annotations.TestCase;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class MoreFetchProfileTest extends TestCase{
+
+ @FailureExpected( jiraKey = "HHH-5233")
+ public void testFetchWithTwoOverrides() throws Exception {
+ Session s = openSession( );
+ s.enableFetchProfile( "customer-with-orders-and-country" );
+ final Transaction transaction = s.beginTransaction();
+ Country ctry = new Country();
+ ctry.setName( "France" );
+ Order o = new Order();
+ o.setCountry( ctry );
+ o.setDeliveryDate( new Date() );
+ o.setOrderNumber( 1 );
+ Order o2 = new Order();
+ o2.setCountry( ctry );
+ o2.setDeliveryDate( new Date() );
+ o2.setOrderNumber( 2 );
+ Customer c = new Customer();
+ c.setCustomerNumber( 1 );
+ c.setName( "Emmanuel" );
+ c.getOrders().add( o );
+ c.setLastOrder( o2 );
+
+ s.persist( ctry );
+ s.persist( o );
+ s.persist( o2 );
+ s.persist( c );
+
+ s.flush();
+
+ s.clear();
+
+ c = (Customer) s.get( Customer.class, c.getId() );
+ assertTrue( Hibernate.isInitialized( c.getLastOrder() ) );
+ assertTrue( Hibernate.isInitialized( c.getOrders() ) );
+ for(Order so : c.getOrders() ) {
+ //assertTrue( Hibernate.isInitialized( so.getCountry() ) );
+ }
+ final Order order = c.getOrders().iterator().next();
+ c.getOrders().remove( order );
+ s.delete( c );
+ final Order lastOrder = c.getLastOrder();
+ c.setLastOrder( null );
+ s.delete( order.getCountry() );
+ s.delete( lastOrder );
+ s.delete( order );
+
+ transaction.commit();
+ s.close();
+
+ }
+
+ @Override
+ protected Class<?>[] getAnnotatedClasses() {
+ return new Class<?>[] {
+ Order.class,
+ Country.class,
+ Customer.class,
+ SupportTickets.class
+ };
+ }
+}
Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Order.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Order.java 2010-05-17 12:47:14 UTC (rev 19527)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/fetchprofile/Order.java 2010-05-17 14:28:55 UTC (rev 19528)
@@ -1,4 +1,4 @@
-// $Id:$
+// $Id$
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
@@ -27,13 +27,17 @@
import java.util.Date;
import javax.persistence.Entity;
+import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
/**
* @author Hardy Ferentschik
*/
@Entity
+@Table(name="C_ORDER")
public class Order {
@Id
@GeneratedValue
@@ -43,6 +47,17 @@
private Date deliveryDate;
+ @ManyToOne(fetch = FetchType.LAZY)
+ private Country country;
+
+ public Country getCountry() {
+ return country;
+ }
+
+ public void setCountry(Country country) {
+ this.country = country;
+ }
+
public Date getDeliveryDate() {
return deliveryDate;
}
13 years, 11 months
Hibernate SVN: r19527 - in validator/trunk/hibernate-validator/src: test/java/org/hibernate/validator/constraints/impl and 1 other directory.
by hibernate-commits@lists.jboss.org
Author: hardy.ferentschik
Date: 2010-05-17 08:47:14 -0400 (Mon, 17 May 2010)
New Revision: 19527
Modified:
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/constraints/impl/URLValidator.java
validator/trunk/hibernate-validator/src/test/java/org/hibernate/validator/constraints/impl/URLValidatorTest.java
Log:
HV-323
Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/constraints/impl/URLValidator.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/constraints/impl/URLValidator.java 2010-05-16 21:33:05 UTC (rev 19526)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/constraints/impl/URLValidator.java 2010-05-17 12:47:14 UTC (rev 19527)
@@ -40,7 +40,7 @@
}
public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
- if ( value == null ) {
+ if ( value == null || value.length() == 0 ) {
return true;
}
Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validator/constraints/impl/URLValidatorTest.java
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validator/constraints/impl/URLValidatorTest.java 2010-05-16 21:33:05 UTC (rev 19526)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validator/constraints/impl/URLValidatorTest.java 2010-05-17 12:47:14 UTC (rev 19527)
@@ -41,7 +41,6 @@
validator.initialize( url );
assertTrue( validator.isValid( null, null ) );
- assertFalse( validator.isValid( "", null ) );
assertFalse( validator.isValid( "http", null ) );
assertFalse( validator.isValid( "ftp//abc.de", null ) );
assertTrue( validator.isValid( "ftp://abc.de", null ) );
@@ -62,7 +61,7 @@
descriptor = new AnnotationDescriptor<URL>( URL.class );
descriptor.setValue( "protocol", "file" );
url = AnnotationFactory.create( descriptor );
- validator = new URLValidator();
+ validator = new URLValidator();
validator.initialize( url );
assertFalse( validator.isValid( "http://abc.de", null ) );
assertTrue( validator.isValid( "file://Users/foobar/tmp", null ) );
@@ -105,4 +104,18 @@
assertFalse( validator.isValid( "ftp://www#hibernate#org:80", null ) );
assertTrue( validator.isValid( "http://www.hibernate.org:80", null ) );
}
+
+ @Test
+ public void testIsValidEmptyString() {
+ // HV-323
+ AnnotationDescriptor<URL> descriptor = new AnnotationDescriptor<URL>( URL.class );
+ descriptor.setValue( "protocol", "http" );
+ descriptor.setValue( "host", "www.hibernate.org" );
+ descriptor.setValue( "port", 80 );
+ URL url = AnnotationFactory.create( descriptor );
+ URLValidator validator = new URLValidator();
+ validator.initialize( url );
+
+ assertTrue( validator.isValid( "", null ) );
+ }
}
\ No newline at end of file
13 years, 11 months
Hibernate SVN: r19526 - in core/trunk: annotations/src/test/java/org/hibernate/test/annotations/subselect and 2 other directories.
by hibernate-commits@lists.jboss.org
Author: gbadner
Date: 2010-05-16 17:33:05 -0400 (Sun, 16 May 2010)
New Revision: 19526
Modified:
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/manytomany/ManyToManyTest.java
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/subselect/SubselectTest.java
core/trunk/core/src/main/java/org/hibernate/dialect/PostgreSQLDialect.java
core/trunk/testsuite/src/test/java/org/hibernate/test/instrument/domain/Documents.hbm.xml
Log:
HHH-5231 HHH-5220 : Fixes for DB2 and PostgreSQL unit tests
Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/manytomany/ManyToManyTest.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/manytomany/ManyToManyTest.java 2010-05-15 16:05:09 UTC (rev 19525)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/manytomany/ManyToManyTest.java 2010-05-16 21:33:05 UTC (rev 19526)
@@ -99,9 +99,11 @@
s.close();
s = openSession();
+ tx = s.beginTransaction();
List result = s.createCriteria( Supplier.class ).createAlias( "suppStores", "s" ).add(
Restrictions.eq( "s.name", "Fnac" ) ).list();
assertEquals( 1, result.size() );
+ tx.commit();
s.close();
}
public void testDefaultCompositePk() throws Exception {
Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/subselect/SubselectTest.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/subselect/SubselectTest.java 2010-05-15 16:05:09 UTC (rev 19525)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/subselect/SubselectTest.java 2010-05-16 21:33:05 UTC (rev 19526)
@@ -71,7 +71,7 @@
HighestBid highestBid = (HighestBid) query.list().iterator().next();
assertEquals(200.0, highestBid.getAmount());
-
+ tx.rollback();
s.close();
Modified: core/trunk/core/src/main/java/org/hibernate/dialect/PostgreSQLDialect.java
===================================================================
--- core/trunk/core/src/main/java/org/hibernate/dialect/PostgreSQLDialect.java 2010-05-15 16:05:09 UTC (rev 19525)
+++ core/trunk/core/src/main/java/org/hibernate/dialect/PostgreSQLDialect.java 2010-05-16 21:33:05 UTC (rev 19526)
@@ -290,6 +290,10 @@
return "select now()";
}
+ public boolean supportsTupleDistinctCounts() {
+ return false;
+ }
+
public String toBooleanValueString(boolean bool) {
return bool ? "true" : "false";
}
Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/instrument/domain/Documents.hbm.xml
===================================================================
--- core/trunk/testsuite/src/test/java/org/hibernate/test/instrument/domain/Documents.hbm.xml 2010-05-15 16:05:09 UTC (rev 19525)
+++ core/trunk/testsuite/src/test/java/org/hibernate/test/instrument/domain/Documents.hbm.xml 2010-05-16 21:33:05 UTC (rev 19526)
@@ -56,7 +56,7 @@
<property name="sizeKb" lazy="true">
<column name="size_mb"
read="size_mb * 1024.0"
- write="? / 1024.0"/>
+ write="? / cast( 1024.0 as float )"/>
</property>
</class>
13 years, 11 months
Hibernate SVN: r19525 - in validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap: testutil and 1 other directories.
by hibernate-commits@lists.jboss.org
Author: gunnar.morling
Date: 2010-05-15 12:05:09 -0400 (Sat, 15 May 2010)
New Revision: 19525
Added:
validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/util/DiagnosticExpectation.java
Removed:
validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/util/DiagnosticExpection.java
Modified:
validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorTest.java
validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/testutil/CompilerTestHelper.java
Log:
HV-322: Renamed DiagnosticExpection to DiagnosticExpectation
Modified: validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorTest.java
===================================================================
--- validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorTest.java 2010-05-15 15:50:33 UTC (rev 19524)
+++ validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorTest.java 2010-05-15 16:05:09 UTC (rev 19525)
@@ -66,7 +66,7 @@
import org.hibernate.validator.ap.testmodel.nouniquevalidatorresolution.SizeValidatorForSerializable;
import org.hibernate.validator.ap.testmodel.nouniquevalidatorresolution.SizeValidatorForSet;
import org.hibernate.validator.ap.testutil.CompilerTestHelper;
-import org.hibernate.validator.ap.util.DiagnosticExpection;
+import org.hibernate.validator.ap.util.DiagnosticExpectation;
import static org.hibernate.validator.ap.testutil.CompilerTestHelper.assertThatDiagnosticsMatch;
import static org.testng.Assert.assertFalse;
@@ -121,7 +121,7 @@
assertFalse( compilationResult );
assertThatDiagnosticsMatch(
- diagnostics, new DiagnosticExpection( Kind.ERROR, 54 ), new DiagnosticExpection( Kind.ERROR, 60 )
+ diagnostics, new DiagnosticExpectation( Kind.ERROR, 54 ), new DiagnosticExpectation( Kind.ERROR, 60 )
);
}
@@ -141,9 +141,9 @@
assertThatDiagnosticsMatch(
diagnostics,
- new DiagnosticExpection( Kind.NOTE, Diagnostic.NOPOS ), //says that verbose messaging is enabled
- new DiagnosticExpection( Kind.WARNING, 54 ),
- new DiagnosticExpection( Kind.WARNING, 60 )
+ new DiagnosticExpectation( Kind.NOTE, Diagnostic.NOPOS ), //says that verbose messaging is enabled
+ new DiagnosticExpectation( Kind.WARNING, 54 ),
+ new DiagnosticExpectation( Kind.WARNING, 60 )
);
}
@@ -166,7 +166,7 @@
);
assertFalse( compilationResult );
- assertThatDiagnosticsMatch( diagnostics, new DiagnosticExpection( Kind.ERROR, 30 ) );
+ assertThatDiagnosticsMatch( diagnostics, new DiagnosticExpectation( Kind.ERROR, 30 ) );
}
@Test
@@ -188,7 +188,7 @@
);
assertFalse( compilationResult );
- assertThatDiagnosticsMatch( diagnostics, new DiagnosticExpection( Kind.ERROR, 30 ) );
+ assertThatDiagnosticsMatch( diagnostics, new DiagnosticExpectation( Kind.ERROR, 30 ) );
}
@Test
@@ -202,10 +202,10 @@
assertFalse( compilationResult );
assertThatDiagnosticsMatch(
diagnostics,
- new DiagnosticExpection( Kind.ERROR, 32 ),
- new DiagnosticExpection( Kind.ERROR, 39 ),
- new DiagnosticExpection( Kind.ERROR, 47 ),
- new DiagnosticExpection( Kind.ERROR, 54 )
+ new DiagnosticExpectation( Kind.ERROR, 32 ),
+ new DiagnosticExpectation( Kind.ERROR, 39 ),
+ new DiagnosticExpectation( Kind.ERROR, 47 ),
+ new DiagnosticExpectation( Kind.ERROR, 54 )
);
}
@@ -222,7 +222,7 @@
);
assertFalse( compilationResult );
- assertThatDiagnosticsMatch( diagnostics, new DiagnosticExpection( Kind.ERROR, 28 ) );
+ assertThatDiagnosticsMatch( diagnostics, new DiagnosticExpectation( Kind.ERROR, 28 ) );
}
@Test
@@ -235,7 +235,7 @@
compilerHelper.compile( new ConstraintValidationProcessor(), diagnostics, sourceFile1, sourceFile2 );
assertFalse( compilationResult );
- assertThatDiagnosticsMatch( diagnostics, new DiagnosticExpection( Kind.ERROR, 29 ) );
+ assertThatDiagnosticsMatch( diagnostics, new DiagnosticExpectation( Kind.ERROR, 29 ) );
}
@Test
@@ -271,10 +271,10 @@
assertFalse( compilationResult );
assertThatDiagnosticsMatch(
diagnostics,
- new DiagnosticExpection( Kind.ERROR, 29 ),
- new DiagnosticExpection( Kind.ERROR, 41 ),
- new DiagnosticExpection( Kind.ERROR, 50 ),
- new DiagnosticExpection( Kind.ERROR, 56 )
+ new DiagnosticExpectation( Kind.ERROR, 29 ),
+ new DiagnosticExpectation( Kind.ERROR, 41 ),
+ new DiagnosticExpectation( Kind.ERROR, 50 ),
+ new DiagnosticExpectation( Kind.ERROR, 56 )
);
}
@@ -293,11 +293,11 @@
assertFalse( compilationResult );
assertThatDiagnosticsMatch(
diagnostics,
- new DiagnosticExpection( Kind.ERROR, 31 ),
- new DiagnosticExpection( Kind.ERROR, 37 ),
- new DiagnosticExpection( Kind.ERROR, 43 ),
- new DiagnosticExpection( Kind.ERROR, 59 ),
- new DiagnosticExpection( Kind.ERROR, 67 )
+ new DiagnosticExpectation( Kind.ERROR, 31 ),
+ new DiagnosticExpectation( Kind.ERROR, 37 ),
+ new DiagnosticExpectation( Kind.ERROR, 43 ),
+ new DiagnosticExpectation( Kind.ERROR, 59 ),
+ new DiagnosticExpectation( Kind.ERROR, 67 )
);
}
@@ -311,7 +311,7 @@
assertFalse( compilationResult );
assertThatDiagnosticsMatch(
- diagnostics, new DiagnosticExpection( Kind.ERROR, 28 ), new DiagnosticExpection( Kind.ERROR, 29 )
+ diagnostics, new DiagnosticExpectation( Kind.ERROR, 28 ), new DiagnosticExpectation( Kind.ERROR, 29 )
);
}
@@ -339,7 +339,7 @@
assertFalse( compilationResult );
assertThatDiagnosticsMatch(
- diagnostics, new DiagnosticExpection(
+ diagnostics, new DiagnosticExpectation(
Kind.ERROR, 33
)
);
@@ -357,8 +357,8 @@
assertFalse( compilationResult );
assertThatDiagnosticsMatch(
diagnostics,
- new DiagnosticExpection( Kind.ERROR, 33 ),
- new DiagnosticExpection( Kind.ERROR, 33 )
+ new DiagnosticExpectation( Kind.ERROR, 33 ),
+ new DiagnosticExpectation( Kind.ERROR, 33 )
);
}
@@ -374,13 +374,13 @@
assertFalse( compilationResult );
assertThatDiagnosticsMatch(
diagnostics,
- new DiagnosticExpection( Kind.ERROR, 34 ),
- new DiagnosticExpection( Kind.ERROR, 40 ),
- new DiagnosticExpection( Kind.ERROR, 56 ),
- new DiagnosticExpection( Kind.ERROR, 64 ),
- new DiagnosticExpection( Kind.ERROR, 72 ),
- new DiagnosticExpection( Kind.ERROR, 80 ),
- new DiagnosticExpection( Kind.ERROR, 88 )
+ new DiagnosticExpectation( Kind.ERROR, 34 ),
+ new DiagnosticExpectation( Kind.ERROR, 40 ),
+ new DiagnosticExpectation( Kind.ERROR, 56 ),
+ new DiagnosticExpectation( Kind.ERROR, 64 ),
+ new DiagnosticExpectation( Kind.ERROR, 72 ),
+ new DiagnosticExpectation( Kind.ERROR, 80 ),
+ new DiagnosticExpectation( Kind.ERROR, 88 )
);
}
}
Modified: validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/testutil/CompilerTestHelper.java
===================================================================
--- validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/testutil/CompilerTestHelper.java 2010-05-15 15:50:33 UTC (rev 19524)
+++ validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/testutil/CompilerTestHelper.java 2010-05-15 16:05:09 UTC (rev 19525)
@@ -30,7 +30,7 @@
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
-import org.hibernate.validator.ap.util.DiagnosticExpection;
+import org.hibernate.validator.ap.util.DiagnosticExpectation;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
@@ -148,28 +148,28 @@
*
* @param diagnostics The actual diagnostics as populated by the executed
* {@link CompilationTask}.
- * @param expections The expectations to compare against.
+ * @param expectations The expectations to compare against.
*/
- public static void assertThatDiagnosticsMatch(DiagnosticCollector<JavaFileObject> diagnostics, DiagnosticExpection... expections) {
+ public static void assertThatDiagnosticsMatch(DiagnosticCollector<JavaFileObject> diagnostics, DiagnosticExpectation... expectations) {
List<Diagnostic<? extends JavaFileObject>> diagnosticsList = diagnostics.getDiagnostics();
- if ( expections == null ) {
+ if ( expectations == null ) {
assertTrue( diagnosticsList.isEmpty() );
}
else {
- if ( diagnosticsList.size() != expections.length ) {
+ if ( diagnosticsList.size() != expectations.length ) {
System.out.println( diagnosticsList );
}
- assertEquals( diagnosticsList.size(), expections.length, "Wrong number of diagnostics." );
+ assertEquals( diagnosticsList.size(), expectations.length, "Wrong number of diagnostics." );
int i = 0;
- for ( DiagnosticExpection oneExpection : expections ) {
+ for ( DiagnosticExpectation oneExpectation : expectations ) {
- assertEquals( diagnosticsList.get( i ).getKind(), oneExpection.getKind() );
- assertEquals( diagnosticsList.get( i ).getLineNumber(), oneExpection.getLineNumber() );
+ assertEquals( diagnosticsList.get( i ).getKind(), oneExpectation.getKind() );
+ assertEquals( diagnosticsList.get( i ).getLineNumber(), oneExpectation.getLineNumber() );
i++;
}
Copied: validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/util/DiagnosticExpectation.java (from rev 19518, validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/util/DiagnosticExpection.java)
===================================================================
--- validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/util/DiagnosticExpectation.java (rev 0)
+++ validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/util/DiagnosticExpectation.java 2010-05-15 16:05:09 UTC (rev 19525)
@@ -0,0 +1,51 @@
+// $Id$
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, Red Hat Middleware LLC, and individual contributors
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+* http://www.apache.org/licenses/LICENSE-2.0
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.hibernate.validator.ap.util;
+
+import javax.tools.Diagnostic;
+import javax.tools.Diagnostic.Kind;
+
+/**
+ * Expectation value to be matched against a given {@link Diagnostic}.
+ *
+ * @author Gunnar Morling
+ */
+public class DiagnosticExpectation {
+
+ private final Kind kind;
+
+ private final long lineNumber;
+
+ public DiagnosticExpectation(Kind kind, long lineNumber) {
+ this.kind = kind;
+ this.lineNumber = lineNumber;
+ }
+
+ public Kind getKind() {
+ return kind;
+ }
+
+ public long getLineNumber() {
+ return lineNumber;
+ }
+
+ @Override
+ public String toString() {
+ return "DiagnosticExpectation [kind=" + kind + ", lineNumber=" + lineNumber + "]";
+ }
+}
\ No newline at end of file
Property changes on: validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/util/DiagnosticExpectation.java
___________________________________________________________________
Name: svn:keywords
+ Id
Deleted: validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/util/DiagnosticExpection.java
===================================================================
--- validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/util/DiagnosticExpection.java 2010-05-15 15:50:33 UTC (rev 19524)
+++ validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/util/DiagnosticExpection.java 2010-05-15 16:05:09 UTC (rev 19525)
@@ -1,50 +0,0 @@
-// $Id$
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2009, Red Hat Middleware LLC, and individual contributors
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-* http://www.apache.org/licenses/LICENSE-2.0
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package org.hibernate.validator.ap.util;
-
-import javax.tools.Diagnostic;
-import javax.tools.Diagnostic.Kind;
-
-/**
- * Expectation value to be matched against a given {@link Diagnostic}.
- *
- * @author Gunnar Morling
- */
-public class DiagnosticExpection {
- private final Kind kind;
-
- private final long lineNumber;
-
- public DiagnosticExpection(Kind kind, long lineNumber) {
- this.kind = kind;
- this.lineNumber = lineNumber;
- }
-
- public Kind getKind() {
- return kind;
- }
-
- public long getLineNumber() {
- return lineNumber;
- }
-
- @Override
- public String toString() {
- return "DiagnosticExpection [kind=" + kind + ", lineNumber=" + lineNumber + "]";
- }
-}
\ No newline at end of file
13 years, 11 months
Hibernate SVN: r19524 - in validator/trunk/hibernate-validator-annotation-processor/src: test/java/org/hibernate/validator/ap and 1 other directories.
by hibernate-commits@lists.jboss.org
Author: gunnar.morling
Date: 2010-05-15 11:50:33 -0400 (Sat, 15 May 2010)
New Revision: 19524
Modified:
validator/trunk/hibernate-validator-annotation-processor/src/main/java/org/hibernate/validator/ap/ConstraintAnnotationVisitor.java
validator/trunk/hibernate-validator-annotation-processor/src/main/java/org/hibernate/validator/ap/ConstraintValidationProcessor.java
validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorTest.java
validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/testutil/CompilerTestHelper.java
Log:
HV-322: Created processor option "verbose"
Modified: validator/trunk/hibernate-validator-annotation-processor/src/main/java/org/hibernate/validator/ap/ConstraintAnnotationVisitor.java
===================================================================
--- validator/trunk/hibernate-validator-annotation-processor/src/main/java/org/hibernate/validator/ap/ConstraintAnnotationVisitor.java 2010-05-15 14:55:16 UTC (rev 19523)
+++ validator/trunk/hibernate-validator-annotation-processor/src/main/java/org/hibernate/validator/ap/ConstraintAnnotationVisitor.java 2010-05-15 15:50:33 UTC (rev 19524)
@@ -48,24 +48,23 @@
*/
final class ConstraintAnnotationVisitor extends ElementKindVisitor6<Void, List<AnnotationMirror>> {
- private final ConstraintHelper constraintHelper;
-
private final MessagerAdapter messager;
- private ConstraintCheckFactory constraintCheckFactory;
+ private final ConstraintCheckFactory constraintCheckFactory;
- //TODO GM: establish processor option for this
- private boolean verbose = true;
+ private final boolean verbose;
- public ConstraintAnnotationVisitor(ProcessingEnvironment processingEnvironment, MessagerAdapter messager) {
+ public ConstraintAnnotationVisitor(
+ ProcessingEnvironment processingEnvironment, MessagerAdapter messager, boolean verbose) {
this.messager = messager;
+ this.verbose = verbose;
AnnotationApiHelper annotationApiHelper = new AnnotationApiHelper(
processingEnvironment.getElementUtils(), processingEnvironment.getTypeUtils()
);
- constraintHelper = new ConstraintHelper(
+ ConstraintHelper constraintHelper = new ConstraintHelper(
processingEnvironment.getElementUtils(), processingEnvironment.getTypeUtils(), annotationApiHelper
);
Modified: validator/trunk/hibernate-validator-annotation-processor/src/main/java/org/hibernate/validator/ap/ConstraintValidationProcessor.java
===================================================================
--- validator/trunk/hibernate-validator-annotation-processor/src/main/java/org/hibernate/validator/ap/ConstraintValidationProcessor.java 2010-05-15 14:55:16 UTC (rev 19523)
+++ validator/trunk/hibernate-validator-annotation-processor/src/main/java/org/hibernate/validator/ap/ConstraintValidationProcessor.java 2010-05-15 15:50:33 UTC (rev 19524)
@@ -54,18 +54,24 @@
*/
@SupportedAnnotationTypes("*")
@SupportedSourceVersion(SourceVersion.RELEASE_6)
-(a)SupportedOptions(ConstraintValidationProcessor.DIAGNOSTIC_KIND_PROCESSOR_OPTION_NAME)
+@SupportedOptions({
+ ConstraintValidationProcessor.DIAGNOSTIC_KIND_PROCESSOR_OPTION_NAME,
+ ConstraintValidationProcessor.VERBOSE_PROCESSOR_OPTION_NAME
+})
public class ConstraintValidationProcessor extends AbstractProcessor {
/**
* The name of the processor option for setting the diagnostic kind to be
- * used when reporting errors during annotation processing. Can be set on
- * the command line using the -A option, e.g.
- * <code>-AdiagnosticKind=ERROR</code>.
+ * used when reporting errors during annotation processing.
*/
public final static String DIAGNOSTIC_KIND_PROCESSOR_OPTION_NAME = "diagnosticKind";
/**
+ * The name of the processor option for activating verbose message reporting.
+ */
+ public final static String VERBOSE_PROCESSOR_OPTION_NAME = "verbose";
+
+ /**
* The diagnostic kind to be used if no or an invalid kind is given as processor option.
*/
public final static Kind DEFAULT_DIAGNOSTIC_KIND = Kind.ERROR;
@@ -79,11 +85,17 @@
*/
private MessagerAdapter messager;
+ /**
+ * Whether logging information shall be put out in a verbose way or not.
+ */
+ private boolean verbose;
+
@Override
public synchronized void init(ProcessingEnvironment processingEnv) {
super.init( processingEnv );
+ this.verbose = isVerbose();
messager = new MessagerAdapter( processingEnv.getMessager(), getDiagnosticKind() );
}
@@ -97,7 +109,7 @@
);
ElementVisitor<Void, List<AnnotationMirror>> visitor = new ConstraintAnnotationVisitor(
- processingEnv, messager
+ processingEnv, messager, verbose
);
for ( TypeElement oneAnnotation : annotations ) {
@@ -146,4 +158,25 @@
return DEFAULT_DIAGNOSTIC_KIND;
}
+ /**
+ * Retrieves the value for the "verbose" property from the options.
+ *
+ * @return The value for the "verbose" property.
+ */
+ private boolean isVerbose() {
+
+ boolean theValue = Boolean.parseBoolean( processingEnv.getOptions().get( VERBOSE_PROCESSOR_OPTION_NAME ) );
+
+ if ( theValue ) {
+ super.processingEnv.getMessager().printMessage(
+ Kind.NOTE, MessageFormat.format(
+ "Verbose reporting is activated. Some processing information will be displayed using diagnostic kind {0}.",
+ Kind.NOTE
+ )
+ );
+ }
+
+ return theValue;
+ }
+
}
Modified: validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorTest.java
===================================================================
--- validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorTest.java 2010-05-15 14:55:16 UTC (rev 19523)
+++ validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorTest.java 2010-05-15 15:50:33 UTC (rev 19524)
@@ -18,6 +18,7 @@
package org.hibernate.validator.ap;
import java.io.File;
+import javax.tools.Diagnostic;
import javax.tools.Diagnostic.Kind;
import javax.tools.DiagnosticCollector;
import javax.tools.JavaFileObject;
@@ -125,16 +126,24 @@
}
@Test
- public void compilationSucceedsDueToDiagnosticKindWarning() {
+ public void testThatProcessorOptionsAreEvaluated() {
File sourceFile = compilerHelper.getSourceFile( FieldLevelValidationUsingBuiltInConstraints.class );
+ // compile with -AdiagnosticKind=Kind.WARNING and -Averbose=true
boolean compilationResult =
- compilerHelper.compile( new ConstraintValidationProcessor(), diagnostics, Kind.WARNING, sourceFile );
+ compilerHelper.compile(
+ new ConstraintValidationProcessor(), diagnostics, Kind.WARNING, true, sourceFile
+ );
+ // compilation succeeds as there are problems, but Kind.WARNING won't stop compilation
assertTrue( compilationResult );
+
assertThatDiagnosticsMatch(
- diagnostics, new DiagnosticExpection( Kind.WARNING, 54 ), new DiagnosticExpection( Kind.WARNING, 60 )
+ diagnostics,
+ new DiagnosticExpection( Kind.NOTE, Diagnostic.NOPOS ), //says that verbose messaging is enabled
+ new DiagnosticExpection( Kind.WARNING, 54 ),
+ new DiagnosticExpection( Kind.WARNING, 60 )
);
}
Modified: validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/testutil/CompilerTestHelper.java
===================================================================
--- validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/testutil/CompilerTestHelper.java 2010-05-15 14:55:16 UTC (rev 19523)
+++ validator/trunk/hibernate-validator-annotation-processor/src/test/java/org/hibernate/validator/ap/testutil/CompilerTestHelper.java 2010-05-15 15:50:33 UTC (rev 19524)
@@ -46,10 +46,6 @@
private final String sourceBaseDir;
- /**
- * TODO GM: How can JavaCompiler access all dependencies of the project? This works within
- * Eclipse, but not on the command line.
- */
private final String pathToBeanValidationApiJar;
public CompilerTestHelper(JavaCompiler compiler, String sourceBaseDir, String pathToBeanValidationApiJar) {
@@ -75,28 +71,39 @@
}
/**
- * Creates and executes a {@link CompilationTask} using the given input.
- *
- * @param annotationProcessor An annotation processor to be attached to the task.
- * @param diagnostics An diagnostics listener to be attached to the task.
- * @param sourceFiles The source files to be compiled.
- *
- * @return True, if the source files could be compiled successfully (meaning
- * in especially, that the given annotation processor didn't raise
- * any errors), false otherwise.
+ * @see CompilerTestHelper#compile(Processor, DiagnosticCollector, Kind, Boolean, File...)
*/
public boolean compile(
Processor annotationProcessor, DiagnosticCollector<JavaFileObject> diagnostics, File... sourceFiles) {
- return compile( annotationProcessor, diagnostics, Kind.ERROR, sourceFiles );
+ return compile( annotationProcessor, diagnostics, null, null, sourceFiles );
}
/**
+ * @see CompilerTestHelper#compile(Processor, DiagnosticCollector, Kind, Boolean, File...)
+ */
+ public boolean compile(
+ Processor annotationProcessor, DiagnosticCollector<JavaFileObject> diagnostics, Kind diagnosticKind, File... sourceFiles) {
+
+ return compile( annotationProcessor, diagnostics, diagnosticKind, null, sourceFiles );
+ }
+
+ /**
+ * @see CompilerTestHelper#compile(Processor, DiagnosticCollector, Kind, Boolean, File...)
+ */
+ public boolean compile(
+ Processor annotationProcessor, DiagnosticCollector<JavaFileObject> diagnostics, boolean verbose, File... sourceFiles) {
+
+ return compile( annotationProcessor, diagnostics, null, verbose, sourceFiles );
+ }
+
+ /**
* Creates and executes a {@link CompilationTask} using the given input.
*
* @param annotationProcessor An annotation processor to be attached to the task.
* @param diagnostics An diagnostics listener to be attached to the task.
* @param diagnosticKind A value for the "diagnosticKind" option.
+ * @param verbose A value for the "verbose" option.
* @param sourceFiles The source files to be compiled.
*
* @return True, if the source files could be compiled successfully (meaning
@@ -104,21 +111,26 @@
* any errors), false otherwise.
*/
public boolean compile(
- Processor annotationProcessor, DiagnosticCollector<JavaFileObject> diagnostics, Kind diagnosticKind, File... sourceFiles) {
+ Processor annotationProcessor, DiagnosticCollector<JavaFileObject> diagnostics, Kind diagnosticKind, Boolean verbose, File... sourceFiles) {
StandardJavaFileManager fileManager =
compiler.getStandardFileManager( null, null, null );
Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjects( sourceFiles );
- List<String> optionList = new ArrayList<String>();
- optionList.addAll(
- Arrays.asList(
- "-classpath", pathToBeanValidationApiJar, "-AdiagnosticKind=" + diagnosticKind, "-d", "target"
- )
- );
+ List<String> options = new ArrayList<String>();
- CompilationTask task = compiler.getTask( null, fileManager, diagnostics, optionList, null, compilationUnits );
+ options.addAll( Arrays.asList( "-classpath", pathToBeanValidationApiJar, "-d", "target" ) );
+
+ if ( diagnosticKind != null ) {
+ options.add( "-AdiagnosticKind=" + diagnosticKind );
+ }
+
+ if ( verbose != null ) {
+ options.add( "-Averbose=" + verbose.toString() );
+ }
+
+ CompilationTask task = compiler.getTask( null, fileManager, diagnostics, options, null, compilationUnits );
task.setProcessors( Arrays.asList( annotationProcessor ) );
return task.call();
13 years, 11 months
Hibernate SVN: r19523 - in core/branches/Branch_3_5/envers/src: test/java/org/hibernate/envers/test/integration/manytomany and 9 other directories.
by hibernate-commits@lists.jboss.org
Author: adamw
Date: 2010-05-15 10:55:16 -0400 (Sat, 15 May 2010)
New Revision: 19523
Added:
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass2.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSuperclass.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/ManyToManyInverseToSuperclassTest.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/Master.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass2.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSuperclass.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/Master.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/OneToManyInverseToSuperclassTest.java
core/branches/Branch_3_5/envers/src/test/resources/mappings/manyToMany/
core/branches/Branch_3_5/envers/src/test/resources/mappings/manyToMany/inverseToSuperclass/
core/branches/Branch_3_5/envers/src/test/resources/mappings/manyToMany/inverseToSuperclass/mappings.hbm.xml
core/branches/Branch_3_5/envers/src/test/resources/mappings/oneToMany/
core/branches/Branch_3_5/envers/src/test/resources/mappings/oneToMany/inverseToSuperclass/
core/branches/Branch_3_5/envers/src/test/resources/mappings/oneToMany/inverseToSuperclass/mappings.hbm.xml
Removed:
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass2.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSuperclass.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/ManyToManyInverseToSuperclassTest.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/Master.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass2.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSuperclass.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/Master.java
core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/OneToManyInverseToSuperclassTest.java
core/branches/Branch_3_5/envers/src/test/resources/mappings/manyToMany/inverseToSuperclass/
core/branches/Branch_3_5/envers/src/test/resources/mappings/manyToMany/inverseToSuperclass/mappings.hbm.xml
core/branches/Branch_3_5/envers/src/test/resources/mappings/oneToMany/inverseToSuperclass/
core/branches/Branch_3_5/envers/src/test/resources/mappings/oneToMany/inverseToSuperclass/mappings.hbm.xml
Modified:
core/branches/Branch_3_5/envers/src/main/java/org/hibernate/envers/configuration/metadata/CollectionMetadataGenerator.java
core/branches/Branch_3_5/envers/src/test/resources/testng.xml
Log:
svn merge -r 19255:19522 https://svn.jboss.org/repos/hibernate/core/trunk/envers .
Modified: core/branches/Branch_3_5/envers/src/main/java/org/hibernate/envers/configuration/metadata/CollectionMetadataGenerator.java
===================================================================
--- core/branches/Branch_3_5/envers/src/main/java/org/hibernate/envers/configuration/metadata/CollectionMetadataGenerator.java 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/main/java/org/hibernate/envers/configuration/metadata/CollectionMetadataGenerator.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -80,6 +80,7 @@
/**
* Generates metadata for a collection-valued property.
* @author Adam Warski (adam at warski dot org)
+ * @author Hern�n Chanfreau
*/
public final class CollectionMetadataGenerator {
private static final Logger log = LoggerFactory.getLogger(CollectionMetadataGenerator.class);
@@ -533,7 +534,6 @@
return middleEntityXmlId;
}
- @SuppressWarnings({"unchecked"})
private String getMappedBy(Collection collectionValue) {
PersistentClass referencedClass = ((OneToMany) collectionValue.getElement()).getAssociatedClass();
@@ -543,8 +543,31 @@
return auditMappedBy;
}
+ // searching in referenced class
+ String mappedBy = this.searchMappedBy(referencedClass, collectionValue);
+
+ if(mappedBy == null) {
+ log.debug("Going to search the mapped by attribute for " + propertyName + " in superclasses of entity: " + referencedClass.getClassName());
+
+ PersistentClass tempClass = referencedClass;
+ while ((mappedBy == null) && (tempClass.getSuperclass() != null)) {
+ log.debug("Searching in superclass: " + tempClass.getSuperclass().getClassName());
+ mappedBy = this.searchMappedBy(tempClass.getSuperclass(), collectionValue);
+ tempClass = tempClass.getSuperclass();
+ }
+ }
+
+ if(mappedBy == null) {
+ throw new MappingException("Unable to read the mapped by attribute for " + propertyName + " in "
+ + referencedClass.getClassName() + "!");
+ }
+
+ return mappedBy;
+ }
+
+ @SuppressWarnings({"unchecked"})
+ private String searchMappedBy(PersistentClass referencedClass, Collection collectionValue) {
Iterator<Property> assocClassProps = referencedClass.getPropertyIterator();
-
while (assocClassProps.hasNext()) {
Property property = assocClassProps.next();
@@ -552,13 +575,10 @@
collectionValue.getKey().getColumnIterator())) {
return property.getName();
}
- }
-
- throw new MappingException("Unable to read the mapped by attribute for " + propertyName + " in "
- + referencingEntityName + "!");
+ }
+ return null;
}
- @SuppressWarnings({"unchecked"})
private String getMappedBy(Table collectionTable, PersistentClass referencedClass) {
// If there's an @AuditMappedBy specified, returning it directly.
String auditMappedBy = propertyAuditingData.getAuditMappedBy();
@@ -566,6 +586,31 @@
return auditMappedBy;
}
+ // searching in referenced class
+ String mappedBy = this.searchMappedBy(referencedClass, collectionTable);
+
+ // not found on referenced class, searching on superclasses
+ if(mappedBy == null) {
+ log.debug("Going to search the mapped by attribute for " + propertyName + " in superclases of entity: " + referencedClass.getClassName());
+
+ PersistentClass tempClass = referencedClass;
+ while ((mappedBy == null) && (tempClass.getSuperclass() != null)) {
+ log.debug("Searching in superclass: " + tempClass.getSuperclass().getClassName());
+ mappedBy = this.searchMappedBy(tempClass.getSuperclass(), collectionTable);
+ tempClass = tempClass.getSuperclass();
+ }
+ }
+
+ if(mappedBy == null) {
+ throw new MappingException("Unable to read the mapped by attribute for " + propertyName + " in "
+ + referencedClass.getClassName() + "!");
+ }
+
+ return mappedBy;
+ }
+
+ @SuppressWarnings({"unchecked"})
+ private String searchMappedBy(PersistentClass referencedClass, Table collectionTable) {
Iterator<Property> properties = referencedClass.getPropertyIterator();
while (properties.hasNext()) {
Property property = properties.next();
@@ -576,9 +621,8 @@
return property.getName();
}
}
- }
-
- throw new MappingException("Unable to read the mapped by attribute for " + propertyName + " in "
- + referencingEntityName + "!");
+ }
+ return null;
}
+
}
Copied: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass (from rev 19522, core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass)
Deleted: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass.java 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -1,26 +0,0 @@
-package org.hibernate.envers.test.integration.manytomany.inverseToSuperclass;
-
-/**
- * @author Hern�n Chanfreau
- *
- */
-import org.hibernate.envers.Audited;
-
-@Audited
-public class DetailSubclass extends DetailSuperclass {
-
- private String str2;
-
- public DetailSubclass() {
-
- }
-
- public String getStr2() {
- return str2;
- }
-
- public void setStr2(String str2) {
- this.str2 = str2;
- }
-
-}
Copied: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass.java (from rev 19522, core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass.java)
===================================================================
--- core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass.java (rev 0)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -0,0 +1,26 @@
+package org.hibernate.envers.test.integration.manytomany.inverseToSuperclass;
+
+/**
+ * @author Hern�n Chanfreau
+ *
+ */
+import org.hibernate.envers.Audited;
+
+@Audited
+public class DetailSubclass extends DetailSuperclass {
+
+ private String str2;
+
+ public DetailSubclass() {
+
+ }
+
+ public String getStr2() {
+ return str2;
+ }
+
+ public void setStr2(String str2) {
+ this.str2 = str2;
+ }
+
+}
Deleted: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass2.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass2.java 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass2.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -1,26 +0,0 @@
-package org.hibernate.envers.test.integration.manytomany.inverseToSuperclass;
-
-/**
- * @author Hern�n Chanfreau
- *
- */
-import org.hibernate.envers.Audited;
-
-@Audited
-public class DetailSubclass2 extends DetailSubclass {
-
- private String str3;
-
- public DetailSubclass2() {
-
- }
-
- public String getStr3() {
- return str3;
- }
-
- public void setStr3(String str3) {
- this.str3 = str3;
- }
-
-}
Copied: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass2.java (from rev 19522, core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass2.java)
===================================================================
--- core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass2.java (rev 0)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSubclass2.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -0,0 +1,26 @@
+package org.hibernate.envers.test.integration.manytomany.inverseToSuperclass;
+
+/**
+ * @author Hern�n Chanfreau
+ *
+ */
+import org.hibernate.envers.Audited;
+
+@Audited
+public class DetailSubclass2 extends DetailSubclass {
+
+ private String str3;
+
+ public DetailSubclass2() {
+
+ }
+
+ public String getStr3() {
+ return str3;
+ }
+
+ public void setStr3(String str3) {
+ this.str3 = str3;
+ }
+
+}
Deleted: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSuperclass.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSuperclass.java 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSuperclass.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -1,38 +0,0 @@
-package org.hibernate.envers.test.integration.manytomany.inverseToSuperclass;
-
-/**
- * @author Hern�n Chanfreau
- *
- */
-import java.util.List;
-
-import org.hibernate.envers.Audited;
-
-@Audited
-public class DetailSuperclass {
-
- private long id;
-
- private List<Master> masters;
-
- public DetailSuperclass() {
-
- }
-
- public long getId() {
- return id;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
- public List<Master> getMasters() {
- return masters;
- }
-
- public void setMasters(List<Master> masters) {
- this.masters = masters;
- }
-
-}
Copied: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSuperclass.java (from rev 19522, core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSuperclass.java)
===================================================================
--- core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSuperclass.java (rev 0)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/DetailSuperclass.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -0,0 +1,38 @@
+package org.hibernate.envers.test.integration.manytomany.inverseToSuperclass;
+
+/**
+ * @author Hern�n Chanfreau
+ *
+ */
+import java.util.List;
+
+import org.hibernate.envers.Audited;
+
+@Audited
+public class DetailSuperclass {
+
+ private long id;
+
+ private List<Master> masters;
+
+ public DetailSuperclass() {
+
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public List<Master> getMasters() {
+ return masters;
+ }
+
+ public void setMasters(List<Master> masters) {
+ this.masters = masters;
+ }
+
+}
Deleted: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/ManyToManyInverseToSuperclassTest.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/ManyToManyInverseToSuperclassTest.java 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/ManyToManyInverseToSuperclassTest.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -1,114 +0,0 @@
-package org.hibernate.envers.test.integration.manytomany.inverseToSuperclass;
-
-import java.io.File;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.ArrayList;
-
-import javax.persistence.EntityManager;
-
-import org.hibernate.ejb.Ejb3Configuration;
-import org.hibernate.envers.test.AbstractEntityTest;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-/**
- * @author Hern�n Chanfreau
- *
- */
-
-public class ManyToManyInverseToSuperclassTest extends AbstractEntityTest {
-
- private long m1_id;
-
- public void configure(Ejb3Configuration cfg) {
- try {
- URL url = Thread.currentThread().getContextClassLoader()
- .getResource(
- "mappings/manyToMany/inverseToSuperclass/mappings.hbm.xml");
- cfg.addFile(new File(url.toURI()));
- } catch (URISyntaxException e) {
- throw new RuntimeException(e);
- }
- }
-
- @BeforeClass(dependsOnMethods = "init")
- public void initData() {
- EntityManager em = getEntityManager();
-
- Master m1 = new Master();
- DetailSubclass det1 = new DetailSubclass2();
-
- // Revision 1
- em.getTransaction().begin();
-
- det1.setStr2("detail 1");
-
- m1.setStr("master");
- m1.setItems(new ArrayList<DetailSubclass>());
- m1.getItems().add(det1);
-
- det1.setMasters(new ArrayList<Master>());
- det1.getMasters().add(m1);
-
- em.persist(m1);
- em.getTransaction().commit();
- m1_id = m1.getId();
-
- // Revision 2
-// em.getTransaction().begin();
-//
-// m1 = em.find(Master.class, m1_id);
-//
-// det2.setStr2("detail 2");
-// det2.setParent(m1);
-// m1.getItems().add(det2);
-// em.getTransaction().commit();
-//
-// // Revision 3
-// em.getTransaction().begin();
-//
-// m1 = em.find(Master.class, m1_id);
-// m1.setStr("new master");
-//
-// det1 = m1.getItems().get(0);
-// det1.setStr2("new detail");
-// DetailSubclass det3 = new DetailSubclass2();
-// det3.setStr2("detail 3");
-// det3.setParent(m1);
-//
-// m1.getItems().get(1).setParent(null);
-// // m1.getItems().remove(1);
-// m1.getItems().add(det3);
-//
-// em.persist(m1);
-// em.getTransaction().commit();
-//
-// // Revision 4
-// em.getTransaction().begin();
-//
-// m1 = em.find(Master.class, m1_id);
-//
-// det1 = m1.getItems().get(0);
-// det1.setParent(null);
-// // m1.getItems().remove(det1);
-//
-// em.persist(m1);
-// em.getTransaction().commit();
-
- }
-
- @Test
- public void testHistoryExists() {
- Master rev1_1 = getAuditReader().find(Master.class, m1_id, 1);
- Master rev1_2 = getAuditReader().find(Master.class, m1_id, 2);
- Master rev1_3 = getAuditReader().find(Master.class, m1_id, 3);
- Master rev1_4 = getAuditReader().find(Master.class, m1_id, 4);
-
- assert (rev1_1 != null);
- assert (rev1_2 != null);
- assert (rev1_3 != null);
- assert (rev1_4 != null);
- }
-
-}
Copied: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/ManyToManyInverseToSuperclassTest.java (from rev 19522, core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/ManyToManyInverseToSuperclassTest.java)
===================================================================
--- core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/ManyToManyInverseToSuperclassTest.java (rev 0)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/ManyToManyInverseToSuperclassTest.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -0,0 +1,114 @@
+package org.hibernate.envers.test.integration.manytomany.inverseToSuperclass;
+
+import java.io.File;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.ArrayList;
+
+import javax.persistence.EntityManager;
+
+import org.hibernate.ejb.Ejb3Configuration;
+import org.hibernate.envers.test.AbstractEntityTest;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+/**
+ * @author Hern�n Chanfreau
+ *
+ */
+
+public class ManyToManyInverseToSuperclassTest extends AbstractEntityTest {
+
+ private long m1_id;
+
+ public void configure(Ejb3Configuration cfg) {
+ try {
+ URL url = Thread.currentThread().getContextClassLoader()
+ .getResource(
+ "mappings/manyToMany/inverseToSuperclass/mappings.hbm.xml");
+ cfg.addFile(new File(url.toURI()));
+ } catch (URISyntaxException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @BeforeClass(dependsOnMethods = "init")
+ public void initData() {
+ EntityManager em = getEntityManager();
+
+ Master m1 = new Master();
+ DetailSubclass det1 = new DetailSubclass2();
+
+ // Revision 1
+ em.getTransaction().begin();
+
+ det1.setStr2("detail 1");
+
+ m1.setStr("master");
+ m1.setItems(new ArrayList<DetailSubclass>());
+ m1.getItems().add(det1);
+
+ det1.setMasters(new ArrayList<Master>());
+ det1.getMasters().add(m1);
+
+ em.persist(m1);
+ em.getTransaction().commit();
+ m1_id = m1.getId();
+
+ // Revision 2
+// em.getTransaction().begin();
+//
+// m1 = em.find(Master.class, m1_id);
+//
+// det2.setStr2("detail 2");
+// det2.setParent(m1);
+// m1.getItems().add(det2);
+// em.getTransaction().commit();
+//
+// // Revision 3
+// em.getTransaction().begin();
+//
+// m1 = em.find(Master.class, m1_id);
+// m1.setStr("new master");
+//
+// det1 = m1.getItems().get(0);
+// det1.setStr2("new detail");
+// DetailSubclass det3 = new DetailSubclass2();
+// det3.setStr2("detail 3");
+// det3.setParent(m1);
+//
+// m1.getItems().get(1).setParent(null);
+// // m1.getItems().remove(1);
+// m1.getItems().add(det3);
+//
+// em.persist(m1);
+// em.getTransaction().commit();
+//
+// // Revision 4
+// em.getTransaction().begin();
+//
+// m1 = em.find(Master.class, m1_id);
+//
+// det1 = m1.getItems().get(0);
+// det1.setParent(null);
+// // m1.getItems().remove(det1);
+//
+// em.persist(m1);
+// em.getTransaction().commit();
+
+ }
+
+ @Test
+ public void testHistoryExists() {
+ Master rev1_1 = getAuditReader().find(Master.class, m1_id, 1);
+ Master rev1_2 = getAuditReader().find(Master.class, m1_id, 2);
+ Master rev1_3 = getAuditReader().find(Master.class, m1_id, 3);
+ Master rev1_4 = getAuditReader().find(Master.class, m1_id, 4);
+
+ assert (rev1_1 != null);
+ assert (rev1_2 != null);
+ assert (rev1_3 != null);
+ assert (rev1_4 != null);
+ }
+
+}
Deleted: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/Master.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/Master.java 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/Master.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -1,48 +0,0 @@
-package org.hibernate.envers.test.integration.manytomany.inverseToSuperclass;
-
-/**
- * @author Hern�n Chanfreau
- *
- */
-import java.util.List;
-
-import org.hibernate.envers.Audited;
-
-@Audited
-public class Master {
-
- private long id;
-
- private String str;
-
- private List<DetailSubclass> items;
-
- public Master() {
-
- }
-
- public long getId() {
- return id;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
- public String getStr() {
- return str;
- }
-
- public void setStr(String str) {
- this.str = str;
- }
-
- public List<DetailSubclass> getItems() {
- return items;
- }
-
- public void setItems(List<DetailSubclass> items) {
- this.items = items;
- }
-
-}
Copied: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/Master.java (from rev 19522, core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/Master.java)
===================================================================
--- core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/Master.java (rev 0)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/inverseToSuperclass/Master.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -0,0 +1,48 @@
+package org.hibernate.envers.test.integration.manytomany.inverseToSuperclass;
+
+/**
+ * @author Hern�n Chanfreau
+ *
+ */
+import java.util.List;
+
+import org.hibernate.envers.Audited;
+
+@Audited
+public class Master {
+
+ private long id;
+
+ private String str;
+
+ private List<DetailSubclass> items;
+
+ public Master() {
+
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public String getStr() {
+ return str;
+ }
+
+ public void setStr(String str) {
+ this.str = str;
+ }
+
+ public List<DetailSubclass> getItems() {
+ return items;
+ }
+
+ public void setItems(List<DetailSubclass> items) {
+ this.items = items;
+ }
+
+}
Copied: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass (from rev 19522, core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass)
Deleted: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass.java 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -1,26 +0,0 @@
-package org.hibernate.envers.test.integration.onetomany.inverseToSuperclass;
-
-/**
- * @author Hern�n Chanfreau
- *
- */
-import org.hibernate.envers.Audited;
-
-@Audited
-public class DetailSubclass extends DetailSuperclass {
-
- private String str2;
-
- public DetailSubclass() {
-
- }
-
- public String getStr2() {
- return str2;
- }
-
- public void setStr2(String str2) {
- this.str2 = str2;
- }
-
-}
Copied: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass.java (from rev 19522, core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass.java)
===================================================================
--- core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass.java (rev 0)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -0,0 +1,26 @@
+package org.hibernate.envers.test.integration.onetomany.inverseToSuperclass;
+
+/**
+ * @author Hern�n Chanfreau
+ *
+ */
+import org.hibernate.envers.Audited;
+
+@Audited
+public class DetailSubclass extends DetailSuperclass {
+
+ private String str2;
+
+ public DetailSubclass() {
+
+ }
+
+ public String getStr2() {
+ return str2;
+ }
+
+ public void setStr2(String str2) {
+ this.str2 = str2;
+ }
+
+}
Deleted: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass2.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass2.java 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass2.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -1,26 +0,0 @@
-package org.hibernate.envers.test.integration.onetomany.inverseToSuperclass;
-
-/**
- * @author Hern�n Chanfreau
- *
- */
-import org.hibernate.envers.Audited;
-
-@Audited
-public class DetailSubclass2 extends DetailSubclass {
-
- private String str3;
-
- public DetailSubclass2() {
-
- }
-
- public String getStr3() {
- return str3;
- }
-
- public void setStr3(String str3) {
- this.str3 = str3;
- }
-
-}
Copied: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass2.java (from rev 19522, core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass2.java)
===================================================================
--- core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass2.java (rev 0)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSubclass2.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -0,0 +1,26 @@
+package org.hibernate.envers.test.integration.onetomany.inverseToSuperclass;
+
+/**
+ * @author Hern�n Chanfreau
+ *
+ */
+import org.hibernate.envers.Audited;
+
+@Audited
+public class DetailSubclass2 extends DetailSubclass {
+
+ private String str3;
+
+ public DetailSubclass2() {
+
+ }
+
+ public String getStr3() {
+ return str3;
+ }
+
+ public void setStr3(String str3) {
+ this.str3 = str3;
+ }
+
+}
Deleted: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSuperclass.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSuperclass.java 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSuperclass.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -1,36 +0,0 @@
-package org.hibernate.envers.test.integration.onetomany.inverseToSuperclass;
-
-/**
- * @author Hern�n Chanfreau
- *
- */
-import org.hibernate.envers.Audited;
-
-@Audited
-public class DetailSuperclass {
-
- private long id;
-
- private Master parent;
-
- public DetailSuperclass() {
-
- }
-
- public long getId() {
- return id;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
- public Master getParent() {
- return parent;
- }
-
- public void setParent(Master parent) {
- this.parent = parent;
- }
-
-}
Copied: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSuperclass.java (from rev 19522, core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSuperclass.java)
===================================================================
--- core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSuperclass.java (rev 0)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/DetailSuperclass.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -0,0 +1,36 @@
+package org.hibernate.envers.test.integration.onetomany.inverseToSuperclass;
+
+/**
+ * @author Hern�n Chanfreau
+ *
+ */
+import org.hibernate.envers.Audited;
+
+@Audited
+public class DetailSuperclass {
+
+ private long id;
+
+ private Master parent;
+
+ public DetailSuperclass() {
+
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public Master getParent() {
+ return parent;
+ }
+
+ public void setParent(Master parent) {
+ this.parent = parent;
+ }
+
+}
Deleted: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/Master.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/Master.java 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/Master.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -1,48 +0,0 @@
-package org.hibernate.envers.test.integration.onetomany.inverseToSuperclass;
-
-/**
- * @author Hern�n Chanfreau
- *
- */
-import java.util.List;
-
-import org.hibernate.envers.Audited;
-
-@Audited
-public class Master {
-
- private long id;
-
- private String str;
-
- private List<DetailSubclass> items;
-
- public Master() {
-
- }
-
- public long getId() {
- return id;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
- public String getStr() {
- return str;
- }
-
- public void setStr(String str) {
- this.str = str;
- }
-
- public List<DetailSubclass> getItems() {
- return items;
- }
-
- public void setItems(List<DetailSubclass> items) {
- this.items = items;
- }
-
-}
Copied: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/Master.java (from rev 19522, core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/Master.java)
===================================================================
--- core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/Master.java (rev 0)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/Master.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -0,0 +1,48 @@
+package org.hibernate.envers.test.integration.onetomany.inverseToSuperclass;
+
+/**
+ * @author Hern�n Chanfreau
+ *
+ */
+import java.util.List;
+
+import org.hibernate.envers.Audited;
+
+@Audited
+public class Master {
+
+ private long id;
+
+ private String str;
+
+ private List<DetailSubclass> items;
+
+ public Master() {
+
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public String getStr() {
+ return str;
+ }
+
+ public void setStr(String str) {
+ this.str = str;
+ }
+
+ public List<DetailSubclass> getItems() {
+ return items;
+ }
+
+ public void setItems(List<DetailSubclass> items) {
+ this.items = items;
+ }
+
+}
Deleted: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/OneToManyInverseToSuperclassTest.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/OneToManyInverseToSuperclassTest.java 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/OneToManyInverseToSuperclassTest.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -1,113 +0,0 @@
-package org.hibernate.envers.test.integration.onetomany.inverseToSuperclass;
-
-import java.io.File;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.ArrayList;
-
-import javax.persistence.EntityManager;
-
-import org.hibernate.ejb.Ejb3Configuration;
-import org.hibernate.envers.test.AbstractEntityTest;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-/**
- * @author Hern�n Chanfreau
- *
- */
-
-public class OneToManyInverseToSuperclassTest extends AbstractEntityTest {
-
- private long m1_id;
-
- public void configure(Ejb3Configuration cfg) {
- try {
- URL url = Thread.currentThread().getContextClassLoader()
- .getResource(
- "mappings/oneToMany/inverseToSuperclass/mappings.hbm.xml");
- cfg.addFile(new File(url.toURI()));
- } catch (URISyntaxException e) {
- throw new RuntimeException(e);
- }
- }
-
- @BeforeClass(dependsOnMethods = "init")
- public void initData() {
- EntityManager em = getEntityManager();
-
- Master m1 = new Master();
- DetailSubclass det1 = new DetailSubclass2();
- DetailSubclass det2 = new DetailSubclass2();
-
- // Revision 1
- em.getTransaction().begin();
-
- det1.setStr2("detail 1");
-
- m1.setStr("master");
- m1.setItems(new ArrayList<DetailSubclass>());
- m1.getItems().add(det1);
- det1.setParent(m1);
-
- em.persist(m1);
- em.getTransaction().commit();
- m1_id = m1.getId();
-
- // Revision 2
- em.getTransaction().begin();
-
- m1 = em.find(Master.class, m1_id);
-
- det2.setStr2("detail 2");
- det2.setParent(m1);
- m1.getItems().add(det2);
- em.getTransaction().commit();
-
- // Revision 3
- em.getTransaction().begin();
-
- m1 = em.find(Master.class, m1_id);
- m1.setStr("new master");
-
- det1 = m1.getItems().get(0);
- det1.setStr2("new detail");
- DetailSubclass det3 = new DetailSubclass2();
- det3.setStr2("detail 3");
- det3.setParent(m1);
-
- m1.getItems().get(1).setParent(null);
- // m1.getItems().remove(1);
- m1.getItems().add(det3);
-
- em.persist(m1);
- em.getTransaction().commit();
-
- // Revision 4
- em.getTransaction().begin();
-
- m1 = em.find(Master.class, m1_id);
-
- det1 = m1.getItems().get(0);
- det1.setParent(null);
- // m1.getItems().remove(det1);
-
- em.persist(m1);
- em.getTransaction().commit();
-
- }
-
- @Test
- public void testHistoryExists() {
- Master rev1_1 = getAuditReader().find(Master.class, m1_id, 1);
- Master rev1_2 = getAuditReader().find(Master.class, m1_id, 2);
- Master rev1_3 = getAuditReader().find(Master.class, m1_id, 3);
- Master rev1_4 = getAuditReader().find(Master.class, m1_id, 4);
-
- assert (rev1_1 != null);
- assert (rev1_2 != null);
- assert (rev1_3 != null);
- assert (rev1_4 != null);
- }
-
-}
Copied: core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/OneToManyInverseToSuperclassTest.java (from rev 19522, core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/OneToManyInverseToSuperclassTest.java)
===================================================================
--- core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/OneToManyInverseToSuperclassTest.java (rev 0)
+++ core/branches/Branch_3_5/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/inverseToSuperclass/OneToManyInverseToSuperclassTest.java 2010-05-15 14:55:16 UTC (rev 19523)
@@ -0,0 +1,113 @@
+package org.hibernate.envers.test.integration.onetomany.inverseToSuperclass;
+
+import java.io.File;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.ArrayList;
+
+import javax.persistence.EntityManager;
+
+import org.hibernate.ejb.Ejb3Configuration;
+import org.hibernate.envers.test.AbstractEntityTest;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+/**
+ * @author Hern�n Chanfreau
+ *
+ */
+
+public class OneToManyInverseToSuperclassTest extends AbstractEntityTest {
+
+ private long m1_id;
+
+ public void configure(Ejb3Configuration cfg) {
+ try {
+ URL url = Thread.currentThread().getContextClassLoader()
+ .getResource(
+ "mappings/oneToMany/inverseToSuperclass/mappings.hbm.xml");
+ cfg.addFile(new File(url.toURI()));
+ } catch (URISyntaxException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @BeforeClass(dependsOnMethods = "init")
+ public void initData() {
+ EntityManager em = getEntityManager();
+
+ Master m1 = new Master();
+ DetailSubclass det1 = new DetailSubclass2();
+ DetailSubclass det2 = new DetailSubclass2();
+
+ // Revision 1
+ em.getTransaction().begin();
+
+ det1.setStr2("detail 1");
+
+ m1.setStr("master");
+ m1.setItems(new ArrayList<DetailSubclass>());
+ m1.getItems().add(det1);
+ det1.setParent(m1);
+
+ em.persist(m1);
+ em.getTransaction().commit();
+ m1_id = m1.getId();
+
+ // Revision 2
+ em.getTransaction().begin();
+
+ m1 = em.find(Master.class, m1_id);
+
+ det2.setStr2("detail 2");
+ det2.setParent(m1);
+ m1.getItems().add(det2);
+ em.getTransaction().commit();
+
+ // Revision 3
+ em.getTransaction().begin();
+
+ m1 = em.find(Master.class, m1_id);
+ m1.setStr("new master");
+
+ det1 = m1.getItems().get(0);
+ det1.setStr2("new detail");
+ DetailSubclass det3 = new DetailSubclass2();
+ det3.setStr2("detail 3");
+ det3.setParent(m1);
+
+ m1.getItems().get(1).setParent(null);
+ // m1.getItems().remove(1);
+ m1.getItems().add(det3);
+
+ em.persist(m1);
+ em.getTransaction().commit();
+
+ // Revision 4
+ em.getTransaction().begin();
+
+ m1 = em.find(Master.class, m1_id);
+
+ det1 = m1.getItems().get(0);
+ det1.setParent(null);
+ // m1.getItems().remove(det1);
+
+ em.persist(m1);
+ em.getTransaction().commit();
+
+ }
+
+ @Test
+ public void testHistoryExists() {
+ Master rev1_1 = getAuditReader().find(Master.class, m1_id, 1);
+ Master rev1_2 = getAuditReader().find(Master.class, m1_id, 2);
+ Master rev1_3 = getAuditReader().find(Master.class, m1_id, 3);
+ Master rev1_4 = getAuditReader().find(Master.class, m1_id, 4);
+
+ assert (rev1_1 != null);
+ assert (rev1_2 != null);
+ assert (rev1_3 != null);
+ assert (rev1_4 != null);
+ }
+
+}
Copied: core/branches/Branch_3_5/envers/src/test/resources/mappings/manyToMany (from rev 19522, core/trunk/envers/src/test/resources/mappings/manyToMany)
Copied: core/branches/Branch_3_5/envers/src/test/resources/mappings/manyToMany/inverseToSuperclass (from rev 19522, core/trunk/envers/src/test/resources/mappings/manyToMany/inverseToSuperclass)
Deleted: core/branches/Branch_3_5/envers/src/test/resources/mappings/manyToMany/inverseToSuperclass/mappings.hbm.xml
===================================================================
--- core/trunk/envers/src/test/resources/mappings/manyToMany/inverseToSuperclass/mappings.hbm.xml 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/test/resources/mappings/manyToMany/inverseToSuperclass/mappings.hbm.xml 2010-05-15 14:55:16 UTC (rev 19523)
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="WINDOWS-1251"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-<hibernate-mapping>
-
- <class
- name="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.Master"
- table="HIB_MASTER_ENTITY">
-
- <id name="id" column="ID" type="long">
- <generator class="increment" />
- </id>
-
- <property name="str" column="STR" />
-
- <bag name="items" lazy="true" cascade="all" access="property" inverse="true"
- table="HIB_MASTER_DETAIL">
- <key column="ID_MASTER" />
- <many-to-many
- class="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.DetailSubclass2"
- column="ID_DETAIL" />
- </bag>
- </class>
-
-
- <class
- name="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.DetailSuperclass"
- table="HIB_DETAIL_ENTITY" abstract="true">
- <id name="id" column="ID" type="long">
- <generator class="increment" />
- </id>
- <discriminator column="DISCRIMINATOR" type="string" />
-
- <bag name="masters" lazy="true" access="property" table="HIB_MASTER_DETAIL">
- <key column="ID_DETAIL" />
- <many-to-many
- class="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.Master"
- column="ID_MASTER" />
- </bag>
-
- <subclass
- name="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.DetailSubclass"
- discriminator-value="SUB">
- <property name="str2" column="STR2" />
-
- <subclass
- name="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.DetailSubclass2"
- discriminator-value="SUB2"
- extends="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.DetailSubclass">
- <property name="str3" column="STR3" />
-
- </subclass>
-
- </subclass>
- </class>
-
-
-</hibernate-mapping>
Copied: core/branches/Branch_3_5/envers/src/test/resources/mappings/manyToMany/inverseToSuperclass/mappings.hbm.xml (from rev 19522, core/trunk/envers/src/test/resources/mappings/manyToMany/inverseToSuperclass/mappings.hbm.xml)
===================================================================
--- core/branches/Branch_3_5/envers/src/test/resources/mappings/manyToMany/inverseToSuperclass/mappings.hbm.xml (rev 0)
+++ core/branches/Branch_3_5/envers/src/test/resources/mappings/manyToMany/inverseToSuperclass/mappings.hbm.xml 2010-05-15 14:55:16 UTC (rev 19523)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="WINDOWS-1251"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping>
+
+ <class
+ name="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.Master"
+ table="HIB_MASTER_ENTITY">
+
+ <id name="id" column="ID" type="long">
+ <generator class="increment" />
+ </id>
+
+ <property name="str" column="STR" />
+
+ <bag name="items" lazy="true" cascade="all" access="property" inverse="true"
+ table="HIB_MASTER_DETAIL">
+ <key column="ID_MASTER" />
+ <many-to-many
+ class="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.DetailSubclass2"
+ column="ID_DETAIL" />
+ </bag>
+ </class>
+
+
+ <class
+ name="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.DetailSuperclass"
+ table="HIB_DETAIL_ENTITY" abstract="true">
+ <id name="id" column="ID" type="long">
+ <generator class="increment" />
+ </id>
+ <discriminator column="DISCRIMINATOR" type="string" />
+
+ <bag name="masters" lazy="true" access="property" table="HIB_MASTER_DETAIL">
+ <key column="ID_DETAIL" />
+ <many-to-many
+ class="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.Master"
+ column="ID_MASTER" />
+ </bag>
+
+ <subclass
+ name="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.DetailSubclass"
+ discriminator-value="SUB">
+ <property name="str2" column="STR2" />
+
+ <subclass
+ name="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.DetailSubclass2"
+ discriminator-value="SUB2"
+ extends="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass.DetailSubclass">
+ <property name="str3" column="STR3" />
+
+ </subclass>
+
+ </subclass>
+ </class>
+
+
+</hibernate-mapping>
Copied: core/branches/Branch_3_5/envers/src/test/resources/mappings/oneToMany (from rev 19522, core/trunk/envers/src/test/resources/mappings/oneToMany)
Copied: core/branches/Branch_3_5/envers/src/test/resources/mappings/oneToMany/inverseToSuperclass (from rev 19522, core/trunk/envers/src/test/resources/mappings/oneToMany/inverseToSuperclass)
Deleted: core/branches/Branch_3_5/envers/src/test/resources/mappings/oneToMany/inverseToSuperclass/mappings.hbm.xml
===================================================================
--- core/trunk/envers/src/test/resources/mappings/oneToMany/inverseToSuperclass/mappings.hbm.xml 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/test/resources/mappings/oneToMany/inverseToSuperclass/mappings.hbm.xml 2010-05-15 14:55:16 UTC (rev 19523)
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="WINDOWS-1251"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-<hibernate-mapping>
-
- <class
- name="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.Master"
- table="HIB_MASTER_ENTITY">
-
- <id name="id" column="ID" type="long">
- <generator class="increment" />
- </id>
-
- <property name="str" column="STR" />
-
- <bag name="items" lazy="true" cascade="all" access="property"
- inverse="true">
- <key column="ID_MASTER" />
- <one-to-many
- class="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.DetailSubclass2" />
- </bag>
- </class>
-
-
- <class
- name="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.DetailSuperclass"
- table="HIB_DETAIL_ENTITY" abstract="true">
- <id name="id" column="ID" type="long">
- <generator class="increment" />
- </id>
- <discriminator column="DISCRIMINATOR" type="string" />
-
- <many-to-one name="parent" column="ID_MASTER"
- class="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.Master" />
-
- <subclass
- name="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.DetailSubclass"
- discriminator-value="SUB">
- <property name="str2" column="STR2" />
-
- <subclass
- name="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.DetailSubclass2"
- discriminator-value="SUB2" extends="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.DetailSubclass">
- <property name="str3" column="STR3" />
-
- </subclass>
-
- </subclass>
- </class>
-
-
-</hibernate-mapping>
Copied: core/branches/Branch_3_5/envers/src/test/resources/mappings/oneToMany/inverseToSuperclass/mappings.hbm.xml (from rev 19522, core/trunk/envers/src/test/resources/mappings/oneToMany/inverseToSuperclass/mappings.hbm.xml)
===================================================================
--- core/branches/Branch_3_5/envers/src/test/resources/mappings/oneToMany/inverseToSuperclass/mappings.hbm.xml (rev 0)
+++ core/branches/Branch_3_5/envers/src/test/resources/mappings/oneToMany/inverseToSuperclass/mappings.hbm.xml 2010-05-15 14:55:16 UTC (rev 19523)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="WINDOWS-1251"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping>
+
+ <class
+ name="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.Master"
+ table="HIB_MASTER_ENTITY">
+
+ <id name="id" column="ID" type="long">
+ <generator class="increment" />
+ </id>
+
+ <property name="str" column="STR" />
+
+ <bag name="items" lazy="true" cascade="all" access="property"
+ inverse="true">
+ <key column="ID_MASTER" />
+ <one-to-many
+ class="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.DetailSubclass2" />
+ </bag>
+ </class>
+
+
+ <class
+ name="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.DetailSuperclass"
+ table="HIB_DETAIL_ENTITY" abstract="true">
+ <id name="id" column="ID" type="long">
+ <generator class="increment" />
+ </id>
+ <discriminator column="DISCRIMINATOR" type="string" />
+
+ <many-to-one name="parent" column="ID_MASTER"
+ class="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.Master" />
+
+ <subclass
+ name="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.DetailSubclass"
+ discriminator-value="SUB">
+ <property name="str2" column="STR2" />
+
+ <subclass
+ name="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.DetailSubclass2"
+ discriminator-value="SUB2" extends="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass.DetailSubclass">
+ <property name="str3" column="STR3" />
+
+ </subclass>
+
+ </subclass>
+ </class>
+
+
+</hibernate-mapping>
Modified: core/branches/Branch_3_5/envers/src/test/resources/testng.xml
===================================================================
--- core/branches/Branch_3_5/envers/src/test/resources/testng.xml 2010-05-15 13:08:24 UTC (rev 19522)
+++ core/branches/Branch_3_5/envers/src/test/resources/testng.xml 2010-05-15 14:55:16 UTC (rev 19523)
@@ -43,6 +43,7 @@
<package name="org.hibernate.envers.test.integration.interfaces.hbm.propertiesAudited2.union" />
<package name="org.hibernate.envers.test.integration.manytomany" />
<package name="org.hibernate.envers.test.integration.manytomany.biowned" />
+ <package name="org.hibernate.envers.test.integration.manytomany.inverseToSuperclass" />
<package name="org.hibernate.envers.test.integration.manytomany.sametable" />
<package name="org.hibernate.envers.test.integration.manytomany.ternary" />
<package name="org.hibernate.envers.test.integration.manytomany.unidirectional" />
@@ -53,6 +54,7 @@
<package name="org.hibernate.envers.test.integration.notinsertable.manytoone" />
<package name="org.hibernate.envers.test.integration.onetomany" />
<package name="org.hibernate.envers.test.integration.onetomany.detached" />
+ <package name="org.hibernate.envers.test.integration.onetomany.inverseToSuperclass" />
<package name="org.hibernate.envers.test.integration.onetoone.bidirectional" />
<package name="org.hibernate.envers.test.integration.onetoone.bidirectional.ids" />
<package name="org.hibernate.envers.test.integration.onetoone.unidirectional" />
13 years, 11 months
Hibernate SVN: r19522 - in core/trunk: parent and 1 other directory.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2010-05-15 09:08:24 -0400 (Sat, 15 May 2010)
New Revision: 19522
Modified:
core/trunk/core/pom.xml
core/trunk/parent/pom.xml
Log:
Fixed problem in hibernate-core test run because of H2 driver not being on classpath
Modified: core/trunk/core/pom.xml
===================================================================
--- core/trunk/core/pom.xml 2010-05-15 12:33:09 UTC (rev 19521)
+++ core/trunk/core/pom.xml 2010-05-15 13:08:24 UTC (rev 19522)
@@ -75,6 +75,11 @@
<version>1.6.5</version>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
Modified: core/trunk/parent/pom.xml
===================================================================
--- core/trunk/parent/pom.xml 2010-05-15 12:33:09 UTC (rev 19521)
+++ core/trunk/parent/pom.xml 2010-05-15 13:08:24 UTC (rev 19522)
@@ -539,6 +539,11 @@
<artifactId>hibernate-validator</artifactId>
<version>4.0.2.GA</version>
</dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>1.2.134</version>
+ </dependency>
</dependencies>
</dependencyManagement>
@@ -592,7 +597,6 @@
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
- <version>1.2.134</version>
<scope>test</scope>
</dependency>
</dependencies>
13 years, 11 months
Hibernate SVN: r19521 - validator/trunk/hibernate-validator/src/main/docbook/en-US/modules.
by hibernate-commits@lists.jboss.org
Author: gunnar.morling
Date: 2010-05-15 08:33:09 -0400 (Sat, 15 May 2010)
New Revision: 19521
Modified:
validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/customconstraints.xml
validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/furtherreading.xml
validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/gettingstarted.xml
validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/integration.xml
validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/usingvalidator.xml
validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/xmlconfiguration.xml
Log:
HV-298: Fixed some typos and dangling references
Modified: validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/customconstraints.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/customconstraints.xml 2010-05-15 12:27:18 UTC (rev 19520)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/customconstraints.xml 2010-05-15 12:33:09 UTC (rev 19521)
@@ -134,10 +134,10 @@
<listitem>
<para>an attribute <classname>payload</classname> that can be used
- by clients of the Bean Validation API to asign custom payload
+ by clients of the Bean Validation API to assign custom payload
objects to a constraint. This attribute is not used by the API
itself. <tip>
- <para>An examle for a custom payload could be the definition of
+ <para>An example for a custom payload could be the definition of
a severity.</para>
<programlisting>public class Severity {
@@ -165,7 +165,7 @@
</itemizedlist>
<para>Besides those three mandatory attributes
- (<property>messge</property>, <property>groups</property> and
+ (<property>message</property>, <property>groups</property> and
<property>payload</property>) we add another one allowing for the
required case mode to be specified. The name <property>value</property>
is a special one, which can be omitted upon using the annotation, if it
@@ -267,7 +267,7 @@
<classname>initialize()</classname>. As the Bean Validation
specification recommends, we consider <code>null</code> values as being
valid. If <code>null</code> is not a valid value for an element, it
- should be annotated with <code>@NotNull</code> explicitely.</para>
+ should be annotated with <code>@NotNull</code> explicitly.</para>
<section>
<title>The ConstraintValidatorContext</title>
Modified: validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/furtherreading.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/furtherreading.xml 2010-05-15 12:27:18 UTC (rev 19520)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/furtherreading.xml 2010-05-15 12:33:09 UTC (rev 19521)
@@ -35,7 +35,7 @@
itself is also a great way to deepen your understanding of Bean Validation
resp. Hibernate Validator.</para>
- <para>If you have any furhter questions to Hibernate Validator or want to
+ <para>If you have any further questions to Hibernate Validator or want to
share some of your use cases have a look at the <ulink
url="http://community.jboss.org/en/hibernate/validator">Hibernate Validator
Wiki</ulink> and the <ulink
Modified: validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/gettingstarted.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/gettingstarted.xml 2010-05-15 12:27:18 UTC (rev 19520)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/gettingstarted.xml 2010-05-15 12:33:09 UTC (rev 19521)
@@ -70,7 +70,7 @@
<note>
<para>Hibernate Validator uses JAXB for XML parsing. JAXB is part of the
Java Class Library since Java 6 which means that if you run Hibernate
- Validator with Java 5 you will have to add additional JAXB dependecies.
+ Validator with Java 5 you will have to add additional JAXB dependencies.
Using maven you have to add the following dependencies:<programlisting><dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
Modified: validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/integration.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/integration.xml 2010-05-15 12:27:18 UTC (rev 19520)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/integration.xml 2010-05-15 12:33:09 UTC (rev 19521)
@@ -59,7 +59,7 @@
<para>You can also limit the DDL constraint generation to a subset of the
defined constraints by setting the property
<property>org.hibernate.validator.group.ddl</property>. The property
- specifies the comma seperated, fully specified classnames of the groups a
+ specifies the comma-separated, fully specified class names of the groups a
constraint has to be part of in order to be considered for DDL schema
generation.</para>
</section>
@@ -88,7 +88,7 @@
<property>javax.persistence.validation.group.pre-persist</property>,
<property>javax.persistence.validation.group.pre-update</property> and
<property>javax.persistence.validation.group.pre-remove</property>. The
- values of these properties are the comma seperated, fully specified
+ values of these properties are the comma-separated, fully specified
class names of the groups to validate. <xref
linkend="example-beanvalidationeventlistener-config" /> shows the
default values for these properties. In this case they could also be
@@ -171,7 +171,7 @@
<para>When working with JSF2 or <productname>JBoss Seam</productname> and
Hibernate Validator (Bean Validation) is present in the runtime
environment validation is triggered for every field in the application.
- <xref linkend="example-jsf" /> shows an example of the f:validateBean tag
+ <xref linkend="example-jsf2" /> shows an example of the f:validateBean tag
in a JSF page. For more information refer to the Seam documentation or the
JSF 2 specification.</para>
Modified: validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/usingvalidator.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/usingvalidator.xml 2010-05-15 12:27:18 UTC (rev 19520)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/usingvalidator.xml 2010-05-15 12:33:09 UTC (rev 19521)
@@ -79,8 +79,9 @@
</example>
<para>When using field level constraints field access strategy is used
- to access the value to be validated. This means the instance variable
- directly independed of the access type.</para>
+ to access the value to be validated. This means the bean validation
+ provider directly accesses the instance variable and does not invoke the
+ property accessor method also if such a method exists.</para>
<note>
<para>The access type (private, protected or public) does not
@@ -248,8 +249,7 @@
}</programlisting>
</example>
- <para>Our well-known class <classname>Car</classname> from <xref
- linkend="example-class-car" /> is now extended by
+ <para>Our well-known class <classname>Car</classname> is now extended by
<classname>RentalCar</classname> with the additional property
<property>rentalStation</property>. If an instance of
<classname>RentalCar</classname> is validated, not only the
@@ -337,11 +337,11 @@
<code>null</code>.</para>
<para>Object graph validation also works for collection-typed fields.
- That means any attributes that are</para>
+ That means any attributes that</para>
<itemizedlist>
<listitem>
- <para>arrays</para>
+ <para>are arrays</para>
</listitem>
<listitem>
@@ -545,7 +545,7 @@
<entry>Usage</entry>
- <entry>Example (refering to <xref
+ <entry>Example (referring to <xref
linkend="example-validator-validate" />)</entry>
</row>
</thead>
@@ -892,7 +892,7 @@
<note>
<para>If at least one constraints fails in a sequenced group none of
- the constraints of the follwoing groups in the sequence get
+ the constraints of the following groups in the sequence get
validated.</para>
</note>
@@ -1354,10 +1354,10 @@
<entry>field/property. Any non-primitive types are
supported.</entry>
- <entry>Performs validation recursively on the associated object. If
- the object is a collection or an array, the elements are validated
- recursively. If the object is a map, the value elements are
- validated recursively.</entry>
+ <entry>Performs validation recursively on the associated object.
+ If the object is a collection or an array, the elements are
+ validated recursively. If the object is a map, the value elements
+ are validated recursively.</entry>
<entry>none</entry>
</row>
Modified: validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/xmlconfiguration.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/xmlconfiguration.xml 2010-05-15 12:27:18 UTC (rev 19520)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/xmlconfiguration.xml 2010-05-15 12:33:09 UTC (rev 19521)
@@ -86,7 +86,7 @@
<classname>javax.validation.ConstraintValidatorFactory</classname>. The
same configuration options are also available programmatically through the
<classname>javax.validation.Configuration</classname>. In fact XML
- configuration will be overriden by values explicitly specified via the
+ configuration will be overridden by values explicitly specified via the
API. It is even possible to ignore the XML configuration completely via
<methodname> Configuration.ignoreXmlConfiguration()</methodname>. See also
<xref linkend="validator-bootstrapping" />.</para>
13 years, 11 months
Hibernate SVN: r19520 - validator/trunk/hibernate-validator/src/main/docbook/en-US/modules.
by hibernate-commits@lists.jboss.org
Author: gunnar.morling
Date: 2010-05-15 08:27:18 -0400 (Sat, 15 May 2010)
New Revision: 19520
Modified:
validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/preface.xml
Log:
HV-298: Added missing property
Modified: validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/preface.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/preface.xml 2010-05-15 12:12:01 UTC (rev 19519)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/preface.xml 2010-05-15 12:27:18 UTC (rev 19520)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- $Id: bootstrapping.xml 17523 2009-09-16 15:51:58Z hardy.ferentschik $ -->
+<!-- $Id$ -->
<!--
~ JBoss, Home of Professional Open Source
~ Copyright 2009, Red Hat, Inc. and/or its affiliates, and individual contributors
Property changes on: validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/preface.xml
___________________________________________________________________
Name: svn:keywords
+ Id
13 years, 11 months