[hibernate-commits] Hibernate SVN: r17351 - in search/trunk/src: test/java/org/hibernate/search/test/id/providedId and 1 other directory.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Tue Aug 18 11:22:47 EDT 2009
Author: hardy.ferentschik
Date: 2009-08-18 11:22:46 -0400 (Tue, 18 Aug 2009)
New Revision: 17351
Modified:
search/trunk/src/main/java/org/hibernate/search/engine/DocumentBuilderIndexedEntity.java
search/trunk/src/test/java/org/hibernate/search/test/id/providedId/ProvidedIdPerson.java
Log:
HSEARCH-394
Changed the way @ProvidedId is picked up
Modified: search/trunk/src/main/java/org/hibernate/search/engine/DocumentBuilderIndexedEntity.java
===================================================================
--- search/trunk/src/main/java/org/hibernate/search/engine/DocumentBuilderIndexedEntity.java 2009-08-18 15:21:56 UTC (rev 17350)
+++ search/trunk/src/main/java/org/hibernate/search/engine/DocumentBuilderIndexedEntity.java 2009-08-18 15:22:46 UTC (rev 17351)
@@ -130,21 +130,21 @@
this.entityState = EntityState.INDEXED;
this.directoryProviders = directoryProviders;
this.shardingStrategy = shardingStrategy;
+ }
- if ( idKeywordName == null ) {
- // if no DocumentId then check if we have a ProvidedId instead
- ProvidedId provided = findProvidedId( clazz, reflectionManager );
- if ( provided == null ) {
- throw new SearchException( "No document id in: " + clazz.getName() );
- }
+ protected void init(XClass clazz, InitContext context) {
+ super.init( clazz, context );
+ // special case @ProvidedId
+ ProvidedId provided = findProvidedId( clazz, reflectionManager );
+ if ( provided != null ) {
idBridge = BridgeFactory.extractTwoWayType( provided.bridge() );
idKeywordName = provided.name();
}
- }
- protected void init(XClass clazz, InitContext context) {
- super.init( clazz, context );
+ if ( idKeywordName == null ) {
+ throw new SearchException( "No document id in: " + clazz.getName() );
+ }
//if composite id, use of (a, b) in ((1,2),(3,4)) fails on most database
//a TwoWayString2FieldBridgeAdaptor is never a composite id
@@ -257,7 +257,7 @@
XClass currentClass = clazz;
while ( id == null && ( !reflectionManager.equals( currentClass, Object.class ) ) ) {
id = currentClass.getAnnotation( ProvidedId.class );
- currentClass = clazz.getSuperclass();
+ currentClass = currentClass.getSuperclass();
}
return id;
}
Modified: search/trunk/src/test/java/org/hibernate/search/test/id/providedId/ProvidedIdPerson.java
===================================================================
--- search/trunk/src/test/java/org/hibernate/search/test/id/providedId/ProvidedIdPerson.java 2009-08-18 15:21:56 UTC (rev 17350)
+++ search/trunk/src/test/java/org/hibernate/search/test/id/providedId/ProvidedIdPerson.java 2009-08-18 15:22:46 UTC (rev 17351)
@@ -20,8 +20,7 @@
@Id
@GeneratedValue
private long id;
-
-
+
@Field(index = Index.TOKENIZED, store = Store.YES)
private String name;
@Field(index = Index.TOKENIZED, store = Store.YES)
More information about the hibernate-commits
mailing list