Author: epbernard
Date: 2008-05-17 08:54:06 -0400 (Sat, 17 May 2008)
New Revision: 14674
Modified:
search/trunk/ivy.xml
search/trunk/pom.xml
search/trunk/src/java/org/hibernate/search/Version.java
search/trunk/src/java/org/hibernate/search/backend/LuceneIndexingParameters.java
search/trunk/src/java/org/hibernate/search/backend/Workspace.java
search/trunk/src/java/org/hibernate/search/backend/impl/jms/AbstractJMSHibernateSearchController.java
search/trunk/src/java/org/hibernate/search/backend/impl/lucene/LuceneBackendQueueProcessor.java
search/trunk/src/java/org/hibernate/search/backend/impl/lucene/LuceneWorker.java
search/trunk/src/java/org/hibernate/search/engine/DocumentBuilder.java
search/trunk/src/java/org/hibernate/search/engine/ObjectLoader.java
search/trunk/src/java/org/hibernate/search/engine/QueryLoader.java
search/trunk/src/java/org/hibernate/search/event/FullTextIndexCollectionEventListener.java
search/trunk/src/java/org/hibernate/search/event/FullTextIndexEventListener.java
search/trunk/src/java/org/hibernate/search/query/FullTextQueryImpl.java
search/trunk/src/java/org/hibernate/search/query/ScrollableResultsImpl.java
search/trunk/src/java/org/hibernate/search/reader/SharedReaderProvider.java
search/trunk/src/java/org/hibernate/search/store/DirectoryProviderHelper.java
search/trunk/src/java/org/hibernate/search/store/FSMasterDirectoryProvider.java
search/trunk/src/java/org/hibernate/search/store/FSSlaveDirectoryProvider.java
search/trunk/src/java/org/hibernate/search/store/optimization/IncrementalOptimizerStrategy.java
search/trunk/src/test/org/hibernate/search/test/embedded/doubleinsert/Contact.java
search/trunk/src/test/org/hibernate/search/test/query/LuceneQuerySortTest.java
search/trunk/src/test/org/hibernate/search/test/query/TermVectorTest.java
Log:
HSEARCH-197 move to slf4j
Modified: search/trunk/ivy.xml
===================================================================
--- search/trunk/ivy.xml 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/ivy.xml 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
<!-- compile time dependencies -->
<dependency name="ejb3-persistence" rev="1.0.2.GA" conf="default->default"/>
<dependency name="commons-annotations" rev="latest" conf="default->default"/>
+ <dependency org="org.slf4j" name="slf4j-api" rev="1.4.2" conf="default->default"/>
<dependency org="org.hibernate" name="hibernate-core" rev="3.3.0.CR1" conf="default->default"/>
- <dependency org="commons-logging" name="commons-logging" rev="1.0.4" conf="default->default"/>
<dependency org="javax.transaction" name="jta" rev="1.1" conf="default->default"/>
<dependency org="org.apache.lucene" name="lucene-core" rev="2.3.1" conf="default->default"/>
<dependency org="javax.jms" name="jms" rev="1.1" conf="default->default"/> <!-- optional -->
@@(protected) @@
<dependency org="org.hibernate.apache.lucene.solr" name="apache-solr-analyzer" rev="1.2.0" conf="default->default"/> <!-- optional -->
<!-- transitive dependencies -->
- <dependency org="org.slf4j" name="slf4j-api" rev="1.4.2" conf="test->default"/>
<dependency org="antlr" name="antlr" rev="2.7.6" conf="test->default"/>
<dependency org="commons-collections" name="commons-collections" rev="3.1" conf="test->default"/>
<dependency org="dom4j" name="dom4j" rev="1.6.1" conf="test->default"/>
Modified: search/trunk/pom.xml
===================================================================
--- search/trunk/pom.xml 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/pom.xml 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
<version>2.3.1</version>
</dependency>
<dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.0.4</version>
- </dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.4.2</version>
+ </dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
Modified: search/trunk/src/java/org/hibernate/search/Version.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/Version.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/Version.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.util.Date;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* @author Emmanuel Bernard
*/
public class Version {
public static final String VERSION = "3.1.x." + new Date();
- private static Log log = LogFactory.getLog( Version.class );
+ private static Logger log = LoggerFactory.getLogger( Version.class );
static {
- log.info( "Hibernate Search " + VERSION );
+ log.info( "Hibernate Search {}", VERSION );
}
public static void touch() {
Modified: search/trunk/src/java/org/hibernate/search/backend/LuceneIndexingParameters.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/LuceneIndexingParameters.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/backend/LuceneIndexingParameters.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.util.Map;
import
java.util.Properties;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.apache.lucene.index.IndexWriter;
import
org.hibernate.search.SearchException;
import
org.hibernate.search.backend.configuration.IndexWriterSetting;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Wrapper class around the Lucene indexing parameters <i>mergeFactor</i>, <i>maxMergeDocs</i>,
@@(protected) @@
*/
public class LuceneIndexingParameters implements Serializable {
- private static final Log log = LogFactory.getLog( LuceneIndexingParameters.class );
-
// value keyword
public static final String EXPLICIT_DEFAULT_VALUE = "default";
// property path keywords
Modified: search/trunk/src/java/org/hibernate/search/backend/Workspace.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/Workspace.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/backend/Workspace.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.util.Map;
import
java.util.concurrent.locks.ReentrantLock;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.apache.lucene.analysis.Analyzer;
import
org.apache.lucene.analysis.SimpleAnalyzer;
import
org.apache.lucene.index.IndexReader;
@@(protected) @@
import
org.hibernate.search.engine.SearchFactoryImplementor;
import
org.hibernate.search.store.DirectoryProvider;
import
org.hibernate.search.store.optimization.OptimizerStrategy;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
/**
* Lucene workspace.
@@(protected) @@
*/
//TODO introduce the notion of read only IndexReader? We cannot enforce it because Lucene use abstract classes, not interfaces
public class Workspace {
- private static Log log = LogFactory.getLog( Workspace.class );
+ private final Logger log = LoggerFactory.getLogger( Workspace.class );
private Map<DirectoryProvider, IndexReader> readers = new HashMap<DirectoryProvider, IndexReader>();
private Map<DirectoryProvider, IndexWriter> writers = new HashMap<DirectoryProvider, IndexWriter>();
private List<DirectoryProvider> lockedProviders = new ArrayList<DirectoryProvider>();
Modified: search/trunk/src/java/org/hibernate/search/backend/impl/jms/AbstractJMSHibernateSearchController.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/impl/jms/AbstractJMSHibernateSearchController.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/backend/impl/jms/AbstractJMSHibernateSearchController.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
javax.jms.MessageListener;
import
javax.jms.ObjectMessage;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.hibernate.Session;
import
org.hibernate.search.backend.LuceneWork;
import
org.hibernate.search.util.ContextHelper;
import
org.hibernate.search.engine.SearchFactoryImplementor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Implement the Hibernate Search controller responsible for processing the
@@(protected) @@
* @author Emmanuel Bernard
*/
public abstract class AbstractJMSHibernateSearchController implements MessageListener {
- private static Log log = LogFactory.getLog( AbstractJMSHibernateSearchController.class );
+ private static Logger log = LoggerFactory.getLogger( AbstractJMSHibernateSearchController.class );
/**
* return the current or give a new session
@@(protected) @@
*/
public void onMessage(Message message) {
if ( !( message instanceof ObjectMessage ) ) {
- log.error( "Incorrect message type: " + message.getClass() );
+ log.error( "Incorrect message type: {}", message.getClass() );
return;
}
ObjectMessage objectMessage = (ObjectMessage) message;
Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/LuceneBackendQueueProcessor.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/LuceneBackendQueueProcessor.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/LuceneBackendQueueProcessor.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.util.List;
import
java.util.ArrayList;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.hibernate.search.backend.AddLuceneWork;
import
org.hibernate.search.backend.LuceneWork;
import
org.hibernate.search.backend.Workspace;
@@(protected) @@
import
org.hibernate.search.store.DirectoryProvider;
import
org.hibernate.search.store.IndexShardingStrategy;
import
org.hibernate.annotations.common.AssertionFailure;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Apply the operations to Lucene directories avoiding deadlocks.
@@(protected) @@
/**
* Class logger.
*/
- private static Log log = LogFactory.getLog( LuceneBackendQueueProcessor.class );
+ private static Logger log = LoggerFactory.getLogger( LuceneBackendQueueProcessor.class );
private List<LuceneWork> queue;
private SearchFactoryImplementor searchFactoryImplementor;
Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/LuceneWorker.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/LuceneWorker.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/LuceneWorker.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.io.IOException;
import
java.io.Serializable;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.apache.lucene.document.Document;
import
org.apache.lucene.index.IndexReader;
import
org.apache.lucene.index.IndexWriter;
@@(protected) @@
import
org.hibernate.search.backend.PurgeAllLuceneWork;
import
org.hibernate.search.engine.DocumentBuilder;
import
org.hibernate.search.store.DirectoryProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Stateless implementation that performs a unit of work.
@@(protected) @@
*/
public class LuceneWorker {
private Workspace workspace;
- private static Log log = LogFactory.getLog( LuceneWorker.class );
+ private static final Logger log = LoggerFactory.getLogger( LuceneWorker.class );
public LuceneWorker(Workspace workspace) {
this.workspace = workspace;
@@(protected) @@
}
private void add(Class entity, Serializable id, Document document, DirectoryProvider provider) {
- if ( log.isTraceEnabled() )
- log.trace( "add to Lucene index: " + entity + "#" + id + ": " + document );
+ log.trace( "add to Lucene index: {}#{}:{}", new Object[] { entity, id, document } );
IndexWriter writer = workspace.getIndexWriter( provider, entity, true );
try {
writer.addDocument( document );
@@(protected) @@
* We can only delete by term, and the index doesn't have a termt that
* uniquely identify the entry. See logic below
*/
- log.trace( "remove from Lucene index: " + entity + "#" + id );
+ log.trace( "remove from Lucene index: {}#{}", entity, id );
DocumentBuilder builder = workspace.getDocumentBuilder( entity );
Term term = builder.getTerm( id );
IndexReader reader = workspace.getIndexReader( provider, entity );
@@(protected) @@
public void performWork(OptimizeLuceneWork work, DirectoryProvider provider) {
Class entity = work.getEntityClass();
- if ( log.isTraceEnabled() )
- log.trace( "optimize Lucene index: " + entity );
+ log.trace( "optimize Lucene index: {}", entity );
IndexWriter writer = workspace.getIndexWriter( provider, entity, false );
try {
writer.optimize();
@@(protected) @@
public void performWork(PurgeAllLuceneWork work, DirectoryProvider provider) {
Class entity = work.getEntityClass();
- if ( log.isTraceEnabled() )
- log.trace( "purgeAll Lucene index: " + entity );
+ log.trace( "purgeAll Lucene index: {}", entity );
IndexReader reader = workspace.getIndexReader( provider, entity );
try {
Term term = new Term( DocumentBuilder.CLASS_FIELDNAME, entity.getName() );
Modified: search/trunk/src/java/org/hibernate/search/engine/DocumentBuilder.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/engine/DocumentBuilder.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/engine/DocumentBuilder.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.util.Map;
import
java.util.Set;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.apache.lucene.analysis.Analyzer;
import
org.apache.lucene.document.Document;
import
org.apache.lucene.document.Field;
@@(protected) @@
import
org.hibernate.search.store.IndexShardingStrategy;
import
org.hibernate.search.util.BinderHelper;
import
org.hibernate.search.util.ScopedAnalyzer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Set up and provide a manager for indexes classes
@@(protected) @@
* @author Hardy Ferentschik
*/
public class DocumentBuilder<T> {
- private static final Log log = LogFactory.getLog( DocumentBuilder.class );
+ private static final Logger log = LoggerFactory.getLogger( DocumentBuilder.class );
private final PropertiesMetadata rootPropertiesMetadata;
private final XClass beanClass;
@@(protected) @@
similarity = (Similarity) similarityClass.newInstance();
}
catch (Exception e) {
- log.error( "Exception attempting to instantiate Similarity '" + similarityClass.getName()
- + "' set for " + beanClass.getName() );
+ log.error( "Exception attempting to instantiate Similarity '{}' set for {}",
+ similarityClass.getName(), beanClass.getName() );
}
}
}
@@(protected) @@
}
else if ( log.isTraceEnabled() ) {
String localPrefix = buildEmbeddedPrefix( prefix, embeddedAnn, member );
- log.trace( "depth reached, ignoring " + localPrefix );
+ log.trace( "depth reached, ignoring {}", localPrefix );
}
level--;
@@(protected) @@
if ( store != Field.Store.NO && TwoWayFieldBridge.class.isAssignableFrom( fieldBridge.getClass() ) ) {
result[matchingPosition] = ( (TwoWayFieldBridge) fieldBridge ).get( fieldName, document );
if ( log.isTraceEnabled() ) {
- log.trace( "Field " + fieldName + " projected as " + result[matchingPosition] );
+ log.trace( "Field {} projected as {}", fieldName, result[matchingPosition] );
}
}
else {
Modified: search/trunk/src/java/org/hibernate/search/engine/ObjectLoader.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/engine/ObjectLoader.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/engine/ObjectLoader.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.util.ArrayList;
import
java.util.List;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.hibernate.Hibernate;
import
org.hibernate.Session;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* @author Emmanuel Bernard
*/
public class ObjectLoader implements Loader {
- private static final Log log = LogFactory.getLog( ObjectLoader.class );
+ private static final Logger log = LoggerFactory.getLogger( ObjectLoader.class );
private Session session;
public void init(Session session, SearchFactoryImplementor searchFactoryImplementor) {
@@(protected) @@
}
catch (RuntimeException e) {
if ( LoaderHelper.isObjectNotFoundException( e ) ) {
- log.debug( "Object found in Search index but not in database: "
- + entityInfo.clazz + " wih id " + entityInfo.id );
+ log.debug( "Object found in Search index but not in database: {} with id {}",
+ entityInfo.clazz, entityInfo.id );
maybeProxy = null;
}
else {
@@(protected) @@
}
catch (RuntimeException e) {
if ( LoaderHelper.isObjectNotFoundException( e ) ) {
- log.debug( "Object found in Search index but not in database: "
- + entityInfo.clazz + " wih id " + entityInfo.id );
+ log.debug( "Object found in Search index but not in database: {} with id {}",
+ entityInfo.clazz, entityInfo.id );
}
else {
throw e;
Modified: search/trunk/src/java/org/hibernate/search/engine/QueryLoader.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/engine/QueryLoader.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/engine/QueryLoader.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.util.ArrayList;
import
java.util.List;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.hibernate.Criteria;
import
org.hibernate.Hibernate;
import
org.hibernate.Session;
import
org.hibernate.annotations.common.AssertionFailure;
import
org.hibernate.criterion.Disjunction;
import
org.hibernate.criterion.Restrictions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* @author Emmanuel Bernard
@@(protected) @@
public class QueryLoader implements Loader {
private static final int MAX_IN_CLAUSE = 500;
private static final List EMPTY_LIST = new ArrayList( 0 );
- private static Log log = LogFactory.getLog( QueryLoader.class );
+ private final Logger log = LoggerFactory.getLogger( QueryLoader.class );
private Session session;
private Class entityType;
@@(protected) @@
}
catch (RuntimeException e) {
if ( LoaderHelper.isObjectNotFoundException( e ) ) {
- log.debug( "Object found in Search index but not in database: "
- + entityInfo.clazz + " wih id " + entityInfo.id );
+ log.debug( "Object found in Search index but not in database: {} with id {}",
+ entityInfo.clazz, entityInfo.id );
maybeProxy = null;
}
else {
@@(protected) @@
}
else {
if ( log.isDebugEnabled() ) {
- log.debug( "Object found in Search index but not in database: "
- + entityInfo.clazz + " wih id " + entityInfo.id );
+ log.debug( "Object found in Search index but not in database: {} with {}",
+ entityInfo.clazz, entityInfo.id );
}
}
}
Modified: search/trunk/src/java/org/hibernate/search/event/FullTextIndexCollectionEventListener.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/event/FullTextIndexCollectionEventListener.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/event/FullTextIndexCollectionEventListener.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
org.hibernate.event.PostCollectionRecreateEvent;
import
org.hibernate.event.PostCollectionRemoveEvent;
import
org.hibernate.event.PostCollectionUpdateEvent;
-import
org.hibernate.event.AbstractEvent;
import
org.hibernate.event.AbstractCollectionEvent;
import
org.hibernate.search.backend.WorkType;
import
org.hibernate.engine.EntityEntry;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Support collection event listening (starts from hibernate core 3.2.6)
@@(protected) @@
implements PostCollectionRecreateEventListener,
PostCollectionRemoveEventListener,
PostCollectionUpdateEventListener {
- private static Log log = LogFactory.getLog( FullTextIndexCollectionEventListener.class );
+ private final Logger log = LoggerFactory.getLogger( FullTextIndexCollectionEventListener.class );
public void onPostRecreateCollection(PostCollectionRecreateEvent event) {
processCollectionEvent( event );
@@(protected) @@
if ( used && searchFactoryImplementor.getDocumentBuilders().containsKey( entity.getClass() ) ) {
Serializable id = getId( entity, event );
if (id == null) {
- log.warn( "Unable to reindex entity on collection change, id cannot be extracted: " + event.getAffectedOwnerEntityName() );
+ log.warn(
+ "Unable to reindex entity on collection change, id cannot be extracted: {}",
+ event.getAffectedOwnerEntityName()
+ );
return;
}
processWork( entity, id, WorkType.COLLECTION, event );
Modified: search/trunk/src/java/org/hibernate/search/event/FullTextIndexEventListener.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/event/FullTextIndexEventListener.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/event/FullTextIndexEventListener.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.io.Serializable;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.hibernate.cfg.Configuration;
import
org.hibernate.event.AbstractEvent;
import
org.hibernate.event.Initializable;
Modified: search/trunk/src/java/org/hibernate/search/query/FullTextQueryImpl.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/query/FullTextQueryImpl.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/query/FullTextQueryImpl.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.util.Map;
import
java.util.Set;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.apache.lucene.index.IndexReader;
import
org.apache.lucene.index.Term;
import
org.apache.lucene.search.BooleanClause;
@@(protected) @@
import
org.hibernate.search.store.DirectoryProvider;
import
org.hibernate.search.util.ContextHelper;
import
org.hibernate.transform.ResultTransformer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Implementation of {@(protected)}
@@(protected) @@
*/
//TODO implements setParameter()
public class FullTextQueryImpl extends AbstractQueryImpl implements FullTextQuery {
- private static final Log log = LogFactory.getLog( FullTextQueryImpl.class );
+ private final Logger log = LoggerFactory.getLogger( FullTextQueryImpl.class );
private
org.apache.lucene.search.Query luceneQuery;
private Class[] classes;
private Set<Class> classesAndSubclasses;
Modified: search/trunk/src/java/org/hibernate/search/query/ScrollableResultsImpl.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/query/ScrollableResultsImpl.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/query/ScrollableResultsImpl.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.util.Map;
import
java.util.TimeZone;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.apache.lucene.search.Hits;
import
org.apache.lucene.search.IndexSearcher;
import
org.hibernate.HibernateException;
@@(protected) @@
import
org.hibernate.search.engine.EntityInfo;
import
org.hibernate.search.engine.Loader;
import
org.hibernate.type.Type;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Implements scollable and paginated resultsets.
@@(protected) @@
* @author John Griffin
*/
public class ScrollableResultsImpl implements ScrollableResults {
- private static Log log = LogFactory.getLog( ScrollableResultsImpl.class );
+ private static Logger log = LoggerFactory.getLogger( ScrollableResultsImpl.class );
private final IndexSearcher searcher;
private final SearchFactory searchFactory;
private final Hits hits;
Modified: search/trunk/src/java/org/hibernate/search/reader/SharedReaderProvider.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/reader/SharedReaderProvider.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/reader/SharedReaderProvider.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.util.concurrent.locks.Lock;
import
java.util.concurrent.locks.ReentrantLock;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.apache.lucene.index.IndexReader;
import
org.apache.lucene.index.MultiReader;
import
org.hibernate.annotations.common.AssertionFailure;
@@(protected) @@
import static
org.hibernate.search.reader.ReaderProviderHelper.buildMultiReader;
import static
org.hibernate.search.reader.ReaderProviderHelper.clean;
import
org.hibernate.search.store.DirectoryProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Share readers per SearchFactory, reusing them iff they are still valid.
@@(protected) @@
*/
public class SharedReaderProvider implements ReaderProvider {
private static Field subReadersField;
- private static Log log = LogFactory.getLog( SharedReaderProvider.class );
+ private final Logger log = LoggerFactory.getLogger ( SharedReaderProvider.class );
/**
* nonfair lock. Need to be acquired on indexReader acquisition or release (semaphore)
*/
@@(protected) @@
boolean trace = log.isTraceEnabled();
int length = directoryProviders.length;
IndexReader[] readers = new IndexReader[length];
- if ( trace ) log.trace( "Opening IndexReader for directoryProviders: " + length );
+ if ( trace ) log.trace( "Opening IndexReader for directoryProviders: {}", length );
for (int index = 0; index < length; index++) {
DirectoryProvider directoryProvider = directoryProviders[index];
IndexReader reader;
Lock directoryProviderLock = perDirectoryProviderManipulationLocks.get( directoryProvider );
- if ( trace ) log.trace( "Opening IndexReader from " + directoryProvider.getDirectory().toString() );
+ if ( trace ) log.trace( "Opening IndexReader from {}", directoryProvider.getDirectory() );
directoryProviderLock.lock(); //needed for same problem as the double-checked locking
try {
reader = activeSearchIndexReaders.get( directoryProvider );
@@(protected) @@
}
if ( reader == null ) {
if ( trace )
- log.trace( "No shared IndexReader, opening a new one: " + directoryProvider.getDirectory().toString() );
+ log.trace( "No shared IndexReader, opening a new one: {}", directoryProvider.getDirectory() );
reader = replaceActiveReader( null, directoryProviderLock, directoryProvider, readers );
}
else {
@@(protected) @@
throw new SearchException( "Unable to read current status of Lucene IndexReader", e );
}
if ( !isCurrent ) {
- if ( trace )
- log.trace( "Out of date shared IndexReader found, opening a new one: " + directoryProvider.getDirectory().toString() );
+ if ( trace ) {
+ log.trace( "Out of date shared IndexReader found, opening a new one: {}",
+ directoryProvider.getDirectory() );
+ }
IndexReader outOfDateReader = reader;
reader = replaceActiveReader( outOfDateReader, directoryProviderLock, directoryProvider, readers );
}
else {
if ( trace )
- log.trace( "Valid shared IndexReader: " + directoryProvider.getDirectory().toString() );
+ log.trace( "Valid shared IndexReader: {}" + directoryProvider.getDirectory() );
directoryProviderLock.lock();
try {
//read the latest active one, the current one could be out of date and closed already
@@(protected) @@
//TODO if readerData is null????
readerData.semaphore++;
searchIndexReaderSemaphores.put( reader, readerData ); //not necessary
- if ( trace ) log.trace( "Semaphore increased: " + readerData.semaphore + " for " + reader );
+ if ( trace ) log.trace( "Semaphore increased: {} for {}", readerData.semaphore, reader );
}
finally {
semaphoreIndexReaderLock.unlock();
@@(protected) @@
semaphoreIndexReaderLock.lock();
try {
searchIndexReaderSemaphores.put( reader, new ReaderData( 1, directoryProvider ) );
- if ( trace ) log.trace( "Semaphore: 1 for " + reader );
+ if ( trace ) log.trace( "Semaphore: 1 for {}", reader );
if ( outOfDateReader != null ) {
ReaderData readerData = searchIndexReaderSemaphores.get( outOfDateReader );
if ( readerData == null ) {
@@(protected) @@
directoryProviderLock.unlock();
}
if ( closeOutOfDateReader ) {
- if ( trace ) log.trace( "Closing out of date IndexReader " + outOfDateReader );
+ if ( trace ) log.trace( "Closing out of date IndexReader {}", outOfDateReader );
try {
outOfDateReader.close();
}
@@(protected) @@
}
}
if ( closeOldReader ) {
- if ( trace ) log.trace( "Closing old IndexReader " + oldReader );
+ if ( trace ) log.trace( "Closing old IndexReader {}", oldReader );
try {
oldReader.close();
}
@@(protected) @@
catch (IllegalAccessException e) {
throw new SearchException( "Incompatible version of Lucene: MultiReader.subReaders not accessible", e );
}
- if ( trace ) log.trace( "Closing MultiReader: " + reader );
+ if ( trace ) log.trace( "Closing MultiReader: {}", reader );
}
else {
throw new AssertionFailure( "Everything should be wrapped in a MultiReader" );
@@(protected) @@
}
if ( readerData == null ) {
- log.error( "Trying to close a Lucene IndexReader not present: " + subReader.directory().toString() );
+ log.error( "Trying to close a Lucene IndexReader not present: {}", subReader.directory() );
//TODO should we try to close?
continue;
}
@@(protected) @@
try {
boolean isActive;
isActive = activeSearchIndexReaders.get( readerData.provider ) == subReader;
- if ( trace ) log.trace( "Indexreader not active: " + subReader );
+ if ( trace ) log.trace( "Indexreader not active: {}", subReader );
semaphoreIndexReaderLock.lock();
try {
readerData = searchIndexReaderSemaphores.get( subReader );
if ( readerData == null ) {
- log.error( "Trying to close a Lucene IndexReader not present: " + subReader.directory().toString() );
+ log.error( "Trying to close a Lucene IndexReader not present: {}" + subReader.directory() );
//TODO should we try to close?
continue;
}
readerData.semaphore--;
- if ( trace ) log.trace( "Semaphore decreased to: " + readerData.semaphore + " for " + subReader );
+ if ( trace ) log.trace( "Semaphore decreased to: {} for {}", readerData.semaphore, subReader );
if ( readerData.semaphore < 0 )
- log.error( "Semaphore negative: " + subReader.directory().toString() );
+ log.error( "Semaphore negative: {}", subReader.directory() );
if ( ( !isActive ) && readerData.semaphore == 0 ) {
searchIndexReaderSemaphores.remove( subReader );
closeReader = true;
@@(protected) @@
}
if ( closeReader ) {
- if ( trace ) log.trace( "Closing IndexReader: " + subReader );
+ if ( trace ) log.trace( "Closing IndexReader: {}", subReader );
try {
subReader.close();
}
Modified: search/trunk/src/java/org/hibernate/search/store/DirectoryProviderHelper.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/store/DirectoryProviderHelper.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/store/DirectoryProviderHelper.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
org.hibernate.search.SearchException;
import
org.hibernate.annotations.common.util.StringHelper;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.apache.lucene.analysis.standard.StandardAnalyzer;
import
org.apache.lucene.index.IndexReader;
import
org.apache.lucene.index.IndexWriter;
import
org.apache.lucene.store.FSDirectory;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
/**
* @author Emmanuel Bernard
@@(protected) @@
*/
public class DirectoryProviderHelper {
- private static final Log log = LogFactory.getLog( DirectoryProviderHelper.class );
+ private static final Logger log = LoggerFactory.getLogger( DirectoryProviderHelper.class );
private static final String ROOTINDEX_PROP_NAME = "sourceBase";
private static final String RELATIVEINDEX_PROP_NAME = "source";
@@(protected) @@
File sourceDirectory;
if ( log.isTraceEnabled() ) {
log.trace(
- "Guess source directory from " + ROOTINDEX_PROP_NAME + " " + ( root != null ? root : "<null>" )
- + " and " + RELATIVEINDEX_PROP_NAME + " " + (relative != null ? relative : "<null>")
+ "Guess source directory from {} {} and {} {}", new Object[] {
+ ROOTINDEX_PROP_NAME,
+ ( root != null ? root : "<null>" ),
+ RELATIVEINDEX_PROP_NAME,
+ (relative != null ? relative : "<null>") }
);
}
if ( relative == null ) relative = directoryProviderName;
@@(protected) @@
public static FSDirectory createFSIndex(File indexDir) throws IOException {
FSDirectory fsDirectory = FSDirectory.getDirectory( indexDir );
if ( ! IndexReader.indexExists( fsDirectory ) ) {
- log.debug( "Initialize index: '" + indexDir.getAbsolutePath() + "'" );
+ log.debug( "Initialize index: '{}'", indexDir.getAbsolutePath() );
IndexWriter iw = new IndexWriter( fsDirectory, new StandardAnalyzer(), true );
iw.close();
}
@@(protected) @@
} catch (NumberFormatException nfe) {
throw new SearchException( "Unable to initialize index: " + directoryProviderName +"; refresh period is not numeric.", nfe );
}
- log.debug( "Refresh period " + period + " seconds" );
+ log.debug( "Refresh period: {} seconds", period );
return period * 1000; //per second
}
Modified: search/trunk/src/java/org/hibernate/search/store/FSMasterDirectoryProvider.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/store/FSMasterDirectoryProvider.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/store/FSMasterDirectoryProvider.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.io.IOException;
import
org.apache.lucene.store.FSDirectory;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.hibernate.search.SearchException;
import
org.hibernate.search.util.FileHelper;
import
org.hibernate.search.engine.SearchFactoryImplementor;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
/**
* File based DirectoryProvider that takes care of index copy
@@(protected) @@
//TODO rename copy?
public class FSMasterDirectoryProvider implements DirectoryProvider<FSDirectory> {
- private static Log log = LogFactory.getLog( FSMasterDirectoryProvider.class );
+ private final Logger log = LoggerFactory.getLogger( FSMasterDirectoryProvider.class );
private FSDirectory directory;
private int current;
@@(protected) @@
this.directoryProviderName = directoryProviderName;
//source guessing
sourceDir = DirectoryProviderHelper.getSourceDirectory( directoryProviderName, properties, true );
- log.debug( "Source directory: " + sourceDir.getPath() );
+ log.debug( "Source directory: {}", sourceDir.getPath() );
indexDir = DirectoryProviderHelper.getVerifiedIndexDir( directoryProviderName, properties, true );
- log.debug( "Index directory: " + indexDir.getPath() );
+ log.debug( "Index directory: {}", indexDir.getPath() );
try {
indexName = indexDir.getCanonicalPath();
directory = DirectoryProviderHelper.createFSIndex( indexDir );
@@(protected) @@
current = 1;
}
else {
- log.debug( "Source directory for '" + indexName + "' will be initialized");
+ log.debug( "Source directory for '{}' will be initialized", indexName);
current = 1;
}
String currentString = Integer.valueOf( current ).toString();
@@(protected) @@
new File( sourceDir, "current2" ).delete();
//TODO small hole, no file can be found here
new File( sourceDir, "current" + currentString ).createNewFile();
- log.debug( "Current directory: " + current );
+ log.debug( "Current directory: {}", current );
}
catch (IOException e) {
throw new SearchException( "Unable to initialize index: " + directoryProviderName, e );
@@(protected) @@
executor.execute( copyTask );
}
else {
- log.info( "Skipping directory synchronization, previous work still in progress: " + indexName );
+ log.info( "Skipping directory synchronization, previous work still in progress: {}", indexName );
}
}
}
@@(protected) @@
File destinationFile = new File(destination, Integer.valueOf(index).toString() );
//TODO make smart a parameter
try {
- log.trace( "Copying " + source + " into " + destinationFile );
+ log.trace( "Copying {} into {}", source, destinationFile );
FileHelper.synchronize( source, destinationFile, true );
current = index;
}
@@(protected) @@
return;
}
if ( ! new File( destination, "current" + oldIndex ).delete() ) {
- log.warn( "Unable to remove previous marker file from source of " + indexName );
+ log.warn( "Unable to remove previous marker file from source of {}", indexName );
}
try {
new File( destination, "current" + index ).createNewFile();
@@(protected) @@
directoryProviderLock.unlock();
inProgress = false;
}
- log.trace( "Copy for " + indexName + " took " + (System.currentTimeMillis() - start) + " ms" );
+ log.trace( "Copy for {} took {} ms", indexName, (System.currentTimeMillis() - start) );
}
}
Modified: search/trunk/src/java/org/hibernate/search/store/FSSlaveDirectoryProvider.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/store/FSSlaveDirectoryProvider.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/store/FSSlaveDirectoryProvider.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.io.IOException;
import
org.apache.lucene.store.FSDirectory;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.hibernate.AssertionFailure;
import
org.hibernate.search.SearchException;
import
org.hibernate.search.util.FileHelper;
import
org.hibernate.search.engine.SearchFactoryImplementor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* File based directory provider that takes care of getting a version of the index
@@(protected) @@
*/
public class FSSlaveDirectoryProvider implements DirectoryProvider<FSDirectory> {
- private static Log log = LogFactory.getLog( FSSlaveDirectoryProvider.class );
+ private final Logger log = LoggerFactory.getLogger( FSSlaveDirectoryProvider.class );
private FSDirectory directory1;
private FSDirectory directory2;
@@(protected) @@
if ( ! new File( sourceIndexDir, "current1" ).exists() && ! new File( sourceIndexDir, "current2" ).exists() ) {
throw new IllegalStateException( "No current marker in source directory" );
}
- log.debug( "Source directory: " + sourceIndexDir.getPath() );
+ log.debug( "Source directory: {}", sourceIndexDir.getPath() );
indexDir = DirectoryProviderHelper.getVerifiedIndexDir( directoryProviderName, properties, true );
- log.debug( "Index directory: " + indexDir.getPath() );
+ log.debug( "Index directory: {}", indexDir.getPath() );
try {
indexName = indexDir.getCanonicalPath();
}
@@(protected) @@
throw new SearchException( "Unable to create the directory marker file: " + indexName );
}
}
- log.debug( "Current directory: " + current);
+ log.debug( "Current directory: {}", current);
}
catch (IOException e) {
throw new SearchException( "Unable to initialize index: " + directoryProviderName, e );
@@(protected) @@
executor.execute( copyTask );
}
else {
- log.trace( "Skipping directory synchronization, previous work still in progress: " + indexName);
+ log.trace( "Skipping directory synchronization, previous work still in progress: {}", indexName);
}
}
}
@@(protected) @@
File destinationFile = new File( destination, Integer.valueOf( index ).toString() );
//TODO make smart a parameter
try {
- log.trace( "Copying " + sourceFile + " into " + destinationFile );
+ log.trace( "Copying {} into {}", sourceFile, destinationFile );
FileHelper.synchronize( sourceFile, destinationFile, true );
current = index;
}
@@(protected) @@
finally {
inProgress = false;
}
- log.trace( "Copy for " + indexName + " took " + (System.currentTimeMillis() - start) + " ms" );
+ log.trace( "Copy for {} took {} ms", indexName, (System.currentTimeMillis() - start) );
}
}
Modified: search/trunk/src/java/org/hibernate/search/store/optimization/IncrementalOptimizerStrategy.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/store/optimization/IncrementalOptimizerStrategy.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/java/org/hibernate/search/store/optimization/IncrementalOptimizerStrategy.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
org.hibernate.search.SearchException;
import
org.hibernate.annotations.common.util.StringHelper;
import
org.apache.lucene.index.IndexWriter;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Optimization strategy triggered after a certain amount of operations
@@(protected) @@
private long operations = 0;
private long transactions = 0;
private DirectoryProvider directoryProvider;
- private Log log = LogFactory.getLog( IncrementalOptimizerStrategy.class );
+ private final Logger log = LoggerFactory.getLogger( IncrementalOptimizerStrategy.class );
public void initialize(DirectoryProvider directoryProvider, Properties indexProperties, SearchFactoryImplementor searchFactoryImplementor) {
this.directoryProvider = directoryProvider;
@@(protected) @@
public void optimize(Workspace workspace) {
if ( needOptimization() ) {
- if ( log.isDebugEnabled() ) {
- log.debug( "Optimize "
- + directoryProvider.getDirectory().toString()
- +" after " + operations + " operations and " + transactions + " transactions");
- }
+ log.debug( "Optimize {} after {} operations and {} transactions",
+ new Object[] { directoryProvider.getDirectory(), operations, transactions });
IndexWriter writer = workspace.getIndexWriter( directoryProvider );
try {
writer.optimize();
Modified: search/trunk/src/test/org/hibernate/search/test/embedded/doubleinsert/Contact.java
===================================================================
--- search/trunk/src/test/org/hibernate/search/test/embedded/doubleinsert/Contact.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/test/org/hibernate/search/test/embedded/doubleinsert/Contact.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.util.HashSet;
import
java.util.List;
import
java.util.Set;
-
import
javax.persistence.CascadeType;
import
javax.persistence.Column;
import
javax.persistence.DiscriminatorColumn;
@@(protected) @@
import
org.apache.commons.collections.CollectionUtils;
import
org.apache.commons.collections.Predicate;
-import
org.apache.commons.logging.LogFactory;
-import
org.apache.commons.logging.Log;
import
org.hibernate.annotations.Type;
import
org.hibernate.search.annotations.ContainedIn;
import
org.hibernate.search.annotations.DocumentId;
@@(protected) @@
@Indexed
public class Contact implements Serializable {
- private static Log logger = LogFactory.getLog(Contact.class);
-
private static final long serialVersionUID = 1L;
@Id @GeneratedValue(strategy=GenerationType.AUTO)
Modified: search/trunk/src/test/org/hibernate/search/test/query/LuceneQuerySortTest.java
===================================================================
--- search/trunk/src/test/org/hibernate/search/test/query/LuceneQuerySortTest.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/test/org/hibernate/search/test/query/LuceneQuerySortTest.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
import
java.util.List;
import
java.util.Calendar;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.apache.lucene.analysis.StopAnalyzer;
import
org.apache.lucene.queryParser.QueryParser;
import
org.apache.lucene.search.Query;
@@(protected) @@
import
org.hibernate.Transaction;
import
org.hibernate.search.FullTextSession;
import
org.hibernate.search.Search;
-import
org.hibernate.search.Version;
import
org.hibernate.search.FullTextQuery;
import org.hibernate.search.test.SearchTestCase;
@@(protected) @@
public class LuceneQuerySortTest extends SearchTestCase {
/**
- * Class logger.
- */
- private static Log log = LogFactory.getLog( Version.class );
-
- /**
* Test that we can change the default sort order of the lucene search result.
*
* @throws Exception in case the test fails.
Modified: search/trunk/src/test/org/hibernate/search/test/query/TermVectorTest.java
===================================================================
--- search/trunk/src/test/org/hibernate/search/test/query/TermVectorTest.java 2008-05-17 12:52:14 UTC (rev 14673)
+++ search/trunk/src/test/org/hibernate/search/test/query/TermVectorTest.java 2008-05-17 12:54:06 UTC (rev 14674)
@@(protected) @@
package org.hibernate.search.test.query;
-import
org.apache.commons.logging.Log;
-import
org.apache.commons.logging.LogFactory;
import
org.apache.lucene.index.IndexReader;
import
org.apache.lucene.index.TermPositionVector;
import
org.apache.lucene.index.TermVectorOffsetInfo;
@@(protected) @@
* @author John Griffin
*/
public class TermVectorTest extends SearchTestCase {
- private static Log log = LogFactory.getLog(TermVectorTest.class);
-
+
public void testPositionOffsets() throws Exception {
FullTextSession s = Search.createFullTextSession(openSession());
createIndex(s);
_______________________________________________
hibernate-commits mailing list
hibernate-commits@(protected)
https://lists.jboss.org/mailman/listinfo/hibernate-commits