[hibernate-commits] Hibernate SVN: r15364 - search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Oct 21 12:26:57 EDT 2008


Author: sannegrinovero
Date: 2008-10-21 12:26:57 -0400 (Tue, 21 Oct 2008)
New Revision: 15364

Modified:
   search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/DeleteWorkDelegate.java
   search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/PurgeAllWorkDelegate.java
Log:
improvements to DeleteWorkDelegate and PurgeAllWorkDelegate

Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/DeleteWorkDelegate.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/DeleteWorkDelegate.java	2008-10-21 16:22:47 UTC (rev 15363)
+++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/DeleteWorkDelegate.java	2008-10-21 16:26:57 UTC (rev 15364)
@@ -38,24 +38,24 @@
 	}
 
 	public IndexInteractionType getIndexInteractionType() {
-		return IndexInteractionType.NEEDS_INDEXWRITER;
+		return IndexInteractionType.PREFER_INDEXWRITER;
 	}
 
 	public void performWork(LuceneWork work, IndexWriter writer) {
 		log.trace( "Removing {}#{} by query.", work.getEntityClass(), work.getId() );
 		DocumentBuilder builder = workspace.getDocumentBuilder( work.getEntityClass() );
 
-		BooleanQuery entityDeltionQuery = new BooleanQuery();
+		BooleanQuery entityDeletionQuery = new BooleanQuery();
 
 		TermQuery idQueryTerm = new TermQuery( builder.getTerm( work.getId() ) );
-		entityDeltionQuery.add(idQueryTerm, BooleanClause.Occur.MUST);
+		entityDeletionQuery.add( idQueryTerm, BooleanClause.Occur.MUST );
 
-		Term classNameQueryTerm =  new Term(DocumentBuilder.CLASS_FIELDNAME, work.getEntityClass().getName());
-		TermQuery classNameQuery = new TermQuery( classNameQueryTerm);
-		entityDeltionQuery.add(classNameQuery, BooleanClause.Occur.MUST);
+		Term classNameQueryTerm =  new Term( DocumentBuilder.CLASS_FIELDNAME, work.getEntityClass().getName() );
+		TermQuery classNameQuery = new TermQuery( classNameQueryTerm );
+		entityDeletionQuery.add( classNameQuery, BooleanClause.Occur.MUST );
 
 		try {
-			writer.deleteDocuments( entityDeltionQuery );
+			writer.deleteDocuments( entityDeletionQuery );
 		}
 		catch ( Exception e ) {
 			String message = "Unable to remove " + work.getEntityClass() + "#" + work.getId() + " from index.";

Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/PurgeAllWorkDelegate.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/PurgeAllWorkDelegate.java	2008-10-21 16:22:47 UTC (rev 15363)
+++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/PurgeAllWorkDelegate.java	2008-10-21 16:26:57 UTC (rev 15364)
@@ -28,15 +28,22 @@
 	}
 
 	public IndexInteractionType getIndexInteractionType() {
-		return IndexInteractionType.NEEDS_INDEXREADER;
+		return IndexInteractionType.PREFER_INDEXREADER;
 	}
 
 	public void performWork(LuceneWork work, IndexWriter writer) {
-		throw new UnsupportedOperationException();
+		log.trace( "purgeAll Lucene index using IndexWriter for type: {}", work.getEntityClass() );
+		try {
+			Term term = new Term( DocumentBuilder.CLASS_FIELDNAME, work.getEntityClass().getName() );
+			writer.deleteDocuments( term );
+		}
+		catch (Exception e) {
+			throw new SearchException( "Unable to purge all from Lucene index: " + work.getEntityClass(), e );
+		}
 	}
 
 	public void performWork(LuceneWork work, IndexReader reader) {
-		log.trace( "purgeAll Lucene index using IndexReader: {}", work.getEntityClass() );
+		log.trace( "purgeAll Lucene index using IndexReader for type: {}", work.getEntityClass() );
 		try {
 			Term term = new Term( DocumentBuilder.CLASS_FIELDNAME, work.getEntityClass().getName() );
 			reader.deleteDocuments( term );




More information about the hibernate-commits mailing list