Hibernate SVN: r10909 - in branches/Branch_3_2/HibernateExt/ejb: . src/java/org/hibernate/ejb/packaging src/test/org/hibernate/ejb/test src/test/org/hibernate/ejb/test/pack src/test/org/hibernate/ejb/test/pack/spacepar src/test-resources src/test-resources/space par src/test-resources/space par/META-INF
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2006-12-01 14:21:14 -0500 (Fri, 01 Dec 2006)
New Revision: 10909
Added:
branches/Branch_3_2/HibernateExt/ejb/src/test-resources/space par/
branches/Branch_3_2/HibernateExt/ejb/src/test-resources/space par/META-INF/
branches/Branch_3_2/HibernateExt/ejb/src/test-resources/space par/META-INF/persistence.xml
branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/pack/spacepar/
branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/pack/spacepar/Bug.java
Modified:
branches/Branch_3_2/HibernateExt/ejb/build.xml
branches/Branch_3_2/HibernateExt/ejb/src/java/org/hibernate/ejb/packaging/JarVisitor.java
branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/PackagedEntityManagerTest.java
Log:
EJB-244 space in directory on windows
Modified: branches/Branch_3_2/HibernateExt/ejb/build.xml
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/build.xml 2006-12-01 18:11:26 UTC (rev 10908)
+++ branches/Branch_3_2/HibernateExt/ejb/build.xml 2006-12-01 19:21:14 UTC (rev 10909)
@@ -52,12 +52,13 @@
<target name="packjar">
<property name="extension" value="jar"/>
- <!-- property name="jarname"/ -->
+ <property name="packagename" value="${jarname}"/>
+ <!-- property name="jarname"/ -->
<mkdir dir="${build.testresources.dir}"/>
<jar destfile="${build.testresources.dir}/${jarname}.${extension}">
<!-- fileset dir="${build.temp.dir}"/ -->
<fileset dir="${classes.dir}">
- <include name="**/test/pack/${jarname}/**.*"/>
+ <include name="**/test/pack/${packagename}/**.*"/>
</fileset>
<fileset dir="${testresources.dir}/${jarname}">
<include name="**/*.*"/>
@@ -87,8 +88,13 @@
<param name="extension" value="par"/>
<param name="jarname" value="defaultpar"/>
</antcall>
- <antcall target="packjar" inheritall="true">
+ <antcall target="packjar" inheritall="true">
<param name="extension" value="par"/>
+ <param name="jarname" value="space par"/>
+ <param name="packagename" value="spacepar"/>
+ </antcall>
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="par"/>
<param name="jarname" value="explicitpar"/>
</antcall>
<antcall target="packjar" inheritall="true">
@@ -103,7 +109,8 @@
<param name="extension" value="par"/>
<param name="jarname" value="cfgxmlpar"/>
</antcall>
- <antcall target="packexploded" inheritall="true">
+
+ <antcall target="packexploded" inheritall="true">
<param name="extension" value="par"/>
<param name="jarname" value="explodedpar"/>
</antcall>
Modified: branches/Branch_3_2/HibernateExt/ejb/src/java/org/hibernate/ejb/packaging/JarVisitor.java
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/src/java/org/hibernate/ejb/packaging/JarVisitor.java 2006-12-01 18:11:26 UTC (rev 10908)
+++ branches/Branch_3_2/HibernateExt/ejb/src/java/org/hibernate/ejb/packaging/JarVisitor.java 2006-12-01 19:21:14 UTC (rev 10909)
@@ -6,6 +6,7 @@
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
+import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -86,7 +87,15 @@
return new InputStreamZippedJarVisitor( jarUrl, filters );
}
else if ( StringHelper.isEmpty( protocol ) || "file".equals( protocol ) ) {
- File file = new File( jarUrl.getFile() );
+ File file;
+ try {
+ file = new File( jarUrl.toURI().getSchemeSpecificPart() );
+ }
+ catch (URISyntaxException e) {
+ throw new IllegalArgumentException(
+ "Unable to visit JAR " + jarUrl + ". Cause: " + e.getMessage()
+ );
+ }
if ( file.isDirectory() ) {
return new ExplodedJarVisitor( jarUrl, filters );
}
Modified: branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/PackagedEntityManagerTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/PackagedEntityManagerTest.java 2006-12-01 18:11:26 UTC (rev 10908)
+++ branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/PackagedEntityManagerTest.java 2006-12-01 19:21:14 UTC (rev 10909)
@@ -20,6 +20,7 @@
import org.hibernate.ejb.test.pack.explodedpar.Carpet;
import org.hibernate.ejb.test.pack.explodedpar.Elephant;
import org.hibernate.ejb.test.pack.externaljar.Scooter;
+import org.hibernate.ejb.test.pack.spacepar.Bug;
import org.hibernate.stat.Statistics;
import org.hibernate.validator.InvalidStateException;
import org.hibernate.JDBCException;
@@ -174,6 +175,21 @@
emf.close();
}
+ public void testSpacePar() throws Exception {
+ EntityManagerFactory emf = Persistence.createEntityManagerFactory( "space par", new HashMap() );
+ EntityManager em = emf.createEntityManager();
+ Bug bug = new Bug();
+ bug.setSubject( "Spaces in directory name don't play well on Windows");
+ em.getTransaction().begin();
+ em.persist( bug );
+ em.flush();
+ em.remove( bug );
+ assertNotNull( bug.getId() );
+ em.getTransaction().rollback();
+ em.close();
+ emf.close();
+ }
+
public void testListenersOverridingCfgXmlPar() throws Exception {
EntityManagerFactory emf = Persistence.createEntityManagerFactory( "cfgxmlpar", new HashMap() );
EntityManager em = emf.createEntityManager();
Added: branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/pack/spacepar/Bug.java
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/pack/spacepar/Bug.java 2006-12-01 18:11:26 UTC (rev 10908)
+++ branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/pack/spacepar/Bug.java 2006-12-01 19:21:14 UTC (rev 10909)
@@ -0,0 +1,42 @@
+//$Id: $
+package org.hibernate.ejb.test.pack.spacepar;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.GeneratedValue;
+
+/**
+ * @author Emmanuel Bernard
+ */
+@Entity
+public class Bug {
+ @Id
+ @GeneratedValue
+ private Long id;
+ private String subject;
+ private String comment;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getSubject() {
+ return subject;
+ }
+
+ public void setSubject(String subject) {
+ this.subject = subject;
+ }
+
+ public String getComment() {
+ return comment;
+ }
+
+ public void setComment(String comment) {
+ this.comment = comment;
+ }
+}
Added: branches/Branch_3_2/HibernateExt/ejb/src/test-resources/space par/META-INF/persistence.xml
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/src/test-resources/space par/META-INF/persistence.xml 2006-12-01 18:11:26 UTC (rev 10908)
+++ branches/Branch_3_2/HibernateExt/ejb/src/test-resources/space par/META-INF/persistence.xml 2006-12-01 19:21:14 UTC (rev 10909)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- example of a default persistence.xml -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
+ version="1.0">
+ <persistence-unit name="space par">
+ <properties>
+ <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
+ <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/>
+ <property name="hibernate.connection.username" value="sa"/>
+ <property name="hibernate.connection.password" value=""/>
+ <property name="hibernate.connection.url" value="jdbc:hsqldb:."/>
+ <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
+ <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/>
+ </properties>
+ </persistence-unit>
+</persistence>
18 years, 2 months
Hibernate SVN: r10908 - in branches/Branch_3_2/HibernateExt: ejb/src/test/org/hibernate/ejb/test/xml metadata/src/java/org/hibernate/reflection/java
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2006-12-01 13:11:26 -0500 (Fri, 01 Dec 2006)
New Revision: 10908
Added:
branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/Address.java
branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/Employee.java
branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/XmlAttributeOverrideTest.java
branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/orm3.xml
Modified:
branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/XmlTest.java
branches/Branch_3_2/HibernateExt/metadata/src/java/org/hibernate/reflection/java/EJB3OverridenAnnotationReader.java
Log:
EJB-240 handle attribute override in properties
Added: branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/Address.java
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/Address.java 2006-12-01 14:16:43 UTC (rev 10907)
+++ branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/Address.java 2006-12-01 18:11:26 UTC (rev 10908)
@@ -0,0 +1,54 @@
+//$Id: $
+package org.hibernate.ejb.test.xml;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class Address {
+ private String street;
+ private String city;
+ private String state;
+ private String zip;
+
+ public Address() {
+ }
+
+ public Address(String street, String city, String state, String zip) {
+ this.street = street;
+ this.city = city;
+ this.state = state;
+ this.zip = zip;
+ }
+
+ public String getStreet() {
+ return street;
+ }
+
+ public void setStreet(String street) {
+ this.street = street;
+ }
+
+ public String getCity() {
+ return city;
+ }
+
+ public void setCity(String city) {
+ this.city = city;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ public String getZip() {
+ return zip;
+ }
+
+ public void setZip(String zip) {
+ this.zip = zip;
+ }
+}
\ No newline at end of file
Added: branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/Employee.java
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/Employee.java 2006-12-01 14:16:43 UTC (rev 10907)
+++ branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/Employee.java 2006-12-01 18:11:26 UTC (rev 10908)
@@ -0,0 +1,66 @@
+//$Id: $
+package org.hibernate.ejb.test.xml;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+
+/**
+ * @author Emmanuel Bernard
+ */
+@Entity
+public class Employee {
+ @Id
+ Long id;
+ String name;
+/*
+ @Embedded
+ @AttributeOverrides({
+ @AttributeOverride(name = "street", column = @Column(name = "HA_street")),
+ @AttributeOverride(name = "city", column = @Column(name = "HA_city")),
+ @AttributeOverride(name = "state", column = @Column(name = "HA_state")),
+ @AttributeOverride(name = "zip", column = @Column(name = "HA_zip")) })
+*/
+ Address homeAddress;
+
+/*
+ @Embedded
+ @AttributeOverrides({
+ @AttributeOverride(name = "street", column = @Column(name = "MA_street")),
+ @AttributeOverride(name = "city", column = @Column(name = "MA_city")),
+ @AttributeOverride(name = "state", column = @Column(name = "MA_state")),
+ @AttributeOverride(name = "zip", column = @Column(name = "MA_zip")) })
+*/
+ Address mailAddress;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Address getHomeAddress() {
+ return homeAddress;
+ }
+
+ public void setHomeAddress(Address homeAddress) {
+ this.homeAddress = homeAddress;
+ }
+
+ public Address getMailAddress() {
+ return mailAddress;
+ }
+
+ public void setMailAddress(Address mailAddress) {
+ this.mailAddress = mailAddress;
+ }
+}
\ No newline at end of file
Added: branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/XmlAttributeOverrideTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/XmlAttributeOverrideTest.java 2006-12-01 14:16:43 UTC (rev 10907)
+++ branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/XmlAttributeOverrideTest.java 2006-12-01 18:11:26 UTC (rev 10908)
@@ -0,0 +1,41 @@
+//$Id: $
+package org.hibernate.ejb.test.xml;
+
+import javax.persistence.EntityManager;
+
+import org.hibernate.ejb.test.TestCase;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class XmlAttributeOverrideTest extends TestCase {
+
+ public void testAttributeOverriding() throws Exception {
+ EntityManager em = factory.createEntityManager();
+ em.getTransaction().begin();
+
+ Employee e = new Employee();
+ e.setId(Long.valueOf(100));
+ e.setName("Bubba");
+ e.setHomeAddress(new Address("123 Main St", "New York", "NY", "11111"));
+ e.setMailAddress(new Address("P.O. Box 123", "New York", "NY", "11111"));
+
+ em.persist(e);
+
+ em.flush();
+
+ em.getTransaction().rollback();
+ em.close();
+ }
+
+ public Class[] getAnnotatedClasses() {
+ return new Class[0];
+ }
+
+ @Override
+ public String[] getEjb3DD() {
+ return new String[] {
+ "org/hibernate/ejb/test/xml/orm3.xml"
+ };
+ }
+}
Modified: branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/XmlTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/XmlTest.java 2006-12-01 14:16:43 UTC (rev 10907)
+++ branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/XmlTest.java 2006-12-01 18:11:26 UTC (rev 10908)
@@ -22,7 +22,7 @@
public String[] getEjb3DD() {
return new String[] {
"org/hibernate/ejb/test/xml/orm.xml",
- "org/hibernate/ejb/test/xml/orm2.xml"
+ "org/hibernate/ejb/test/xml/orm2.xml",
};
}
}
Added: branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/orm3.xml
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/orm3.xml 2006-12-01 14:16:43 UTC (rev 10907)
+++ branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/xml/orm3.xml 2006-12-01 18:11:26 UTC (rev 10908)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
+ version="1.0">
+
+ <entity class="org.hibernate.ejb.test.xml.Employee" metadata-complete="false" access="FIELD">
+ <attributes>
+ <id name="id"/>
+ <basic name="name"/>
+
+ <embedded name="homeAddress">
+ <attribute-override name="street">
+ <column name="home_street"/>
+ </attribute-override>
+ <attribute-override name="city">
+ <column name="home_city"/>
+ </attribute-override>
+ <attribute-override name="state">
+ <column name="home_state"/>
+ </attribute-override>
+ <attribute-override name="zip">
+ <column name="home_zip"/>
+ </attribute-override>
+ </embedded>
+
+ <embedded name="mailAddress">
+ <attribute-override name="street">
+ <column name="mail_street"/>
+ </attribute-override>
+ <attribute-override name="city">
+ <column name="mail_city"/>
+ </attribute-override>
+ <attribute-override name="state">
+ <column name="mail_state"/>
+ </attribute-override>
+ <attribute-override name="zip">
+ <column name="mail_zip"/>
+ </attribute-override>
+ </embedded>
+
+ </attributes>
+ </entity>
+
+ <embeddable class="org.hibernate.ejb.test.xml.Address">
+ <attributes>
+ <basic name="street"/>
+ <basic name="city"/>
+ <basic name="state"/>
+ <basic name="zip"/>
+ </attributes>
+ </embeddable>
+
+</entity-mappings>
\ No newline at end of file
Modified: branches/Branch_3_2/HibernateExt/metadata/src/java/org/hibernate/reflection/java/EJB3OverridenAnnotationReader.java
===================================================================
--- branches/Branch_3_2/HibernateExt/metadata/src/java/org/hibernate/reflection/java/EJB3OverridenAnnotationReader.java 2006-12-01 14:16:43 UTC (rev 10907)
+++ branches/Branch_3_2/HibernateExt/metadata/src/java/org/hibernate/reflection/java/EJB3OverridenAnnotationReader.java 2006-12-01 18:11:26 UTC (rev 10908)
@@ -11,7 +11,6 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import javax.persistence.AssociationOverride;
import javax.persistence.AssociationOverrides;
import javax.persistence.AttributeOverride;
@@ -358,6 +357,8 @@
if ( current != null ) annotationList.add( current );
current = getTableGenerator( elementsForProperty, defaults );
if ( current != null ) annotationList.add( current );
+ current = getAttributeOverrides( elementsForProperty, defaults );
+ if ( current != null ) annotationList.add( current );
}
processEventAnnotations(annotationList, defaults);
@@ -1159,7 +1160,20 @@
}
private AttributeOverrides getAttributeOverrides(Element tree, XMLContext.Default defaults) {
- List<AttributeOverride> attributes = (List<AttributeOverride>) buildAttributeOverrides( tree );
+ List<AttributeOverride> attributes = buildAttributeOverrides( tree );
+ return mergeAttributeOverrides( defaults, attributes );
+ }
+
+ private AttributeOverrides getAttributeOverrides(List<Element> elements, XMLContext.Default defaults) {
+ List<AttributeOverride> attributes = new ArrayList<AttributeOverride>();
+ for (Element element : elements) {
+ attributes.addAll( buildAttributeOverrides( element ) );
+ }
+ return mergeAttributeOverrides( defaults, attributes );
+ }
+
+ private AttributeOverrides mergeAttributeOverrides(XMLContext.Default defaults,
+ List<AttributeOverride> attributes) {
if ( defaults.canUseJavaAnnotations() ) {
AttributeOverride annotation = super.getAnnotation( AttributeOverride.class );
addAttributeOverrideIfNeeded( annotation, attributes );
@@ -1182,9 +1196,14 @@
private List<AttributeOverride> buildAttributeOverrides(Element element) {
List<Element> subelements = element == null ? null : element.elements( "attribute-override" );
+ return buildAttributeOverrides( subelements );
+ }
+
+ private List<AttributeOverride> buildAttributeOverrides(List<Element> subelements) {
List<AttributeOverride> overrides = new ArrayList<AttributeOverride>();
if ( subelements != null && subelements.size() > 0 ) {
for ( Element current : subelements ) {
+ if ( ! current.getName().equals( "attribute-override" ) ) continue;
AnnotationDescriptor override = new AnnotationDescriptor( AttributeOverride.class );
copyStringAttribute( override, current, "name", true );
Element column = current != null ? current.element( "column" ) : null;
18 years, 2 months
Hibernate SVN: r10907 - in branches/Branch_3_2/Hibernate3/test/org/hibernate/test: . keymanytoone
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2006-12-01 09:16:43 -0500 (Fri, 01 Dec 2006)
New Revision: 10907
Added:
branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/
branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/Card.java
branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/CardField.java
branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/Key.java
branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/KeyManyToOneTestCase.java
branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/PrimaryKey.java
branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/card.hbm.xml
Log:
HHH-2277 infinite loop test case
Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/Card.java
===================================================================
--- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/Card.java 2006-12-01 14:12:28 UTC (rev 10906)
+++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/Card.java 2006-12-01 14:16:43 UTC (rev 10907)
@@ -0,0 +1,38 @@
+//$Id: $
+package org.hibernate.test.keymanytoone;
+
+import java.io.Serializable;
+import java.util.Set;
+import java.util.HashSet;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class Card implements Serializable {
+ private String id;
+
+ private Set fields;
+
+ public Card(String id) {
+ this();
+ this.id = id;
+
+ }
+
+ Card() {
+ fields = new HashSet();
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public void addField(Card card, Key key) {
+ fields.add(new CardField(card, key));
+ }
+}
+
Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/CardField.java
===================================================================
--- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/CardField.java 2006-12-01 14:12:28 UTC (rev 10906)
+++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/CardField.java 2006-12-01 14:16:43 UTC (rev 10907)
@@ -0,0 +1,19 @@
+//$Id: $
+package org.hibernate.test.keymanytoone;
+
+import java.io.Serializable;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class CardField implements Serializable {
+
+ private PrimaryKey primaryKey;
+
+ CardField(Card card, Key key) {
+ this.primaryKey = new PrimaryKey(card, key);
+ }
+
+ CardField() {
+ }
+}
Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/Key.java
===================================================================
--- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/Key.java 2006-12-01 14:12:28 UTC (rev 10906)
+++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/Key.java 2006-12-01 14:16:43 UTC (rev 10907)
@@ -0,0 +1,18 @@
+//$Id: $
+package org.hibernate.test.keymanytoone;
+
+import java.io.Serializable;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class Key implements Serializable {
+ private String id;
+
+ public Key(String id) {
+ this.id = id;
+ }
+
+ Key() {
+ }
+}
Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/KeyManyToOneTestCase.java
===================================================================
--- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/KeyManyToOneTestCase.java 2006-12-01 14:12:28 UTC (rev 10906)
+++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/KeyManyToOneTestCase.java 2006-12-01 14:16:43 UTC (rev 10907)
@@ -0,0 +1,34 @@
+//$Id: $
+package org.hibernate.test.keymanytoone;
+
+import org.hibernate.test.TestCase;
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class KeyManyToOneTestCase extends TestCase {
+ public void testInfiniteLoop() throws Exception {
+ Card card = new Card("cardId");
+ Key key = new Key("keyId");
+ card.addField(card, key);
+ Session s = openSession();
+ Transaction tx = s.beginTransaction();
+ s.persist( key );
+ s.persist( card );
+ s.flush();
+ s.clear();
+ s.get( Card.class, card.getId() );
+ tx.rollback();
+ }
+ public KeyManyToOneTestCase(String name) {
+ super( name );
+ }
+
+ protected String[] getMappings() {
+ return new String[] {
+ "keymanytoone/card.hbm.xml"
+ };
+ }
+}
Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/PrimaryKey.java
===================================================================
--- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/PrimaryKey.java 2006-12-01 14:12:28 UTC (rev 10906)
+++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/PrimaryKey.java 2006-12-01 14:16:43 UTC (rev 10907)
@@ -0,0 +1,21 @@
+//$Id: $
+package org.hibernate.test.keymanytoone;
+
+import java.io.Serializable;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class PrimaryKey implements Serializable {
+ private Card card;
+
+ private Key key;
+
+ public PrimaryKey(Card card, Key key) {
+ this.card = card;
+ this.key = key;
+ }
+
+ PrimaryKey() {}
+
+}
Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/card.hbm.xml
===================================================================
--- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/card.hbm.xml 2006-12-01 14:12:28 UTC (rev 10906)
+++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/keymanytoone/card.hbm.xml 2006-12-01 14:16:43 UTC (rev 10907)
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+ "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<!--
+
+ This mapping demonstrates
+
+ (1) use of lazy properties - this feature requires buildtime
+ bytecode instrumentation; we don't think this is a very
+ necessary feature, but provide it for completeleness; if
+ Hibernate encounters uninstrumented classes, lazy property
+ fetching will be silently disabled, to enable testing
+
+ (2) use of a formula to define a "derived property"
+
+-->
+
+<hibernate-mapping
+ package="org.hibernate.test.keymanytoone"
+ default-access="field">
+
+ <class name="Card">
+ <id name="id"/>
+ <set name="fields" cascade="all" fetch="join" lazy="false">
+ <key>
+ <column name="card_id"/>
+ </key>
+ <one-to-many class="CardField"/>
+ </set>
+ </class>
+ <class name="Key" table="tbl_key">
+ <id name="id"/>
+ </class>
+ <class name="CardField">
+ <composite-id name="primaryKey">
+ <key-many-to-one name="card" class="Card" lazy="false">
+ <column name="card_id"/>
+ </key-many-to-one>
+ <key-many-to-one name="key" class="Key" lazy="false">
+ <column name="key_id"/>
+ </key-many-to-one>
+ </composite-id>
+ </class>
+
+
+</hibernate-mapping>
18 years, 2 months
Hibernate SVN: r10906 - branches/Branch_3_2/HibernateExt/metadata/src/java/org/hibernate/validator/resources
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2006-12-01 09:12:28 -0500 (Fri, 01 Dec 2006)
New Revision: 10906
Added:
branches/Branch_3_2/HibernateExt/metadata/src/java/org/hibernate/validator/resources/DefaultValidatorMessages_sv.properties
Log:
ANN-500 swedish translation
Added: branches/Branch_3_2/HibernateExt/metadata/src/java/org/hibernate/validator/resources/DefaultValidatorMessages_sv.properties
===================================================================
--- branches/Branch_3_2/HibernateExt/metadata/src/java/org/hibernate/validator/resources/DefaultValidatorMessages_sv.properties 2006-12-01 00:34:55 UTC (rev 10905)
+++ branches/Branch_3_2/HibernateExt/metadata/src/java/org/hibernate/validator/resources/DefaultValidatorMessages_sv.properties 2006-12-01 14:12:28 UTC (rev 10906)
@@ -0,0 +1,13 @@
+validator.assertFalse=Felaktigt p�st�ende
+validator.assertTrue=Felaktigt p�st�ende
+validator.future=m�ste vara ett datum fram i tiden
+validator.length=m�ste vara mellan {min} och {max} tecken
+validator.max=f�r vara max {value}
+validator.min=m�ste vara minst {value}
+validator.notNull=f�r inte vara tomt
+validator.past=m�ste vara ett datum bak�t i tiden
+validator.pattern=m�ste matcha "{regex}"
+validator.range=m�ste vara mellan {min} och {max}
+validator.size=storlek m�ste vara mellan {min} och {max}
+validator.email=ogiltig e-mail adress
+validator.notEmpty=f�r inte vara tomt
\ No newline at end of file
18 years, 2 months
Hibernate SVN: r10905 - trunk/Hibernate3/src/org/hibernate/mapping
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2006-11-30 19:34:55 -0500 (Thu, 30 Nov 2006)
New Revision: 10905
Modified:
trunk/Hibernate3/src/org/hibernate/mapping/PersistentClass.java
Log:
ANN-425 Property not found when defined in a @IdClass and referenced by a @OneToMany
ANN-499 @IdClass and @ManyToOne leads to repeated column exception
Modified: trunk/Hibernate3/src/org/hibernate/mapping/PersistentClass.java
===================================================================
--- trunk/Hibernate3/src/org/hibernate/mapping/PersistentClass.java 2006-12-01 00:34:34 UTC (rev 10904)
+++ trunk/Hibernate3/src/org/hibernate/mapping/PersistentClass.java 2006-12-01 00:34:55 UTC (rev 10905)
@@ -330,6 +330,12 @@
public Property getRecursiveProperty(String propertyPath) throws MappingException {
Iterator iter = getPropertyIterator(); // getReferenceablePropertyIterator();
+ if ( getIdentifierMapper() != null ) {
+ ArrayList iterators = new ArrayList(2);
+ iterators.add(iter);
+ iterators.add( getIdentifierMapper().getPropertyIterator() );
+ iter = new JoinedIterator( iterators );
+ }
try {
return getRecursiveProperty( propertyPath, iter );
}
@@ -640,7 +646,11 @@
protected void checkColumnDuplication() {
HashSet cols = new HashSet();
- checkColumnDuplication( cols, getKey().getColumnIterator() );
+ if (getIdentifierMapper() == null ) {
+ //an identifier mapper => getKey will be included in the getNonDuplicatedPropertyIterator()
+ //and checked later, so it needs to be excluded
+ checkColumnDuplication( cols, getKey().getColumnIterator() );
+ }
checkColumnDuplication( cols, getDiscriminatorColumnIterator() );
checkPropertyColumnDuplication( cols, getNonDuplicatedPropertyIterator() );
Iterator iter = getJoinIterator();
18 years, 2 months
Hibernate SVN: r10904 - in branches/Branch_3_2: Hibernate3/src/org/hibernate/mapping HibernateExt/metadata/src/java/org/hibernate/cfg HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2006-11-30 19:34:34 -0500 (Thu, 30 Nov 2006)
New Revision: 10904
Added:
branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/Customer.java
branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/Store.java
branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/StoreCustomer.java
branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/StoreCustomerPK.java
Modified:
branches/Branch_3_2/Hibernate3/src/org/hibernate/mapping/PersistentClass.java
branches/Branch_3_2/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationBinder.java
branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/IdManyToOne.java
Log:
ANN-425 Property not found when defined in a @IdClass and referenced by a @OneToMany
ANN-499 @IdClass and @ManyToOne leads to repeated column exception
Modified: branches/Branch_3_2/Hibernate3/src/org/hibernate/mapping/PersistentClass.java
===================================================================
--- branches/Branch_3_2/Hibernate3/src/org/hibernate/mapping/PersistentClass.java 2006-11-30 22:12:54 UTC (rev 10903)
+++ branches/Branch_3_2/Hibernate3/src/org/hibernate/mapping/PersistentClass.java 2006-12-01 00:34:34 UTC (rev 10904)
@@ -330,6 +330,12 @@
public Property getRecursiveProperty(String propertyPath) throws MappingException {
Iterator iter = getPropertyIterator(); // getReferenceablePropertyIterator();
+ if ( getIdentifierMapper() != null ) {
+ ArrayList iterators = new ArrayList(2);
+ iterators.add(iter);
+ iterators.add( getIdentifierMapper().getPropertyIterator() );
+ iter = new JoinedIterator( iterators );
+ }
try {
return getRecursiveProperty( propertyPath, iter );
}
@@ -640,7 +646,11 @@
protected void checkColumnDuplication() {
HashSet cols = new HashSet();
- checkColumnDuplication( cols, getKey().getColumnIterator() );
+ if (getIdentifierMapper() == null ) {
+ //an identifier mapper => getKey will be included in the getNonDuplicatedPropertyIterator()
+ //and checked later, so it needs to be excluded
+ checkColumnDuplication( cols, getKey().getColumnIterator() );
+ }
checkColumnDuplication( cols, getDiscriminatorColumnIterator() );
checkPropertyColumnDuplication( cols, getNonDuplicatedPropertyIterator() );
Iterator iter = getJoinIterator();
Modified: branches/Branch_3_2/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationBinder.java
===================================================================
--- branches/Branch_3_2/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationBinder.java 2006-11-30 22:12:54 UTC (rev 10903)
+++ branches/Branch_3_2/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationBinder.java 2006-12-01 00:34:34 UTC (rev 10904)
@@ -657,6 +657,8 @@
entityBinder.getPropertyAccessor(), "id", compositeClass
);
HashMap<String, IdGenerator> localGenerators = new HashMap<String, IdGenerator>();
+ boolean ignoreIdAnnotations = entityBinder.isIgnoreIdAnnotations();
+ entityBinder.setIgnoreIdAnnotations( true );
bindId(
generatorType,
generator,
@@ -683,6 +685,7 @@
true, true,
false, mappings
);
+ entityBinder.setIgnoreIdAnnotations( ignoreIdAnnotations );
persistentClass.setIdentifierMapper( mapper );
Property property = new Property();
property.setName( "_identifierMapper" );
Added: branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/Customer.java
===================================================================
--- branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/Customer.java 2006-11-30 22:12:54 UTC (rev 10903)
+++ branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/Customer.java 2006-12-01 00:34:34 UTC (rev 10904)
@@ -0,0 +1,28 @@
+//$Id: $
+package org.hibernate.test.annotations.idmanytoone;
+
+import java.io.Serializable;
+import java.util.Set;
+import javax.persistence.Table;
+import javax.persistence.Entity;
+import javax.persistence.OneToMany;
+import javax.persistence.Id;
+import javax.persistence.GeneratedValue;
+
+/**
+ * @author Emmanuel Bernard
+ */
+
+
+
+@Entity
+@Table(name = "Bs")
+public class Customer implements Serializable {
+ @Id @GeneratedValue
+ public Integer id;
+
+ @OneToMany(mappedBy = "customer")
+ public Set<StoreCustomer> stores;
+
+ private static final long serialVersionUID = 3818501706063039923L;
+}
Modified: branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/IdManyToOne.java
===================================================================
--- branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/IdManyToOne.java 2006-11-30 22:12:54 UTC (rev 10903)
+++ branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/IdManyToOne.java 2006-12-01 00:34:34 UTC (rev 10904)
@@ -39,8 +39,30 @@
s.close();
}
+ public void testIdClassManyToOne() {
+ Session s = openSession();
+ Transaction tx = s.beginTransaction();
+ Store store = new Store();
+ Customer customer = new Customer();
+ s.persist( store );
+ s.persist( customer );
+ StoreCustomer sc = new StoreCustomer( store, customer );
+ s.persist( sc );
+ s.flush();
+ s.clear();
+
+ store = (Store) s.get(Store.class, store.id );
+ assertEquals( 1, store.customers.size() );
+ assertEquals( customer.id, store.customers.iterator().next().customer.id );
+ tx.rollback();
+ s.close();
+ }
+
protected Class[] getMappings() {
return new Class[] {
+ Store.class,
+ Customer.class,
+ StoreCustomer.class,
CardKey.class,
CardField.class,
Card.class,
Added: branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/Store.java
===================================================================
--- branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/Store.java 2006-11-30 22:12:54 UTC (rev 10903)
+++ branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/Store.java 2006-12-01 00:34:34 UTC (rev 10904)
@@ -0,0 +1,27 @@
+//$Id: $
+package org.hibernate.test.annotations.idmanytoone;
+
+import java.io.Serializable;
+import java.util.Set;
+import javax.persistence.Table;
+import javax.persistence.Entity;
+import javax.persistence.OneToMany;
+import javax.persistence.Id;
+import javax.persistence.GeneratedValue;
+
+/**
+ * @author Emmanuel Bernard
+ */
+@Entity
+@Table(name = "`As`")
+public class Store implements Serializable {
+ @Id @GeneratedValue
+ public Integer id;
+
+ @OneToMany(mappedBy = "store")
+ public Set<StoreCustomer> customers;
+
+
+ private static final long serialVersionUID = 1748046699322502790L;
+}
+
Added: branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/StoreCustomer.java
===================================================================
--- branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/StoreCustomer.java 2006-11-30 22:12:54 UTC (rev 10903)
+++ branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/StoreCustomer.java 2006-12-01 00:34:34 UTC (rev 10904)
@@ -0,0 +1,38 @@
+//$Id: $
+package org.hibernate.test.annotations.idmanytoone;
+
+import java.io.Serializable;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.IdClass;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Entity;
+
+/**
+ * @author Emmanuel Bernard
+ */
+@Entity
+@Table(name = "ABs")
+@IdClass( StoreCustomerPK.class)
+public class StoreCustomer implements Serializable {
+ StoreCustomer() {}
+ @Id
+ @ManyToOne(optional = false)
+ @JoinColumn(name = "idA")
+ public Store store;
+
+ @Id
+ @ManyToOne(optional = false)
+ @JoinColumn(name = "idB")
+ public Customer customer;
+
+
+ public StoreCustomer(Store store, Customer customer) {
+ this.store = store;
+ this.customer = customer;
+ }
+
+
+ private static final long serialVersionUID = -8295955012787627232L;
+}
Added: branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/StoreCustomerPK.java
===================================================================
--- branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/StoreCustomerPK.java 2006-11-30 22:12:54 UTC (rev 10903)
+++ branches/Branch_3_2/HibernateExt/metadata/src/test/org/hibernate/test/annotations/idmanytoone/StoreCustomerPK.java 2006-12-01 00:34:34 UTC (rev 10904)
@@ -0,0 +1,32 @@
+//$Id: $
+package org.hibernate.test.annotations.idmanytoone;
+
+import java.io.Serializable;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Id;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class StoreCustomerPK implements Serializable {
+ StoreCustomerPK() {}
+ @Id
+ @ManyToOne(optional = false)
+ @JoinColumn(name = "idA")
+ public Store store;
+
+ @Id
+ @ManyToOne(optional = false)
+ @JoinColumn(name = "idB")
+ public Customer customer;
+
+
+ public StoreCustomerPK(Store store, Customer customer) {
+ this.store = store;
+ this.customer = customer;
+ }
+
+
+ private static final long serialVersionUID = -1102111921432271459L;
+}
18 years, 2 months