Hibernate SVN: r11188 - branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/annotations.
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2007-02-10 02:38:41 -0500 (Sat, 10 Feb 2007)
New Revision: 11188
Modified:
branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/annotations/CollectionBinder.java
Log:
ANN-544 call DeleteAll rather than Delete
Modified: branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/annotations/CollectionBinder.java
===================================================================
--- branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/annotations/CollectionBinder.java 2007-02-10 07:32:57 UTC (rev 11187)
+++ branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/annotations/CollectionBinder.java 2007-02-10 07:38:41 UTC (rev 11188)
@@ -365,7 +365,7 @@
);
}
if ( sqlDeleteAll != null ) {
- collection.setCustomSQLDelete( sqlDeleteAll.sql(), sqlDeleteAll.callable(),
+ collection.setCustomSQLDeleteAll( sqlDeleteAll.sql(), sqlDeleteAll.callable(),
ExecuteUpdateResultCheckStyle.parse( sqlDeleteAll.check().toString().toLowerCase() )
);
}
17 years, 2 months
Hibernate SVN: r11187 - branches/Branch_3_2/HibernateExt/annotations/doc/reference/en/modules.
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2007-02-10 02:32:57 -0500 (Sat, 10 Feb 2007)
New Revision: 11187
Modified:
branches/Branch_3_2/HibernateExt/annotations/doc/reference/en/modules/entity.xml
Log:
ANN-547 column nullable default typo
Modified: branches/Branch_3_2/HibernateExt/annotations/doc/reference/en/modules/entity.xml
===================================================================
--- branches/Branch_3_2/HibernateExt/annotations/doc/reference/en/modules/entity.xml 2007-02-10 07:27:14 UTC (rev 11186)
+++ branches/Branch_3_2/HibernateExt/annotations/doc/reference/en/modules/entity.xml 2007-02-10 07:32:57 UTC (rev 11187)
@@ -135,7 +135,7 @@
</sect3>
</sect2>
- <sect2>
+ <sect2 id="entity-mapping-property" revision="1">
<title>Mapping simple properties</title>
<sect3>
@@ -235,7 +235,7 @@
used.</para>
</sect3>
- <sect3>
+ <sect3 id="entity-mapping-property-column" revision="1">
<title>Declaring column attributes</title>
<para>The column(s) used for a property mapping can be defined using
@@ -337,7 +337,7 @@
<callout arearefs="hm3">
<para><literal>nullable</literal> (optional): set the column as
- nullable (default false).</para>
+ nullable (default true).</para>
</callout>
<callout arearefs="hm4">
17 years, 2 months
Hibernate SVN: r11186 - in branches/Branch_3_2/HibernateExt/annotations/src: test/org/hibernate/test/annotations/manytoone and 1 other directory.
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2007-02-10 02:27:14 -0500 (Sat, 10 Feb 2007)
New Revision: 11186
Added:
branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/Carz.java
branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/Lotz.java
branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/LotzPK.java
branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/ManyToOneOnNonPkTest.java
Modified:
branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/BinderHelper.java
branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/Ejb3JoinColumn.java
Log:
ANN-548 investigate and set a unit test. Fix part of the issue, the rest is close to impossible
Modified: branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/BinderHelper.java
===================================================================
--- branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/BinderHelper.java 2007-02-10 03:51:57 UTC (rev 11185)
+++ branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/BinderHelper.java 2007-02-10 07:27:14 UTC (rev 11186)
@@ -222,24 +222,17 @@
orderedColumns.add( column );
columnsToProperty.put( column, new HashSet<Property>() );
}
- Iterator it = columnOwner instanceof PersistentClass ?
+ boolean isPersistentClass = columnOwner instanceof PersistentClass;
+ Iterator it = isPersistentClass ?
( (PersistentClass) columnOwner ).getPropertyIterator() :
( (Join) columnOwner ).getPropertyIterator();
while ( it.hasNext() ) {
- Property property = (Property) it.next();
- if ( "noop".equals( property.getPropertyAccessorName() )
- || "embedded".equals( property.getPropertyAccessorName() ) ) {
- continue;
- }
- Iterator columnIt = property.getColumnIterator();
- while ( columnIt.hasNext() ) {
- Object column = columnIt.next(); //can be a Formula so we don't cast
- //noinspection SuspiciousMethodCalls
- if ( columnsToProperty.containsKey( column ) ) {
- columnsToProperty.get( column ).add( property );
- }
- }
+ matchColumnsByProperty( (Property) it.next(), columnsToProperty );
}
+ if (isPersistentClass) {
+ matchColumnsByProperty( ( (PersistentClass) columnOwner ).getIdentifierProperty(), columnsToProperty );
+ }
+
//first naive implementation
//only check 1 columns properties
//TODO make it smarter by checking correctly ordered multi column properties
@@ -258,6 +251,31 @@
return orderedProperties;
}
+ private static void matchColumnsByProperty(Property property, Map<Column, Set<Property>> columnsToProperty) {
+ if ( property == null ) return;
+ if ( "noop".equals( property.getPropertyAccessorName() )
+ || "embedded".equals( property.getPropertyAccessorName() ) ) {
+ return;
+ }
+// FIXME cannot use subproperties becasue the caller needs top level properties
+// if ( property.isComposite() ) {
+// Iterator subProperties = ( (Component) property.getValue() ).getPropertyIterator();
+// while ( subProperties.hasNext() ) {
+// matchColumnsByProperty( (Property) subProperties.next(), columnsToProperty );
+// }
+// }
+ else {
+ Iterator columnIt = property.getColumnIterator();
+ while ( columnIt.hasNext() ) {
+ Object column = columnIt.next(); //can be a Formula so we don't cast
+ //noinspection SuspiciousMethodCalls
+ if ( columnsToProperty.containsKey( column ) ) {
+ columnsToProperty.get( column ).add( property );
+ }
+ }
+ }
+ }
+
/**
* Retrieve the property by path in a recursive way, including IndetifierProperty in the loop
* If propertyName is null or empty, the IdentifierProperty is returned
Modified: branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/Ejb3JoinColumn.java
===================================================================
--- branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/Ejb3JoinColumn.java 2007-02-10 03:51:57 UTC (rev 11185)
+++ branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/Ejb3JoinColumn.java 2007-02-10 07:27:14 UTC (rev 11186)
@@ -391,6 +391,7 @@
boolean contains = idColumns.contains( refCol );
if ( ! contains ) {
isFkReferencedColumnName = true;
+ break; //we know the state
}
}
}
@@ -400,7 +401,10 @@
else if ( noReferencedColumn ) {
return NO_REFERENCE;
}
- else {
+ else if ( idColumns.size() != columns.length ) {
+ //reference use PK but is a subset or a superset
+ return NON_PK_REFERENCE;
+ } else {
return PK_REFERENCE;
}
}
Added: branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/Carz.java
===================================================================
--- branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/Carz.java (rev 0)
+++ branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/Carz.java 2007-02-10 07:27:14 UTC (rev 11186)
@@ -0,0 +1,124 @@
+//$Id: $
+package org.hibernate.test.annotations.manytoone;
+
+import java.io.Serializable;
+import java.util.Date;
+import javax.persistence.Entity;
+import javax.persistence.ManyToOne;
+import javax.persistence.Column;
+import javax.persistence.JoinColumns;
+import javax.persistence.FetchType;
+import javax.persistence.JoinColumn;
+import javax.persistence.TemporalType;
+import javax.persistence.Id;
+import javax.persistence.Temporal;
+
+/**
+ * @author Emmanuel Bernard
+ */
+@Entity
+public class Carz implements Serializable {
+ @Id
+ private Integer id;
+
+ @Column( name = "make", nullable = false )
+ private String make;
+
+ @Column( name = "model", nullable = false )
+ private String model;
+
+ @Column( name = "manufactured", nullable = false )
+ @Temporal( TemporalType.TIMESTAMP )
+ private Date manufactured;
+
+ @ManyToOne( fetch = FetchType.LAZY )
+ @JoinColumn( name = "loc_code", referencedColumnName = "loc_code" )
+ private Lotz lot;
+
+ public Carz() {
+ }
+
+ public Integer getId() {
+ return this.id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Lotz getLot() {
+ return this.lot;
+ }
+
+ public void setLot(Lotz lot) {
+ this.lot = lot;
+ }
+
+ public String getMake() {
+ return this.make;
+ }
+
+ public void setMake(String make) {
+ this.make = make;
+ }
+
+ public Date getManufactured() {
+ return this.manufactured;
+ }
+
+ public void setManufactured(Date manufactured) {
+ this.manufactured = manufactured;
+ }
+
+ public String getModel() {
+ return this.model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = 1;
+ result = PRIME * result + ( ( this.id == null ) ?
+ 0 :
+ this.id.hashCode() );
+ result = PRIME * result + ( ( this.make == null ) ?
+ 0 :
+ this.make.hashCode() );
+ result = PRIME * result + ( ( this.manufactured == null ) ?
+ 0 :
+ this.manufactured.hashCode() );
+ result = PRIME * result + ( ( this.model == null ) ?
+ 0 :
+ this.model.hashCode() );
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( obj == null ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final Carz other = (Carz) obj;
+ if ( this.id == null ) {
+ if ( other.id != null ) return false;
+ }
+ else if ( !this.id.equals( other.id ) ) return false;
+ if ( this.make == null ) {
+ if ( other.make != null ) return false;
+ }
+ else if ( !this.make.equals( other.make ) ) return false;
+ if ( this.manufactured == null ) {
+ if ( other.manufactured != null ) return false;
+ }
+ else if ( !this.manufactured.equals( other.manufactured ) ) return false;
+ if ( this.model == null ) {
+ if ( other.model != null ) return false;
+ }
+ else if ( !this.model.equals( other.model ) ) return false;
+ return true;
+ }
+}
\ No newline at end of file
Added: branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/Lotz.java
===================================================================
--- branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/Lotz.java (rev 0)
+++ branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/Lotz.java 2007-02-10 07:27:14 UTC (rev 11186)
@@ -0,0 +1,101 @@
+//$Id: $
+package org.hibernate.test.annotations.manytoone;
+
+import java.util.List;
+import java.io.Serializable;
+import javax.persistence.Entity;
+import javax.persistence.EmbeddedId;
+import javax.persistence.Column;
+import javax.persistence.FetchType;
+import javax.persistence.OneToMany;
+import javax.persistence.CascadeType;
+
+/**
+ * @author Emmanuel Bernard
+ */
+@Entity
+public class Lotz implements Serializable {
+ @EmbeddedId
+ protected LotzPK lotPK;
+
+ @Column( name = "name", nullable = false )
+ private String name;
+
+ @Column( name = "location", nullable = false )
+ private String location;
+
+ @OneToMany( mappedBy = "lot", fetch = FetchType.LAZY, cascade = CascadeType.ALL )
+ private List<Carz> cars;
+
+ public Lotz() {
+ }
+
+ public List<Carz> getCars() {
+ return this.cars;
+ }
+
+ public void setCars(List<Carz> cars) {
+ this.cars = cars;
+ }
+
+ public String getLocation() {
+ return this.location;
+ }
+
+ public void setLocation(String location) {
+ this.location = location;
+ }
+
+ public LotzPK getLotPK() {
+ return this.lotPK;
+ }
+
+ public void setLotPK(LotzPK lotPK) {
+ this.lotPK = lotPK;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = 1;
+ result = PRIME * result + ( ( this.location == null ) ?
+ 0 :
+ this.location.hashCode() );
+ result = PRIME * result + ( ( this.lotPK == null ) ?
+ 0 :
+ this.lotPK.hashCode() );
+ result = PRIME * result + ( ( this.name == null ) ?
+ 0 :
+ this.name.hashCode() );
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( obj == null ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final Lotz other = (Lotz) obj;
+ if ( this.location == null ) {
+ if ( other.location != null ) return false;
+ }
+ else if ( !this.location.equals( other.location ) ) return false;
+ if ( this.lotPK == null ) {
+ if ( other.lotPK != null ) return false;
+ }
+ else if ( !this.lotPK.equals( other.lotPK ) ) return false;
+ if ( this.name == null ) {
+ if ( other.name != null ) return false;
+ }
+ else if ( !this.name.equals( other.name ) ) return false;
+ return true;
+ }
+}
Added: branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/LotzPK.java
===================================================================
--- branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/LotzPK.java (rev 0)
+++ branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/LotzPK.java 2007-02-10 07:27:14 UTC (rev 11186)
@@ -0,0 +1,34 @@
+//$Id: $
+package org.hibernate.test.annotations.manytoone;
+
+import java.io.Serializable;
+import javax.persistence.Column;
+import javax.persistence.Embeddable;
+
+/**
+ * @author Emmanuel Bernard
+ */
+@Embeddable
+public class LotzPK implements Serializable {
+ @Column( name = "id", nullable = false )
+ private Integer id;
+
+ @Column( name = "loc_code", nullable = false, unique = true )
+ private String locCode;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getLocCode() {
+ return locCode;
+ }
+
+ public void setLocCode(String locCode) {
+ this.locCode = locCode;
+ }
+}
Added: branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/ManyToOneOnNonPkTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/ManyToOneOnNonPkTest.java (rev 0)
+++ branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/manytoone/ManyToOneOnNonPkTest.java 2007-02-10 07:27:14 UTC (rev 11186)
@@ -0,0 +1,52 @@
+//$Id: $
+package org.hibernate.test.annotations.manytoone;
+
+import java.util.Date;
+
+import org.hibernate.test.annotations.TestCase;
+import org.hibernate.Session;
+
+
+/**
+ * FIXME test for ANN-548
+ * @author Emmanuel Bernard
+ */
+public class ManyToOneOnNonPkTest extends TestCase {
+
+ public void testNonPkPartOfPk() throws Exception {
+// Session s = openSession( );
+// s.getTransaction().begin();
+//
+// LotzPK pk = new LotzPK();
+// pk.setId( 1 );
+// pk.setLocCode( "fr" );
+// Lotz lot = new Lotz();
+// lot.setLocation( "France" );
+// lot.setName( "Chez Dede" );
+// lot.setLotPK( pk );
+// Carz car = new Carz();
+// car.setId( 1 );
+// car.setLot( lot );
+// car.setMake( "Citroen" );
+// car.setManufactured( new Date() );
+// car.setModel( "C5" );
+// s.persist( lot );
+// s.persist( car );
+//
+// s.clear();
+//
+// car = (Carz) s.createQuery( "from Carz car left join fetch car.lot").uniqueResult();
+// assertNotNull( car.getLot() );
+//
+// s.getTransaction().commit();
+// s.close();
+//
+ }
+
+ protected Class[] getMappings() {
+ return new Class[] {
+ //Carz.class,
+ //Lotz.class
+ };
+ }
+}
17 years, 2 months
Hibernate SVN: r11185 - branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/annotations.
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2007-02-09 22:51:57 -0500 (Fri, 09 Feb 2007)
New Revision: 11185
Modified:
branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/annotations/MapBinder.java
Log:
ANN-549 map key with assoc table should be forced to not null
Modified: branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/annotations/MapBinder.java
===================================================================
--- branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/annotations/MapBinder.java 2007-02-10 00:14:40 UTC (rev 11184)
+++ branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/annotations/MapBinder.java 2007-02-10 03:51:57 UTC (rev 11185)
@@ -117,7 +117,6 @@
* target has priority over reflection for the map key type
*/
if ( property.isAnnotationPresent( org.hibernate.annotations.MapKey.class ) ) {
- ReflectionManager reflectionManager = mappings.getReflectionManager();
target = property.getAnnotation( org.hibernate.annotations.MapKey.class ).targetElement();
}
else if ( property.isAnnotationPresent( MapKeyManyToMany.class ) ) {
@@ -239,6 +238,12 @@
}
}
//FIXME pass the Index Entity JoinColumns
+ if ( ! collection.isOneToMany() ) {
+ //index column shoud not be null
+ for ( Ejb3JoinColumn col : mapKeyManyToManyColumns ) {
+ col.forceNotNull();
+ }
+ }
if ( isIndexOfEntities ) {
bindManytoManyInverseFk(
collectionEntity,
17 years, 2 months
Hibernate SVN: r11184 - in branches/Branch_3_2/HibernateExt/search/src: java/org/hibernate/search/bridge/builtin and 1 other directories.
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2007-02-09 19:14:40 -0500 (Fri, 09 Feb 2007)
New Revision: 11184
Added:
branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/builtin/BooleanBridge.java
Modified:
branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/BridgeFactory.java
branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/BridgeTest.java
branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/Cloud.java
Log:
HSEARCH-3 boolean bridge
Modified: branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/BridgeFactory.java
===================================================================
--- branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/BridgeFactory.java 2007-02-10 00:01:50 UTC (rev 11183)
+++ branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/BridgeFactory.java 2007-02-10 00:14:40 UTC (rev 11184)
@@ -19,6 +19,7 @@
import org.hibernate.search.bridge.builtin.DoubleBridge;
import org.hibernate.search.bridge.builtin.ShortBridge;
import org.hibernate.search.bridge.builtin.EnumBridge;
+import org.hibernate.search.bridge.builtin.BooleanBridge;
import org.hibernate.search.annotations.Resolution;
import org.hibernate.search.annotations.Parameter;
import org.hibernate.annotations.common.reflection.XClass;
@@ -49,6 +50,8 @@
public static final TwoWayFieldBridge STRING = new TwoWayString2FieldBridgeAdaptor( new StringBridge() );
+ public static final TwoWayFieldBridge BOOLEAN = new TwoWayString2FieldBridgeAdaptor( new BooleanBridge() );
+
public static final FieldBridge DATE_YEAR = new String2FieldBridgeAdaptor( DateBridge.DATE_YEAR );
public static final FieldBridge DATE_MONTH = new String2FieldBridgeAdaptor( DateBridge.DATE_MONTH );
public static final FieldBridge DATE_DAY = new String2FieldBridgeAdaptor( DateBridge.DATE_DAY );
@@ -72,6 +75,8 @@
builtInBridges.put( BigInteger.class.getName(), BIG_INTEGER );
builtInBridges.put( BigDecimal.class.getName(), BIG_DECIMAL );
builtInBridges.put( String.class.getName(), STRING );
+ builtInBridges.put( Boolean.class.getName(), BOOLEAN );
+ builtInBridges.put( boolean.class.getName(), BOOLEAN );
builtInBridges.put( Date.class.getName(), DATE_MILLISECOND );
}
Added: branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/builtin/BooleanBridge.java
===================================================================
--- branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/builtin/BooleanBridge.java (rev 0)
+++ branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/builtin/BooleanBridge.java 2007-02-10 00:14:40 UTC (rev 11184)
@@ -0,0 +1,23 @@
+//$Id: $
+package org.hibernate.search.bridge.builtin;
+
+import org.hibernate.search.bridge.TwoWayStringBridge;
+
+
+/**
+ * Map a boolean field
+ *
+ * @author Sylvain Vieujot
+ */
+public class BooleanBridge implements TwoWayStringBridge {
+
+ public Boolean stringToObject(String stringValue) {
+ return Boolean.valueOf( stringValue );
+ }
+
+ public String objectToString(Object object) {
+ Boolean b = (Boolean) object;
+ return b.toString();
+ }
+}
+
Modified: branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/BridgeTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/BridgeTest.java 2007-02-10 00:01:50 UTC (rev 11183)
+++ branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/BridgeTest.java 2007-02-10 00:14:40 UTC (rev 11184)
@@ -36,6 +36,7 @@
cloud.setLong2( 2l );
cloud.setString(null);
cloud.setType( CloudType.DOG );
+ cloud.setStorm( false );
org.hibernate.Session s = openSession();
Transaction tx = s.beginTransaction();
s.persist(cloud);
@@ -49,7 +50,7 @@
List result;
query = parser.parse("double2:[2.1 TO 2.1] AND float2:[2.1 TO 2.1] " +
- "AND int2:[2 TO 2.1] AND long2:[2 TO 2.1] AND type:\"dog\"");
+ "AND int2:[2 TO 2.1] AND long2:[2 TO 2.1] AND type:\"dog\" AND storm:false");
result = session.createFullTextQuery(query).list();
assertEquals( "find primitives and do not fail on null", 1, result.size() );
Modified: branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/Cloud.java
===================================================================
--- branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/Cloud.java 2007-02-10 00:01:50 UTC (rev 11183)
+++ branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/Cloud.java 2007-02-10 00:14:40 UTC (rev 11184)
@@ -44,6 +44,7 @@
private String customFieldBridge;
private String customStringBridge;
private CloudType type;
+ private boolean storm;
@Text
@FieldBridge(impl = TruncateFieldBridge.class)
@@ -243,4 +244,13 @@
public void setType(CloudType type) {
this.type = type;
}
+
+ @Field(index = Index.TOKENIZED )
+ public boolean isStorm() {
+ return storm;
+ }
+
+ public void setStorm(boolean storm) {
+ this.storm = storm;
+ }
}
17 years, 2 months
Hibernate SVN: r11183 - in branches/Branch_3_2/HibernateExt/search/src: java/org/hibernate/search/bridge/builtin and 1 other directories.
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2007-02-09 19:01:50 -0500 (Fri, 09 Feb 2007)
New Revision: 11183
Added:
branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/builtin/EnumBridge.java
branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/CloudType.java
Modified:
branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/BridgeFactory.java
branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/BridgeTest.java
branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/Cloud.java
Log:
HSEARCH-2 support for enums
Modified: branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/BridgeFactory.java
===================================================================
--- branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/BridgeFactory.java 2007-02-09 22:54:18 UTC (rev 11182)
+++ branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/BridgeFactory.java 2007-02-10 00:01:50 UTC (rev 11183)
@@ -18,6 +18,7 @@
import org.hibernate.search.bridge.builtin.BigDecimalBridge;
import org.hibernate.search.bridge.builtin.DoubleBridge;
import org.hibernate.search.bridge.builtin.ShortBridge;
+import org.hibernate.search.bridge.builtin.EnumBridge;
import org.hibernate.search.annotations.Resolution;
import org.hibernate.search.annotations.Parameter;
import org.hibernate.annotations.common.reflection.XClass;
@@ -54,7 +55,8 @@
public static final FieldBridge DATE_HOUR = new String2FieldBridgeAdaptor( DateBridge.DATE_HOUR );
public static final FieldBridge DATE_MINUTE = new String2FieldBridgeAdaptor( DateBridge.DATE_MINUTE );
public static final FieldBridge DATE_SECOND = new String2FieldBridgeAdaptor( DateBridge.DATE_SECOND );
- public static final TwoWayFieldBridge DATE_MILLISECOND = new TwoWayString2FieldBridgeAdaptor( DateBridge.DATE_MILLISECOND );
+ public static final TwoWayFieldBridge DATE_MILLISECOND =
+ new TwoWayString2FieldBridgeAdaptor( DateBridge.DATE_MILLISECOND );
static {
builtInBridges.put( Double.class.getName(), DOUBLE );
@@ -86,7 +88,8 @@
bridge = (FieldBridge) instance;
}
else if ( org.hibernate.search.bridge.TwoWayStringBridge.class.isAssignableFrom( impl ) ) {
- bridge = new TwoWayString2FieldBridgeAdaptor( (org.hibernate.search.bridge.TwoWayStringBridge) instance );
+ bridge = new TwoWayString2FieldBridgeAdaptor(
+ (org.hibernate.search.bridge.TwoWayStringBridge) instance );
}
else if ( org.hibernate.search.bridge.StringBridge.class.isAssignableFrom( impl ) ) {
bridge = new String2FieldBridgeAdaptor( (org.hibernate.search.bridge.StringBridge) instance );
@@ -105,13 +108,19 @@
}
}
else if ( member.isAnnotationPresent( org.hibernate.search.annotations.DateBridge.class ) ) {
- Resolution resolution = member.getAnnotation( org.hibernate.search.annotations.DateBridge.class ).resolution();
+ Resolution resolution =
+ member.getAnnotation( org.hibernate.search.annotations.DateBridge.class ).resolution();
bridge = getDateField( resolution );
}
else {
//find in built-ins
XClass returnType = member.getType();
bridge = builtInBridges.get( returnType.getName() );
+ if ( bridge == null && returnType.isEnum() ) {
+ bridge = new TwoWayString2FieldBridgeAdaptor(
+ new EnumBridge( (Class<? extends Enum>) returnType.getClass() )
+ );
+ }
}
//TODO add classname
if ( bridge == null ) throw new HibernateException( "Unable to guess FieldBridge for " + member.getName() );
Added: branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/builtin/EnumBridge.java
===================================================================
--- branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/builtin/EnumBridge.java (rev 0)
+++ branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/bridge/builtin/EnumBridge.java 2007-02-10 00:01:50 UTC (rev 11183)
@@ -0,0 +1,32 @@
+//$Id: $
+package org.hibernate.search.bridge.builtin;
+
+import org.hibernate.search.bridge.TwoWayStringBridge;
+
+
+/**
+ * Map an Enum field
+ *
+ * @author Sylvain Vieujot
+ */
+public class EnumBridge implements TwoWayStringBridge {
+
+ private Class<? extends Enum> clazz = null;
+
+ /**
+ * @param clazz the class of the enum.
+ */
+ public EnumBridge(Class<? extends Enum> clazz) {
+ this.clazz = clazz;
+ }
+
+ public Enum<? extends Enum> stringToObject(String stringValue) {
+ return Enum.valueOf( clazz, stringValue );
+ }
+
+ public String objectToString(Object object) {
+ Enum e = (Enum) object;
+ return e.name();
+ }
+}
+
Modified: branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/BridgeTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/BridgeTest.java 2007-02-09 22:54:18 UTC (rev 11182)
+++ branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/BridgeTest.java 2007-02-10 00:01:50 UTC (rev 11183)
@@ -35,7 +35,8 @@
cloud.setLong1( null );
cloud.setLong2( 2l );
cloud.setString(null);
- org.hibernate.Session s = openSession();
+ cloud.setType( CloudType.DOG );
+ org.hibernate.Session s = openSession();
Transaction tx = s.beginTransaction();
s.persist(cloud);
s.flush();
@@ -47,8 +48,10 @@
Query query;
List result;
- query = parser.parse("double2:[2.1 TO 2.1] AND float2:[2.1 TO 2.1] AND int2:[2 TO 2.1] AND long2:[2 TO 2.1]");
- result = session.createFullTextQuery(query).list();
+ query = parser.parse("double2:[2.1 TO 2.1] AND float2:[2.1 TO 2.1] " +
+ "AND int2:[2 TO 2.1] AND long2:[2 TO 2.1] AND type:\"dog\"");
+
+ result = session.createFullTextQuery(query).list();
assertEquals( "find primitives and do not fail on null", 1, result.size() );
query = parser.parse("double1:[2.1 TO 2.1] OR float1:[2.1 TO 2.1] OR int1:[2 TO 2.1] OR long1:[2 TO 2.1]");
Modified: branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/Cloud.java
===================================================================
--- branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/Cloud.java 2007-02-09 22:54:18 UTC (rev 11182)
+++ branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/Cloud.java 2007-02-10 00:01:50 UTC (rev 11183)
@@ -13,6 +13,9 @@
import org.hibernate.search.annotations.FieldBridge;
import org.hibernate.search.annotations.Resolution;
import org.hibernate.search.annotations.Parameter;
+import org.hibernate.search.annotations.Field;
+import org.hibernate.search.annotations.Index;
+import org.hibernate.search.annotations.Store;
/**
* @author Emmanuel Bernard
@@ -40,8 +43,9 @@
private Date dateMillisecond;
private String customFieldBridge;
private String customStringBridge;
+ private CloudType type;
- @Text
+ @Text
@FieldBridge(impl = TruncateFieldBridge.class)
public String getCustomFieldBridge() {
return customFieldBridge;
@@ -230,4 +234,13 @@
public void setDateMillisecond(Date dateMillisecond) {
this.dateMillisecond = dateMillisecond;
}
+
+ @Field(index = Index.TOKENIZED )
+ public CloudType getType() {
+ return type;
+ }
+
+ public void setType(CloudType type) {
+ this.type = type;
+ }
}
Added: branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/CloudType.java
===================================================================
--- branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/CloudType.java (rev 0)
+++ branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/bridge/CloudType.java 2007-02-10 00:01:50 UTC (rev 11183)
@@ -0,0 +1,12 @@
+//$Id: $
+package org.hibernate.search.test.bridge;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public enum CloudType {
+ DRAGON,
+ HOUSE,
+ DOG,
+ EUROPE
+}
17 years, 2 months
Hibernate SVN: r11182 - in branches/Branch_3_2/HibernateExt/annotations/src: test/org/hibernate/test/annotations/query and 1 other directory.
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2007-02-09 17:54:18 -0500 (Fri, 09 Feb 2007)
New Revision: 11182
Modified:
branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/AnnotationBinder.java
branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/query/Chaos.java
Log:
ANN-551 order methods from VM to get consistent parameter ordering
Modified: branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/AnnotationBinder.java
===================================================================
--- branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/AnnotationBinder.java 2007-02-09 22:45:26 UTC (rev 11181)
+++ branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/AnnotationBinder.java 2007-02-09 22:54:18 UTC (rev 11182)
@@ -10,6 +10,8 @@
import java.util.Map;
import java.util.Properties;
import java.util.Set;
+import java.util.Collections;
+import java.util.Comparator;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.DiscriminatorType;
@@ -164,43 +166,43 @@
Map defaults = mappings.getReflectionManager().getDefaults();
{
List<SequenceGenerator> anns = (List<SequenceGenerator>) defaults.get( SequenceGenerator.class );
- if (anns != null) {
+ if ( anns != null ) {
for ( SequenceGenerator ann : anns ) {
- IdGenerator idGen = buildIdGenerator(ann, mappings);
- if (idGen != null) mappings.addDefaultGenerator( idGen );
+ IdGenerator idGen = buildIdGenerator( ann, mappings );
+ if ( idGen != null ) mappings.addDefaultGenerator( idGen );
}
}
}
{
List<TableGenerator> anns = (List<TableGenerator>) defaults.get( TableGenerator.class );
- if (anns != null) {
+ if ( anns != null ) {
for ( TableGenerator ann : anns ) {
- IdGenerator idGen = buildIdGenerator(ann, mappings);
- if (idGen != null) mappings.addDefaultGenerator( idGen );
+ IdGenerator idGen = buildIdGenerator( ann, mappings );
+ if ( idGen != null ) mappings.addDefaultGenerator( idGen );
}
}
}
{
List<NamedQuery> anns = (List<NamedQuery>) defaults.get( NamedQuery.class );
- if (anns != null) {
- for (NamedQuery ann : anns) {
- QueryBinder.bindQuery(ann, mappings, true );
+ if ( anns != null ) {
+ for ( NamedQuery ann : anns ) {
+ QueryBinder.bindQuery( ann, mappings, true );
}
}
}
{
List<NamedNativeQuery> anns = (List<NamedNativeQuery>) defaults.get( NamedNativeQuery.class );
- if (anns != null) {
- for (NamedNativeQuery ann : anns) {
- QueryBinder.bindNativeQuery(ann, mappings, true );
+ if ( anns != null ) {
+ for ( NamedNativeQuery ann : anns ) {
+ QueryBinder.bindNativeQuery( ann, mappings, true );
}
}
}
{
List<SqlResultSetMapping> anns = (List<SqlResultSetMapping>) defaults.get( SqlResultSetMapping.class );
- if (anns != null) {
- for (SqlResultSetMapping ann : anns) {
- QueryBinder.bindSqlResultsetMapping(ann, mappings, true );
+ if ( anns != null ) {
+ for ( SqlResultSetMapping ann : anns ) {
+ QueryBinder.bindSqlResultsetMapping( ann, mappings, true );
}
}
}
@@ -308,24 +310,24 @@
idGen.setName( tabGen.name() );
idGen.setIdentifierGeneratorStrategy( MultipleHiLoPerTableGenerator.class.getName() );
- if ( ! BinderHelper.isDefault( tabGen.table() ) ) {
+ if ( !BinderHelper.isDefault( tabGen.table() ) ) {
idGen.addParam( MultipleHiLoPerTableGenerator.ID_TABLE, tabGen.table() );
}
- if ( ! BinderHelper.isDefault( tabGen.catalog() ) ) {
+ if ( !BinderHelper.isDefault( tabGen.catalog() ) ) {
idGen.addParam( MultipleHiLoPerTableGenerator.CATALOG, tabGen.catalog() );
}
- if ( ! BinderHelper.isDefault( tabGen.schema() ) ) {
+ if ( !BinderHelper.isDefault( tabGen.schema() ) ) {
idGen.addParam( MultipleHiLoPerTableGenerator.SCHEMA, tabGen.schema() );
}
//FIXME implements uniqueconstrains
- if ( ! BinderHelper.isDefault( tabGen.pkColumnName() ) ) {
+ if ( !BinderHelper.isDefault( tabGen.pkColumnName() ) ) {
idGen.addParam( MultipleHiLoPerTableGenerator.PK_COLUMN_NAME, tabGen.pkColumnName() );
}
- if ( ! BinderHelper.isDefault( tabGen.valueColumnName() ) ) {
+ if ( !BinderHelper.isDefault( tabGen.valueColumnName() ) ) {
idGen.addParam( MultipleHiLoPerTableGenerator.VALUE_COLUMN_NAME, tabGen.valueColumnName() );
}
- if ( ! BinderHelper.isDefault( tabGen.pkColumnValue() ) ) {
+ if ( !BinderHelper.isDefault( tabGen.pkColumnValue() ) ) {
idGen.addParam( MultipleHiLoPerTableGenerator.PK_VALUE_NAME, tabGen.pkColumnValue() );
}
idGen.addParam( TableHiLoGenerator.MAX_LO, String.valueOf( tabGen.allocationSize() - 1 ) );
@@ -336,7 +338,7 @@
idGen.setName( seqGen.name() );
idGen.setIdentifierGeneratorStrategy( "seqhilo" );
- if ( ! BinderHelper.isDefault( seqGen.sequenceName() ) ) {
+ if ( !BinderHelper.isDefault( seqGen.sequenceName() ) ) {
idGen.addParam( org.hibernate.id.SequenceGenerator.SEQUENCE, seqGen.sequenceName() );
}
//FIXME: work on initialValue() through SequenceGenerator.PARAMETERS
@@ -380,7 +382,7 @@
) {
return;
}
- if ( ! classType.equals( AnnotatedClassType.ENTITY ) ) {
+ if ( !classType.equals( AnnotatedClassType.ENTITY ) ) {
//TODO make this test accurate by removing the none elements artifically added
throw new AnnotationException(
"Annotated class should have a @javax.persistence.Entity, @javax.persistence.Embeddable or @javax.persistence.EmbeddedSuperclass annotation: " + clazzToProcess
@@ -393,9 +395,11 @@
InheritanceState.getSuperEntityInheritanceState(
clazzToProcess, inheritanceStatePerClass, mappings.getReflectionManager()
);
- PersistentClass superEntity = superEntityState != null ? mappings.getClass(
- superEntityState.clazz.getName()
- ) : null;
+ PersistentClass superEntity = superEntityState != null ?
+ mappings.getClass(
+ superEntityState.clazz.getName()
+ ) :
+ null;
if ( superEntity == null ) {
//check if superclass is not a potential persistent class
if ( inheritanceState.hasParents ) {
@@ -434,7 +438,7 @@
int nbrOfInhJoinedColumns = jcsAnn.value().length;
PrimaryKeyJoinColumn jcAnn;
inheritanceJoinedColumns = new Ejb3JoinColumn[nbrOfInhJoinedColumns];
- for ( int colIndex = 0; colIndex < nbrOfInhJoinedColumns ; colIndex++ ) {
+ for ( int colIndex = 0; colIndex < nbrOfInhJoinedColumns; colIndex++ ) {
jcAnn = jcsAnn.value()[colIndex];
inheritanceJoinedColumns[colIndex] = Ejb3JoinColumn.buildJoinColumn(
jcAnn, null, superEntity.getIdentifier(),
@@ -464,12 +468,14 @@
javax.persistence.DiscriminatorColumn discAnn = annotatedClass.getAnnotation(
javax.persistence.DiscriminatorColumn.class
);
- DiscriminatorType discriminatorType = discAnn != null ? discAnn.discriminatorType() : DiscriminatorType.STRING;
+ DiscriminatorType discriminatorType = discAnn != null ?
+ discAnn.discriminatorType() :
+ DiscriminatorType.STRING;
org.hibernate.annotations.DiscriminatorFormula discFormulaAnn = annotatedClass.getAnnotation(
org.hibernate.annotations.DiscriminatorFormula.class
);
- if ( ! inheritanceState.hasParents ) {
+ if ( !inheritanceState.hasParents ) {
discriminatorColumn = Ejb3DiscriminatorColumn.buildDiscriminatorColumn(
discriminatorType, discAnn, discFormulaAnn, mappings
);
@@ -488,7 +494,7 @@
//we now know what kind of persistent entity it is
PersistentClass persistentClass;
//create persistent class
- if ( ! inheritanceState.hasParents ) {
+ if ( !inheritanceState.hasParents ) {
persistentClass = new RootClass();
}
else if ( InheritanceType.SINGLE_TABLE.equals( inheritanceState.type ) ) {
@@ -536,15 +542,20 @@
if ( inheritanceState.hasTable() ) {
Check checkAnn = annotatedClass.getAnnotation( Check.class );
- String constraints = checkAnn == null ? null : checkAnn.constraints();
+ String constraints = checkAnn == null ?
+ null :
+ checkAnn.constraints();
entityBinder.bindTable(
schema, catalog, table, uniqueConstraints,
- constraints, inheritanceState.hasDenormalizedTable() ? superEntity.getTable() : null
+ constraints, inheritanceState.hasDenormalizedTable() ?
+ superEntity.getTable() :
+ null
);
}
else {
if ( annotatedClass.isAnnotationPresent( Table.class ) ) {
- log.warn( "Illegal use of @Table in a subclass of a SINGLE_TABLE hierarchy: " + clazzToProcess.getName() );
+ log.warn( "Illegal use of @Table in a subclass of a SINGLE_TABLE hierarchy: " + clazzToProcess
+ .getName() );
}
}
// Map<String, Column[]> columnOverride = PropertyHolderBuilder.buildHierarchyColumnOverride(
@@ -593,7 +604,7 @@
}
}
else {
- if ( inheritanceState.hasSons || ! discriminatorColumn.isImplicit() ) {
+ if ( inheritanceState.hasSons || !discriminatorColumn.isImplicit() ) {
//need a discriminator column
bindDiscriminatorToPersistentClass(
(RootClass) persistentClass,
@@ -612,7 +623,7 @@
}
}
}
- if ( onDeleteAnn != null && ! onDeleteAppropriate ) {
+ if ( onDeleteAnn != null && !onDeleteAppropriate ) {
log.warn(
"Inapropriate use of @OnDelete on entity, annotation ignored: " + propertyHolder.getEntityName()
);
@@ -634,7 +645,7 @@
//process idclass if any
Set<String> idProperties = new HashSet<String>();
IdClass idClass = null;
- if ( ! inheritanceState.hasParents ) {
+ if ( !inheritanceState.hasParents ) {
//look for idClass
XClass current = inheritanceState.clazz;
InheritanceState state = inheritanceState;
@@ -709,10 +720,12 @@
Set<String> missingIdProperties = new HashSet<String>( idProperties );
for ( PropertyData propertyAnnotatedElement : elements ) {
String propertyName = propertyAnnotatedElement.getPropertyName();
- if ( ! idProperties.contains( propertyName ) ) {
+ if ( !idProperties.contains( propertyName ) ) {
processElementAnnotations(
propertyHolder,
- subclassAndSingleTableStrategy ? Nullability.FORCED_NULL : Nullability.NO_CONSTRAINT,
+ subclassAndSingleTableStrategy ?
+ Nullability.FORCED_NULL :
+ Nullability.NO_CONSTRAINT,
propertyAnnotatedElement.getProperty(),
propertyAnnotatedElement, classGenerators, entityBinder,
false, false, false, mappings
@@ -735,7 +748,7 @@
);
}
- if ( ! inheritanceState.hasParents ) {
+ if ( !inheritanceState.hasParents ) {
final RootClass rootClass = (RootClass) persistentClass;
//no need to handle inSecondPass this is an Etntiy related work
mappings.addSecondPass( new CreateKeySecondPass( rootClass ) );
@@ -770,7 +783,7 @@
int deep = classesToProcess.size();
boolean hasIdentifier = false;
- assert ! inheritanceState.isEmbeddableSuperclass;
+ assert !inheritanceState.isEmbeddableSuperclass;
Boolean isExplicitPropertyAnnotated = null;
String explicitAccessType = null;
if ( inheritanceState.hasParents ) {
@@ -778,12 +791,18 @@
InheritanceState.getSuperEntityInheritanceState(
clazzToProcess, inheritanceStatePerClass, mappings.getReflectionManager()
);
- isExplicitPropertyAnnotated = superEntityState != null ? superEntityState.isPropertyAnnotated : null;
- explicitAccessType = superEntityState != null ? superEntityState.accessType : null;
+ isExplicitPropertyAnnotated = superEntityState != null ?
+ superEntityState.isPropertyAnnotated :
+ null;
+ explicitAccessType = superEntityState != null ?
+ superEntityState.accessType :
+ null;
}
else {
AccessType access = clazzToProcess.getAnnotation( AccessType.class );
- explicitAccessType = access != null ? access.value() : null;
+ explicitAccessType = access != null ?
+ access.value() :
+ null;
if ( "property".equals( explicitAccessType ) ) {
isExplicitPropertyAnnotated = Boolean.TRUE;
}
@@ -792,13 +811,16 @@
}
}
Boolean isPropertyAnnotated = isExplicitPropertyAnnotated == null ?
- Boolean.TRUE : //default to property and fallback if needed
+ Boolean.TRUE :
+ //default to property and fallback if needed
isExplicitPropertyAnnotated;
- String accessType = explicitAccessType != null ? explicitAccessType : "property";
+ String accessType = explicitAccessType != null ?
+ explicitAccessType :
+ "property";
- for ( int index = 0; index < deep ; index++ ) {
+ for ( int index = 0; index < deep; index++ ) {
XClass clazz = classesToProcess.get( index );
-
+
boolean currentHasIdentifier = addElementsOfAClass(
elements, propertyHolder, isPropertyAnnotated,
accessType, clazz, mappings
@@ -811,7 +833,7 @@
isPropertyAnnotated = !isPropertyAnnotated;
accessType = "field";
elements.clear();
- for ( int index = 0; index < deep ; index++ ) {
+ for ( int index = 0; index < deep; index++ ) {
XClass clazz = classesToProcess.get( index );
boolean currentHasIdentifier = addElementsOfAClass(
elements, propertyHolder, isPropertyAnnotated,
@@ -825,7 +847,9 @@
entityBinder.setPropertyAccessor( accessType );
inheritanceState.isPropertyAnnotated = isPropertyAnnotated;
inheritanceState.accessType = accessType;
- return hasIdentifier || inheritanceState.hasParents ? elements : null;
+ return hasIdentifier || inheritanceState.hasParents ?
+ elements :
+ null;
}
private static List<XClass> orderClassesToBeProcessed(
@@ -843,7 +867,8 @@
superClass = superClass.getSuperclass();
superclassState = inheritanceStatePerClass.get( superClass );
}
- while ( superClass != null && !mappings.getReflectionManager().equals( superClass, Object.class ) && superclassState == null );
+ while ( superClass != null && !mappings.getReflectionManager()
+ .equals( superClass, Object.class ) && superclassState == null );
currentClassInHierarchy = superClass;
}
@@ -926,7 +951,9 @@
) {
boolean hasIdentifier = false;
AccessType access = annotatedClass.getAnnotation( AccessType.class );
- String localPropertyAccessor = access != null ? access.value() : null;
+ String localPropertyAccessor = access != null ?
+ access.value() :
+ null;
String accessType = null;
if ( "property".equals( localPropertyAccessor ) || "field".equals( localPropertyAccessor ) ) {
accessType = localPropertyAccessor;
@@ -946,6 +973,12 @@
log.debug( "Processing " + propertyHolder.getEntityName() + " " + accessType + " annotation" );
List<XProperty> properties = annotatedClass.getDeclaredProperties( accessType );
+ //order so that property are used int he same order when binding native query
+ Collections.sort( properties, new Comparator<XProperty>() {
+ public int compare(XProperty property1, XProperty property2) {
+ return property1.getName().compareTo( property2.getName() );
+ }
+ } );
for ( XProperty p : properties ) {
if ( !p.isTypeResolved() && !discoverTypeWithoutReflection( p ) && !mustBeSkipped( p, mappings ) ) {
throw new AnnotationException(
@@ -981,7 +1014,7 @@
.equals( void.class ) ) {
return true;
}
- else if (p.isAnnotationPresent( Type.class ) ) {
+ else if ( p.isAnnotationPresent( Type.class ) ) {
return true;
}
else if ( p.isAnnotationPresent( Target.class ) ) {
@@ -998,7 +1031,7 @@
PropertyData propertyAnnotatedElement = new PropertyInferredData(
property, propertyAccessor,
mappings.getReflectionManager() );
- if ( ! mustBeSkipped( propertyAnnotatedElement.getProperty(), mappings ) ) {
+ if ( !mustBeSkipped( propertyAnnotatedElement.getProperty(), mappings ) ) {
/*
* put element annotated by @Id in front
* since it has to be parsed before any assoctation by Hibernate
@@ -1139,7 +1172,7 @@
propertyHolder, inferredData.getPropertyName(), mappings
);
}
- if ( columns == null && ! property.isAnnotationPresent( ManyToMany.class ) ) {
+ if ( columns == null && !property.isAnnotationPresent( ManyToMany.class ) ) {
//useful for collection of embedded elements
columns = Ejb3Column.buildColumnFromAnnotation(
null, null, nullability, propertyHolder, inferredData, entityBinder.getSecondaryTables(), mappings
@@ -1176,8 +1209,12 @@
//if ( isComponent && embeddableAnn != null && embeddableAnn.access() == AccessType.FIELD ) propertyAccess = false;
GeneratedValue generatedValue = property.getAnnotation( GeneratedValue.class );
- String generatorType = generatedValue != null ? generatorType( generatedValue.strategy() ) : "assigned";
- String generator = generatedValue != null ? generatedValue.generator() : BinderHelper.ANNOTATION_STRING_DEFAULT;
+ String generatorType = generatedValue != null ?
+ generatorType( generatedValue.strategy() ) :
+ "assigned";
+ String generator = generatedValue != null ?
+ generatedValue.generator() :
+ BinderHelper.ANNOTATION_STRING_DEFAULT;
if ( isComponent ) generatorType = "assigned"; //a component must not have any generator
Type typeAnn = property.getAnnotation( Type.class );
bindId(
@@ -1196,7 +1233,9 @@
);
if ( log.isDebugEnabled() ) {
log.debug(
- "Bind " + ( isComponent ? "@EmbeddedId" : "@Id" ) + " on " + inferredData.getPropertyName()
+ "Bind " + ( isComponent ?
+ "@EmbeddedId" :
+ "@Id" ) + " on " + inferredData.getPropertyName()
);
}
}
@@ -1206,7 +1245,7 @@
"@IdClass class should not have @Version property"
);
}
- if ( ! ( propertyHolder.getPersistentClass() instanceof RootClass ) ) {
+ if ( !( propertyHolder.getPersistentClass() instanceof RootClass ) ) {
throw new AnnotationException(
"Unable to define/override @Version on a subclass: "
+ propertyHolder.getEntityName()
@@ -1245,7 +1284,7 @@
if ( property.isAnnotationPresent( Column.class )
|| property.isAnnotationPresent( Columns.class ) ) {
throw new AnnotationException( "@Column(s) not allowed on a @ManyToOne property: "
- + StringHelper.qualify( propertyHolder.getPath(), inferredData.getPropertyName() ) );
+ + StringHelper.qualify( propertyHolder.getPath(), inferredData.getPropertyName() ) );
}
Cascade hibernateCascade = property.getAnnotation( Cascade.class );
@@ -1276,8 +1315,8 @@
//check validity
if ( property.isAnnotationPresent( Column.class )
|| property.isAnnotationPresent( Columns.class ) ) {
- throw new AnnotationException( "@Column(s) not allowed on a @OneToOne property: "
- + StringHelper.qualify( propertyHolder.getPath(), inferredData.getPropertyName() ) );
+ throw new AnnotationException( "@Column(s) not allowed on a @OneToOne property: "
+ + StringHelper.qualify( propertyHolder.getPath(), inferredData.getPropertyName() ) );
}
//FIXME support a proper PKJCs
@@ -1323,7 +1362,7 @@
CollectionBinder collectionBinder = CollectionBinder.getCollectionBinder(
propertyHolder.getEntityName(),
property,
- ! indexColumn.isImplicit()
+ !indexColumn.isImplicit()
);
collectionBinder.setIndexColumn( indexColumn );
MapKey mapKeyAnn = property.getAnnotation( MapKey.class );
@@ -1389,7 +1428,9 @@
);
PropertyData mapKeyVirtualProperty = new WrappedInferredData( inferredData, "mapkey" );
Ejb3Column[] mapColumns = Ejb3Column.buildColumnFromAnnotation(
- hibMapKeyAnn != null && hibMapKeyAnn.columns().length > 0 ? hibMapKeyAnn.columns() : null,
+ hibMapKeyAnn != null && hibMapKeyAnn.columns().length > 0 ?
+ hibMapKeyAnn.columns() :
+ null,
null,
Nullability.FORCED_NOT_NULL,
propertyHolder,
@@ -1401,7 +1442,9 @@
MapKeyManyToMany mapKeyManyToMany = property.getAnnotation( MapKeyManyToMany.class );
Ejb3JoinColumn[] mapJoinColumns = Ejb3JoinColumn.buildJoinColumns(
- mapKeyManyToMany != null ? mapKeyManyToMany.joinColumns() : null,
+ mapKeyManyToMany != null ?
+ mapKeyManyToMany.joinColumns() :
+ null,
null, entityBinder.getSecondaryTables(),
propertyHolder, mapKeyVirtualProperty.getPropertyName(), mappings
);
@@ -1470,7 +1513,7 @@
if ( property.isAnnotationPresent( CollectionId.class ) ) { //do not compute the generators unless necessary
HashMap<String, IdGenerator> localGenerators = (HashMap<String, IdGenerator>) classGenerators.clone();
localGenerators.putAll( buildLocalGenerators( property, mappings ) );
- collectionBinder.setLocalGenerators(localGenerators);
+ collectionBinder.setLocalGenerators( localGenerators );
}
collectionBinder.bind();
@@ -1557,9 +1600,11 @@
JoinColumn[] annInverseJoins;
if ( joinTableAnn != null ) {
collectionBinder.setExplicitAssociationTable( true );
- if ( ! BinderHelper.isDefault( joinTableAnn.schema() ) ) associationTableBinder.setSchema( joinTableAnn.schema() );
- if ( ! BinderHelper.isDefault( joinTableAnn.catalog() ) ) associationTableBinder.setCatalog( joinTableAnn.catalog() );
- if ( ! BinderHelper.isDefault( joinTableAnn.name() ) ) associationTableBinder.setName( joinTableAnn.name() );
+ if ( !BinderHelper.isDefault( joinTableAnn.schema() ) )
+ associationTableBinder.setSchema( joinTableAnn.schema() );
+ if ( !BinderHelper.isDefault( joinTableAnn.catalog() ) )
+ associationTableBinder.setCatalog( joinTableAnn.catalog() );
+ if ( !BinderHelper.isDefault( joinTableAnn.name() ) ) associationTableBinder.setName( joinTableAnn.name() );
associationTableBinder.setUniqueConstraints( joinTableAnn.uniqueConstraints() );
//set check constaint in the second pass
@@ -1675,7 +1720,9 @@
}
for ( PropertyData propertyAnnotatedElement : classElements ) {
processElementAnnotations(
- subHolder, isNullable ? Nullability.NO_CONSTRAINT : Nullability.FORCED_NOT_NULL,
+ subHolder, isNullable ?
+ Nullability.NO_CONSTRAINT :
+ Nullability.FORCED_NOT_NULL,
propertyAnnotatedElement.getProperty(), propertyAnnotatedElement,
new HashMap<String, IdGenerator>(), entityBinder, isIdentifierMapper, isComponentEmbedded,
inSecondPass, mappings
@@ -1697,14 +1744,16 @@
* Fill simple value and property since and Id is a property
*/
PersistentClass persistentClass = propertyHolder.getPersistentClass();
- if ( ! ( persistentClass instanceof RootClass ) ) {
+ if ( !( persistentClass instanceof RootClass ) ) {
throw new AnnotationException(
"Unable to define/override @Id(s) on a subclass: "
+ propertyHolder.getEntityName()
);
}
RootClass rootClass = (RootClass) persistentClass;
- String persistentClassName = rootClass == null ? null : rootClass.getClassName();
+ String persistentClassName = rootClass == null ?
+ null :
+ rootClass.getClassName();
SimpleValue id;
if ( isComposite ) {
id = fillComponent(
@@ -1750,8 +1799,8 @@
}
private static void setupComponentTuplizer(XProperty property, Component component) {
- if (property == null) return;
- if (property.isAnnotationPresent( Tuplizers.class ) ) {
+ if ( property == null ) return;
+ if ( property.isAnnotationPresent( Tuplizers.class ) ) {
for ( Tuplizer tuplizer : property.getAnnotation( Tuplizers.class ).value() ) {
EntityMode mode = EntityMode.parse( tuplizer.entityMode() );
component.addTuplizer( mode, tuplizer.impl().getName() );
@@ -1794,8 +1843,10 @@
value.setTypeUsingReflection( propertyHolder.getClassName(), propertyName );
ForeignKey fk = inferredData.getProperty().getAnnotation( ForeignKey.class );
- String fkName = fk != null ? fk.name() : "";
- if ( ! BinderHelper.isDefault( fkName ) ) value.setForeignKeyName( fkName );
+ String fkName = fk != null ?
+ fk.name() :
+ "";
+ if ( !BinderHelper.isDefault( fkName ) ) value.setForeignKeyName( fkName );
String path = propertyHolder.getPath() + "." + propertyName;
FkSecondPass secondPass = new FkSecondPass(
@@ -1804,7 +1855,7 @@
propertyHolder.getEntityOwnerClassName(),
path, mappings
);
- if (inSecondPass) {
+ if ( inSecondPass ) {
secondPass.doSecondPass( mappings.getClasses() );
}
else {
@@ -1850,7 +1901,7 @@
);
}
if ( lazy != null ) {
- toOne.setLazy( ! ( lazy.value() == LazyToOneOption.FALSE ) );
+ toOne.setLazy( !( lazy.value() == LazyToOneOption.FALSE ) );
toOne.setUnwrapProxy( ( lazy.value() == LazyToOneOption.NO_PROXY ) );
}
else {
@@ -1895,7 +1946,7 @@
final String propertyName = inferredData.getPropertyName();
log.debug( "Fetching " + propertyName + " with " + fetchMode );
boolean mapToPK = true;
- if ( ! trueOneToOne ) {
+ if ( !trueOneToOne ) {
//try to find a hidden true one to one (FK == PK columns)
Iterator idColumns = propertyHolder.getIdentifier().getColumnIterator();
List<String> idColumnNames = new ArrayList<String>();
@@ -1905,13 +1956,13 @@
idColumnNames.add( currentColumn.getName() );
}
for ( Ejb3JoinColumn col : joinColumns ) {
- if ( ! idColumnNames.contains( col.getMappingColumn().getName() ) ) {
+ if ( !idColumnNames.contains( col.getMappingColumn().getName() ) ) {
mapToPK = false;
break;
}
}
}
- if ( trueOneToOne || mapToPK || ! BinderHelper.isDefault( mappedBy ) ) {
+ if ( trueOneToOne || mapToPK || !BinderHelper.isDefault( mappedBy ) ) {
//is a true one-to-one
//FIXME referencedColumnName ignored => ordering may fail.
OneToOneSecondPass secondPass = new OneToOneSecondPass(
@@ -1921,7 +1972,7 @@
propertyHolder, inferredData, targetEntity, ignoreNotFound, cascadeOnDelete,
optional, cascadeStrategy, joinColumns, mappings
);
- if (inSecondPass) {
+ if ( inSecondPass ) {
secondPass.doSecondPass( mappings.getClasses() );
}
else {
@@ -1941,7 +1992,7 @@
}
private static String generatorType(GenerationType generatorEnum) {
- switch ( generatorEnum ) {
+ switch (generatorEnum) {
case IDENTITY:
return "identity";
case AUTO:
@@ -1958,7 +2009,7 @@
EnumSet<CascadeType> hibernateCascadeSet = EnumSet.noneOf( CascadeType.class );
if ( ejbCascades != null && ejbCascades.length > 0 ) {
for ( javax.persistence.CascadeType cascade : ejbCascades ) {
- switch ( cascade ) {
+ switch (cascade) {
case ALL:
hibernateCascadeSet.add( CascadeType.ALL );
break;
@@ -1985,7 +2036,9 @@
javax.persistence.CascadeType[] ejbCascades, Cascade hibernateCascadeAnnotation
) {
EnumSet<CascadeType> hibernateCascadeSet = convertToHibernateCascadeType( ejbCascades );
- CascadeType[] hibernateCascades = hibernateCascadeAnnotation == null ? null : hibernateCascadeAnnotation.value();
+ CascadeType[] hibernateCascades = hibernateCascadeAnnotation == null ?
+ null :
+ hibernateCascadeAnnotation.value();
if ( hibernateCascades != null && hibernateCascades.length > 0 ) {
for ( CascadeType cascadeType : hibernateCascades ) {
@@ -1996,7 +2049,7 @@
StringBuilder cascade = new StringBuilder();
Iterator<CascadeType> cascadeType = hibernateCascadeSet.iterator();
while ( cascadeType.hasNext() ) {
- switch ( cascadeType.next() ) {
+ switch (cascadeType.next()) {
case ALL:
cascade.append( "," ).append( "all" );
break;
@@ -2032,7 +2085,9 @@
break;
}
}
- return cascade.length() > 0 ? cascade.substring( 1 ) : "none";
+ return cascade.length() > 0 ?
+ cascade.substring( 1 ) :
+ "none";
}
public static FetchMode getFetchMode(FetchType fetch) {
@@ -2089,9 +2144,9 @@
reflectionManager
);
state.hasParents = superEntityState != null;
- final boolean nonDefault = state.type != null && ! InheritanceType.SINGLE_TABLE.equals( state.type );
+ final boolean nonDefault = state.type != null && !InheritanceType.SINGLE_TABLE.equals( state.type );
if ( superclassState.type != null ) {
- final boolean mixingStrategy = state.type != null && ! state.type.equals( superclassState.type );
+ final boolean mixingStrategy = state.type != null && !state.type.equals( superclassState.type );
if ( nonDefault && mixingStrategy ) {
log.warn(
"Mixing inheritance strategy in a entity hierarchy is not allowed, ignoring sub strategy in: " + clazz
Modified: branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/query/Chaos.java
===================================================================
--- branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/query/Chaos.java 2007-02-09 22:45:26 UTC (rev 11181)
+++ branches/Branch_3_2/HibernateExt/annotations/src/test/org/hibernate/test/annotations/query/Chaos.java 2007-02-09 22:54:18 UTC (rev 11182)
@@ -22,8 +22,8 @@
*/
@Entity
@Table(name="CHAOS")
-@SQLInsert( sql="INSERT INTO CHAOS(size, name, nickname, id) VALUES(?,upper(?),?,?)")
-@SQLUpdate( sql="UPDATE CHAOS SET size = ?, name = upper(?), nickname = ? WHERE id = ?")
+@SQLInsert( sql="INSERT INTO CHAOS(name, nickname, size, id) VALUES(upper(?),?,?,?)")
+@SQLUpdate( sql="UPDATE CHAOS SET name = upper(?), nickname = ?, size = ? WHERE id = ?")
@SQLDelete( sql="DELETE CHAOS WHERE id = ?")
@SQLDeleteAll( sql="DELETE CHAOS")
@Loader(namedQuery = "chaos")
17 years, 2 months
Hibernate SVN: r11181 - branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg.
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2007-02-09 17:45:26 -0500 (Fri, 09 Feb 2007)
New Revision: 11181
Modified:
branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/AnnotationConfiguration.java
Log:
ANN-553
Modified: branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/AnnotationConfiguration.java
===================================================================
--- branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/AnnotationConfiguration.java 2007-02-09 22:26:28 UTC (rev 11180)
+++ branches/Branch_3_2/HibernateExt/annotations/src/java/org/hibernate/cfg/AnnotationConfiguration.java 2007-02-09 22:45:26 UTC (rev 11181)
@@ -342,8 +342,10 @@
String className = persistentClazz.getClassName();
if ( StringHelper.isNotEmpty( className ) ) {
try {
- validatorCtr.newInstance( ReflectHelper.classForName( className ), null, null, null, reflectionManager );
- applyMethod.invoke( persistentClazz );
+ Object validator = validatorCtr.newInstance(
+ ReflectHelper.classForName( className ), null, null, null, reflectionManager
+ );
+ applyMethod.invoke( validator, persistentClazz );
}
catch (Exception e) {
log.warn("Unable to apply constraints on DDL for " + className, e);
17 years, 2 months
Hibernate SVN: r11180 - branches/Branch_3_2/HibernateExt/annotations.
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2007-02-09 17:26:28 -0500 (Fri, 09 Feb 2007)
New Revision: 11180
Modified:
branches/Branch_3_2/HibernateExt/annotations/build.xml
Log:
revert unexpected commit.
Modified: branches/Branch_3_2/HibernateExt/annotations/build.xml
===================================================================
--- branches/Branch_3_2/HibernateExt/annotations/build.xml 2007-02-09 21:19:56 UTC (rev 11179)
+++ branches/Branch_3_2/HibernateExt/annotations/build.xml 2007-02-09 22:26:28 UTC (rev 11180)
@@ -43,7 +43,7 @@
<path id="junit.moduleclasspath">
<pathelement location="${src.dir}"/>
<pathelement location="${test.dir}"/>
- <!-- pathelement location="${validator.jar}"/ -->
+ <pathelement location="${validator.jar}"/>
<pathelement location="lib/testlibs/org.eclipse.jdt.core_3.1.0.jar"/>
<fileset dir="${jdbc.dir}">
<include name="**/*.jar"/>
17 years, 2 months
Hibernate SVN: r11179 - in branches/Branch_3_2/HibernateExt/search/src: java/org/hibernate/search/backend and 1 other directories.
by hibernate-commits@lists.jboss.org
Author: epbernard
Date: 2007-02-09 16:19:56 -0500 (Fri, 09 Feb 2007)
New Revision: 11179
Modified:
branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/SearchFactory.java
branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/backend/Workspace.java
branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/SearchTestCase.java
Log:
HSEARCH-1 Add access to DP from searchFactory
Modified: branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/SearchFactory.java
===================================================================
--- branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/SearchFactory.java 2007-02-09 15:43:15 UTC (rev 11178)
+++ branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/SearchFactory.java 2007-02-09 21:19:56 UTC (rev 11179)
@@ -119,18 +119,10 @@
return documentBuilders;
}
- public void setDocumentBuilders(Map<Class, DocumentBuilder<Object>> documentBuilders) {
- this.documentBuilders = documentBuilders;
- }
-
public Map<DirectoryProvider, ReentrantLock> getLockableDirectoryProviders() {
return lockableDirectoryProviders;
}
- public void setLockableDirectoryProviders(Map<DirectoryProvider, ReentrantLock> lockableDirectoryProviders) {
- this.lockableDirectoryProviders = lockableDirectoryProviders;
- }
-
public Worker getWorker() {
return worker;
}
@@ -151,4 +143,9 @@
}
return reflectionManager;
}
+
+ public DirectoryProvider getDirectoryProvider(Class entity) {
+ DocumentBuilder<Object> documentBuilder = getDocumentBuilders().get( entity );
+ return documentBuilder == null ? null : documentBuilder.getDirectoryProvider();
+ }
}
Modified: branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/backend/Workspace.java
===================================================================
--- branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/backend/Workspace.java 2007-02-09 15:43:15 UTC (rev 11178)
+++ branches/Branch_3_2/HibernateExt/search/src/java/org/hibernate/search/backend/Workspace.java 2007-02-09 21:19:56 UTC (rev 11179)
@@ -48,7 +48,7 @@
public IndexReader getIndexReader(Class entity) {
//TODO NPEs
- DirectoryProvider provider = searchFactory.getDocumentBuilders().get( entity ).getDirectoryProvider();
+ DirectoryProvider provider = searchFactory.getDirectoryProvider( entity );
//one cannot access a reader for update after a writer has been accessed
if ( writers.containsKey( provider ) )
throw new AssertionFailure("Tries to read for update a index while a writer is accessed" + entity);
@@ -66,7 +66,7 @@
}
public IndexWriter getIndexWriter(Class entity) {
- DirectoryProvider provider = searchFactory.getDocumentBuilders().get( entity ).getDirectoryProvider();
+ DirectoryProvider provider = searchFactory.getDirectoryProvider( entity );
//one has to close a reader for update before a writer is accessed
IndexReader reader = readers.get( provider );
if ( reader != null ) {
Modified: branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/SearchTestCase.java
===================================================================
--- branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/SearchTestCase.java 2007-02-09 15:43:15 UTC (rev 11178)
+++ branches/Branch_3_2/HibernateExt/search/src/test/org/hibernate/search/test/SearchTestCase.java 2007-02-09 21:19:56 UTC (rev 11179)
@@ -22,7 +22,7 @@
}
protected Directory getDirectory(Class clazz) {
- return getLuceneEventListener().getSearchFactory().getDocumentBuilders().get( clazz ).getDirectoryProvider().getDirectory();
+ return getLuceneEventListener().getSearchFactory().getDirectoryProvider( clazz ).getDirectory();
}
private FullTextIndexEventListener getLuceneEventListener() {
17 years, 2 months