[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/search ...
Christian Bauer
christian at hibernate.org
Fri Jul 6 10:38:37 EDT 2007
User: cbauer
Date: 07/07/06 10:38:37
Modified: examples/wiki/src/main/org/jboss/seam/wiki/core/search
WikiSearch.java IndexManager.java
Log:
Compiles and runs on latest Seam CVS
Revision Changes Path
1.2 +3 -5 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/search/WikiSearch.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: WikiSearch.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/search/WikiSearch.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- WikiSearch.java 12 Jun 2007 12:29:59 -0000 1.1
+++ WikiSearch.java 6 Jul 2007 14:38:37 -0000 1.2
@@ -3,7 +3,6 @@
import org.apache.lucene.search.*;
import org.apache.lucene.search.Filter;
import org.hibernate.Hibernate;
-import org.hibernate.Session;
import org.hibernate.search.FullTextSession;
import org.hibernate.search.FullTextQuery;
import org.hibernate.search.bridge.StringBridge;
@@ -177,8 +176,7 @@
try {
- FullTextSession ftSession = org.hibernate.search.Search.createFullTextSession(getSession());
- FullTextQuery ftQuery = ftSession.createFullTextQuery(mainQuery, indexedEntities);
+ FullTextQuery ftQuery = getFullTextSession().createFullTextQuery(mainQuery, indexedEntities);
ftQuery.setFirstResult(page * pageSize).setMaxResults(pageSize);
totalCount = ftQuery.getResultSize();
log.debug("total search hits (might be paginated next): " + totalCount);
@@ -203,9 +201,9 @@
}
}
- private Session getSession() {
+ private FullTextSession getFullTextSession() {
restrictedEntityManager.joinTransaction();
- return ((Session) ((org.jboss.seam.persistence.EntityManagerProxy) restrictedEntityManager).getDelegate());
+ return (FullTextSession) restrictedEntityManager.getDelegate();
}
public void nextPage() {
1.3 +7 -11 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/search/IndexManager.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: IndexManager.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/search/IndexManager.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- IndexManager.java 25 Jun 2007 23:13:53 -0000 1.2
+++ IndexManager.java 6 Jul 2007 14:38:37 -0000 1.3
@@ -3,15 +3,12 @@
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
import org.hibernate.ScrollableResults;
-import org.hibernate.Session;
import org.hibernate.search.FullTextSession;
-import org.hibernate.search.Search;
import org.hibernate.search.store.DirectoryProvider;
-import org.hibernate.search.util.ContextHelper;
import org.jboss.seam.Component;
-import org.jboss.seam.annotations.async.Asynchronous;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.async.Asynchronous;
import org.jboss.seam.log.Log;
import org.jboss.seam.wiki.util.Progress;
@@ -51,10 +48,10 @@
userTx.begin();
EntityManager em = (EntityManager) Component.getInstance("entityManager");
- Session session = (Session) em.getDelegate();
+ FullTextSession ftSession = (FullTextSession)em.getDelegate();
// Delete all documents with "_hibernate_class" term of the selected entity
- DirectoryProvider dirProvider = ContextHelper.getSearchFactory(session).getDirectoryProvider(entityClass);
+ DirectoryProvider dirProvider = ftSession.getSearchFactory().getDirectoryProvider(entityClass);
IndexReader reader = IndexReader.open(dirProvider.getDirectory());
// TODO: This is using an internal term of HSearch
@@ -64,7 +61,7 @@
// Optimize index
progress.setStatus("Optimizing index");
log.debug("optimizing index (merging segments)");
- Search.createFullTextSession(session).getSearchFactory().optimize(entityClass);
+ ftSession.getSearchFactory().optimize(entityClass);
userTx.commit();
@@ -73,13 +70,12 @@
// Now re-index with HSearch
em = (EntityManager) Component.getInstance("entityManager");
- session = (Session) em.getDelegate();
- FullTextSession ftSession = org.hibernate.search.Search.createFullTextSession(session);
+ ftSession = (FullTextSession)em.getDelegate();
userTx.begin();
// Use HQL instead of Criteria to eager fetch lazy properties
- ScrollableResults cursor = session.createQuery("select o from " + entityClass.getName() + " o fetch all properties").scroll();
+ ScrollableResults cursor = ftSession.createQuery("select o from " + entityClass.getName() + " o fetch all properties").scroll();
cursor.last();
int count = cursor.getRowNumber() + 1;
@@ -92,7 +88,7 @@
Object o = cursor.get(0);
log.debug("indexing: " + o);
ftSession.index(o);
- if (i % batchSize == 0) session.clear(); // Clear persistence context for each batch
+ if (i % batchSize == 0) ftSession.clear(); // Clear persistence context for each batch
progress.setPercentComplete( (100/count) * i);
log.debug("percent of index update complete: " + progress);
More information about the jboss-cvs-commits
mailing list