[hibernate-commits] Hibernate SVN: r15368 - in search/trunk/src/java/org/hibernate/search: backend and 13 other directories.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Wed Oct 22 06:12:18 EDT 2008
Author: hardy.ferentschik
Date: 2008-10-22 06:12:17 -0400 (Wed, 22 Oct 2008)
New Revision: 15368
Modified:
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/configuration/MaskedProperty.java
search/trunk/src/java/org/hibernate/search/backend/impl/jms/JMSBackendQueueProcessor.java
search/trunk/src/java/org/hibernate/search/backend/impl/lucene/PerDPQueueProcessor.java
search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/AddWorkDelegate.java
search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/DeleteWorkDelegate.java
search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/OptimizeWorkDelegate.java
search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/PurgeAllWorkDelegate.java
search/trunk/src/java/org/hibernate/search/engine/DocumentBuilder.java
search/trunk/src/java/org/hibernate/search/event/EventListenerRegister.java
search/trunk/src/java/org/hibernate/search/filter/CachingWrapperFilter.java
search/trunk/src/java/org/hibernate/search/impl/SearchFactoryImpl.java
search/trunk/src/java/org/hibernate/search/query/FullTextQueryImpl.java
search/trunk/src/java/org/hibernate/search/reader/SharedReaderProvider.java
search/trunk/src/java/org/hibernate/search/reader/SharingBufferReaderProvider.java
search/trunk/src/java/org/hibernate/search/store/FSDirectoryProvider.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/java/org/hibernate/search/util/FileHelper.java
Log:
Made loggers static. This is consistent with the way Hibernate Core uses loggers.
Modified: search/trunk/src/java/org/hibernate/search/Version.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/Version.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/Version.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -14,8 +14,9 @@
public class Version {
public static final String VERSION = "3.1.0.SNAPSHOT" + new Date();
+ private static final Logger log = LoggerFactory.make();
+
static {
- Logger log = LoggerFactory.make();
log.info( "Hibernate Search {}", VERSION );
}
Modified: search/trunk/src/java/org/hibernate/search/backend/LuceneIndexingParameters.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/LuceneIndexingParameters.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/backend/LuceneIndexingParameters.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -27,6 +27,7 @@
public class LuceneIndexingParameters implements Serializable {
private static final long serialVersionUID = 5424606407623591663L;
+ private static final Logger log = LoggerFactory.make();
// value keyword
public static final String EXPLICIT_DEFAULT_VALUE = "default";
@@ -45,14 +46,12 @@
Properties transactionProps = new MaskedProperty( indexingParameters, TRANSACTION );
//get keys for "batch" (defaulting to transaction)
Properties batchProps = new MaskedProperty( indexingParameters, BATCH, transactionProps ); //TODO to close HSEARCH-201 just remove 3° parameter
- //logger only used during object construction: (logger not serializable).
- Logger log = LoggerFactory.make();
- transactionIndexParameters = new ParameterSet( transactionProps, TRANSACTION, log );
- batchIndexParameters = new ParameterSet( batchProps, BATCH, log );
- doSanityChecks( transactionIndexParameters, batchIndexParameters, log );
+ transactionIndexParameters = new ParameterSet( transactionProps, TRANSACTION);
+ batchIndexParameters = new ParameterSet( batchProps, BATCH);
+ doSanityChecks( transactionIndexParameters, batchIndexParameters);
}
- private void doSanityChecks(ParameterSet transParams, ParameterSet batchParams, Logger log) {
+ private void doSanityChecks(ParameterSet transParams, ParameterSet batchParams) {
if ( log.isWarnEnabled() ) {
Integer maxFieldLengthTransaction = transParams.parameters.get( MAX_FIELD_LENGTH );
Integer maxFieldLengthBatch = transParams.parameters.get( MAX_FIELD_LENGTH );
@@ -83,7 +82,7 @@
final Map<IndexWriterSetting, Integer> parameters = new EnumMap<IndexWriterSetting, Integer>(IndexWriterSetting.class);
- public ParameterSet(Properties prop, String paramName, Logger log) {
+ public ParameterSet(Properties prop, String paramName) {
//don't iterate on property entries as we know all the keys:
for ( IndexWriterSetting t : IndexWriterSetting.values() ) {
String key = t.getKey();
Modified: search/trunk/src/java/org/hibernate/search/backend/Workspace.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/Workspace.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/backend/Workspace.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -40,7 +40,7 @@
//TODO renaming to "DirectoryWorkspace" would be nice.
public class Workspace {
- private final Logger log = LoggerFactory.make();
+ private static final Logger log = LoggerFactory.make();
private static final Analyzer SIMPLE_ANALYZER = new SimpleAnalyzer();
// invariant state:
@@ -256,7 +256,7 @@
}
}
- private final void assertOwnLock() {
+ private void assertOwnLock() {
if ( ! lock.isHeldByCurrentThread() )
throw new AssertionFailure( "Not owning DirectoryProvider Lock" );
}
Modified: search/trunk/src/java/org/hibernate/search/backend/configuration/MaskedProperty.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/configuration/MaskedProperty.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/backend/configuration/MaskedProperty.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -38,8 +38,8 @@
public class MaskedProperty extends Properties implements Serializable {
private static final long serialVersionUID = -593307257383085113L;
-
- private transient Logger log = LoggerFactory.make();
+ private static final Logger log = LoggerFactory.make();
+
private final Properties masked;
private final Properties fallBack;
private final String radix;
@@ -373,15 +373,4 @@
return false;
return true;
}
-
- private void readObject(ObjectInputStream aInputStream) throws ClassNotFoundException, IOException {
- //always perform the default de-serialization first
- aInputStream.defaultReadObject();
- log = LoggerFactory.make();
- }
-
- private void writeObject(ObjectOutputStream aOutputStream) throws IOException {
- aOutputStream.defaultWriteObject();
- }
-
}
Modified: search/trunk/src/java/org/hibernate/search/backend/impl/jms/JMSBackendQueueProcessor.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/impl/jms/JMSBackendQueueProcessor.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/backend/impl/jms/JMSBackendQueueProcessor.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -21,9 +21,10 @@
* @author Emmanuel Bernard
*/
public class JMSBackendQueueProcessor implements Runnable {
+ private static final Logger log = LoggerFactory.make();
+
private List<LuceneWork> queue;
private JMSBackendQueueProcessorFactory factory;
- private Logger log = LoggerFactory.make();
public JMSBackendQueueProcessor(List<LuceneWork> queue,
JMSBackendQueueProcessorFactory jmsBackendQueueProcessorFactory) {
Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/PerDPQueueProcessor.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/PerDPQueueProcessor.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/PerDPQueueProcessor.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -18,7 +18,7 @@
*/
class PerDPQueueProcessor {
- private final Logger log = LoggerFactory.make();
+ private static final Logger log = LoggerFactory.make();
private final Workspace workspace;
private final LuceneWorkVisitor worker;
private final List<LuceneWork> workOnWriter = new ArrayList<LuceneWork>();
Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/AddWorkDelegate.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/AddWorkDelegate.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/AddWorkDelegate.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -27,8 +27,9 @@
*/
class AddWorkDelegate implements LuceneWorkDelegate {
+ private static final Logger log = LoggerFactory.make();
+
private final Workspace workspace;
- private final Logger log = LoggerFactory.make();
AddWorkDelegate(Workspace workspace) {
this.workspace = workspace;
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 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/DeleteWorkDelegate.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -30,8 +30,8 @@
*/
class DeleteWorkDelegate implements LuceneWorkDelegate {
+ private static final Logger log = LoggerFactory.make();
private final Workspace workspace;
- private final Logger log = LoggerFactory.make();
DeleteWorkDelegate(Workspace workspace) {
this.workspace = workspace;
Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/OptimizeWorkDelegate.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/OptimizeWorkDelegate.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/OptimizeWorkDelegate.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -13,18 +13,20 @@
import org.hibernate.search.util.LoggerFactory;
/**
-* Stateless implementation that performs a OptimizeLuceneWork.
-* @see LuceneWorkVisitor
-* @see LuceneWorkDelegate
-* @author Emmanuel Bernard
-* @author Hardy Ferentschik
-* @author John Griffin
-* @author Sanne Grinovero
-*/
+ * Stateless implementation that performs a OptimizeLuceneWork.
+ *
+ * @author Emmanuel Bernard
+ * @author Hardy Ferentschik
+ * @author John Griffin
+ * @author Sanne Grinovero
+ * @see LuceneWorkVisitor
+ * @see LuceneWorkDelegate
+ */
class OptimizeWorkDelegate implements LuceneWorkDelegate {
-
+
+ private static final Logger log = LoggerFactory.make();
+
private final Workspace workspace;
- private final Logger log = LoggerFactory.make();
OptimizeWorkDelegate(Workspace workspace) {
this.workspace = workspace;
@@ -40,7 +42,7 @@
writer.optimize();
workspace.optimize();
}
- catch (IOException e) {
+ catch ( IOException e ) {
throw new SearchException( "Unable to optimize Lucene index: " + work.getEntityClass(), e );
}
}
@@ -48,5 +50,5 @@
public void performWork(LuceneWork work, IndexReader reader) {
throw new UnsupportedOperationException();
}
-
+
}
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 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/PurgeAllWorkDelegate.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -22,7 +22,7 @@
*/
class PurgeAllWorkDelegate implements LuceneWorkDelegate {
- private final Logger log = LoggerFactory.make();
+ private static final Logger log = LoggerFactory.make();
PurgeAllWorkDelegate() {
}
Modified: search/trunk/src/java/org/hibernate/search/engine/DocumentBuilder.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/engine/DocumentBuilder.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/engine/DocumentBuilder.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -324,7 +324,7 @@
}
maxLevel = potentialLevel > maxLevel ? maxLevel : potentialLevel;
level++;
-
+
XClass elementClass;
if ( void.class == embeddedAnn.targetElement() ) {
elementClass = member.getElementClass();
Modified: search/trunk/src/java/org/hibernate/search/event/EventListenerRegister.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/event/EventListenerRegister.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/event/EventListenerRegister.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -3,6 +3,8 @@
import java.util.Properties;
+import org.slf4j.Logger;
+
import org.hibernate.event.EventListeners;
import org.hibernate.event.PostCollectionRecreateEventListener;
import org.hibernate.event.PostCollectionRemoveEventListener;
@@ -16,89 +18,101 @@
/**
* Helper methods initializing Hibernate Search event listeners.
- *
+ *
* @author Emmanuel Bernard
* @author Hardy Ferentschik
* @author Sanne Grinovero
*/
public class EventListenerRegister {
+ private static final Logger log = LoggerFactory.make();
+
/**
* Add the FullTextIndexEventListener to all listeners, if enabled in configuration
* and if not already registered.
+ *
* @param listeners
* @param properties the Search configuration
*/
- public static void enableHibernateSearch(EventListeners listeners, Properties properties) {
+ public static void enableHibernateSearch(EventListeners listeners, Properties properties) {
// check whether search is explicitly disabled - if so there is nothing to do
String enableSearchListeners = properties.getProperty( Environment.AUTOREGISTER_LISTENERS );
if ( "false".equalsIgnoreCase( enableSearchListeners ) ) {
- LoggerFactory.make().info(
+ log.info(
"Property hibernate.search.autoregister_listeners is set to false." +
- " No attempt will be made to register Hibernate Search event listeners." );
+ " No attempt will be made to register Hibernate Search event listeners."
+ );
return;
}
final FullTextIndexEventListener searchListener = new FullTextIndexEventListener();
// PostInsertEventListener
listeners.setPostInsertEventListeners(
- addIfNeeded(
- listeners.getPostInsertEventListeners(),
- searchListener,
- new PostInsertEventListener[] { searchListener } )
- );
+ addIfNeeded(
+ listeners.getPostInsertEventListeners(),
+ searchListener,
+ new PostInsertEventListener[] { searchListener }
+ )
+ );
// PostUpdateEventListener
listeners.setPostUpdateEventListeners(
- addIfNeeded(
- listeners.getPostUpdateEventListeners(),
- searchListener,
- new PostUpdateEventListener[] { searchListener } )
- );
+ addIfNeeded(
+ listeners.getPostUpdateEventListeners(),
+ searchListener,
+ new PostUpdateEventListener[] { searchListener }
+ )
+ );
// PostDeleteEventListener
listeners.setPostDeleteEventListeners(
- addIfNeeded(
- listeners.getPostDeleteEventListeners(),
- searchListener,
- new PostDeleteEventListener[] { searchListener } )
- );
-
+ addIfNeeded(
+ listeners.getPostDeleteEventListeners(),
+ searchListener,
+ new PostDeleteEventListener[] { searchListener }
+ )
+ );
+
// PostCollectionRecreateEventListener
listeners.setPostCollectionRecreateEventListeners(
- addIfNeeded(
- listeners.getPostCollectionRecreateEventListeners(),
- searchListener,
- new PostCollectionRecreateEventListener[] { searchListener } )
- );
+ addIfNeeded(
+ listeners.getPostCollectionRecreateEventListeners(),
+ searchListener,
+ new PostCollectionRecreateEventListener[] { searchListener }
+ )
+ );
// PostCollectionRemoveEventListener
listeners.setPostCollectionRemoveEventListeners(
- addIfNeeded(
- listeners.getPostCollectionRemoveEventListeners(),
- searchListener,
- new PostCollectionRemoveEventListener[] { searchListener } )
- );
+ addIfNeeded(
+ listeners.getPostCollectionRemoveEventListeners(),
+ searchListener,
+ new PostCollectionRemoveEventListener[] { searchListener }
+ )
+ );
// PostCollectionUpdateEventListener
listeners.setPostCollectionUpdateEventListeners(
- addIfNeeded(
- listeners.getPostCollectionUpdateEventListeners(),
- searchListener,
- new PostCollectionUpdateEventListener[] { searchListener } )
- );
-
+ addIfNeeded(
+ listeners.getPostCollectionUpdateEventListeners(),
+ searchListener,
+ new PostCollectionUpdateEventListener[] { searchListener }
+ )
+ );
+
}
/**
* Verifies if a Search listener is already present; if not it will return
* a grown address adding the listener to it.
+ *
* @param <T> the type of listeners
* @param listeners
* @param searchEventListener
* @param toUseOnNull this is returned if listeners==null
+ *
* @return
*/
private static <T> T[] addIfNeeded(T[] listeners, T searchEventListener, T[] toUseOnNull) {
if ( listeners == null ) {
return toUseOnNull;
}
- else if ( ! isPresentInListeners( listeners ) ) {
+ else if ( !isPresentInListeners( listeners ) ) {
return appendToArray( listeners, searchEventListener );
}
else {
@@ -108,29 +122,34 @@
/**
* Will add one element to the end of an array.
+ *
* @param <T> The array type
* @param listeners The original array
* @param newElement The element to be added
+ *
* @return A new array containing all listeners and newElement.
*/
@SuppressWarnings("unchecked")
private static <T> T[] appendToArray(T[] listeners, T newElement) {
int length = listeners.length;
- T[] ret = (T[])java.lang.reflect.Array.newInstance(
- listeners.getClass().getComponentType(), length + 1 );
+ T[] ret = ( T[] ) java.lang.reflect.Array.newInstance(
+ listeners.getClass().getComponentType(), length + 1
+ );
System.arraycopy( listeners, 0, ret, 0, length );
ret[length] = newElement;
return ret;
}
-
+
/**
* Verifies if a FullTextIndexEventListener is contained in the array.
+ *
* @param listeners
+ *
* @return true if it is contained in.
*/
@SuppressWarnings("deprecation")
private static boolean isPresentInListeners(Object[] listeners) {
- for (Object eventListener : listeners) {
+ for ( Object eventListener : listeners ) {
if ( FullTextIndexEventListener.class == eventListener.getClass() ) {
return true;
}
@@ -140,5 +159,4 @@
}
return false;
}
-
}
Modified: search/trunk/src/java/org/hibernate/search/filter/CachingWrapperFilter.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/filter/CachingWrapperFilter.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/filter/CachingWrapperFilter.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -23,7 +23,7 @@
@SuppressWarnings("serial")
public class CachingWrapperFilter extends Filter {
- private final Logger log = LoggerFactory.make();
+ private static final Logger log = LoggerFactory.make();
public static final int DEFAULT_SIZE = 5;
Modified: search/trunk/src/java/org/hibernate/search/impl/SearchFactoryImpl.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/impl/SearchFactoryImpl.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/impl/SearchFactoryImpl.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -63,7 +63,7 @@
Version.touch();
}
- private final Logger log = LoggerFactory.make();
+ private static final Logger log = LoggerFactory.make();
private final Map<Class, DocumentBuilder<Object>> documentBuilders = new HashMap<Class, DocumentBuilder<Object>>();
//keep track of the index modifiers per DirectoryProvider since multiple entity can use the same directory provider
Modified: search/trunk/src/java/org/hibernate/search/query/FullTextQueryImpl.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/query/FullTextQueryImpl.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/query/FullTextQueryImpl.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -70,7 +70,7 @@
*/
//TODO implements setParameter()
public class FullTextQueryImpl extends AbstractQueryImpl implements FullTextQuery {
- private final Logger log = LoggerFactory.make();
+ private static final Logger log = LoggerFactory.make();
private final org.apache.lucene.search.Query luceneQuery;
private Class[] classes;
private Set<Class> classesAndSubclasses;
Modified: search/trunk/src/java/org/hibernate/search/reader/SharedReaderProvider.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/reader/SharedReaderProvider.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/reader/SharedReaderProvider.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -12,14 +12,15 @@
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiReader;
+import org.slf4j.Logger;
+
import org.hibernate.annotations.common.AssertionFailure;
import org.hibernate.search.SearchException;
-import org.hibernate.search.util.LoggerFactory;
import org.hibernate.search.engine.SearchFactoryImplementor;
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.hibernate.search.util.LoggerFactory;
/**
* Share readers per SearchFactory, reusing them iff they are still valid.
@@ -27,7 +28,8 @@
* @author Emmanuel Bernard
*/
public class SharedReaderProvider implements ReaderProvider {
- private final Logger log = LoggerFactory.make();
+ private static final Logger log = LoggerFactory.make();
+
/**
* nonfair lock. Need to be acquired on indexReader acquisition or release (semaphore)
*/
@@ -56,13 +58,17 @@
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++) {
+ 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() );
+ 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 );
@@ -71,8 +77,9 @@
directoryProviderLock.unlock();
}
if ( reader == null ) {
- if ( trace )
+ if ( trace ) {
log.trace( "No shared IndexReader, opening a new one: {}", directoryProvider.getDirectory() );
+ }
reader = replaceActiveReader( null, directoryProviderLock, directoryProvider, readers );
}
else {
@@ -80,20 +87,23 @@
try {
isCurrent = reader.isCurrent();
}
- catch (IOException e) {
+ catch ( IOException e ) {
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() );
+ 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 )
+ if ( trace ) {
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
@@ -105,7 +115,9 @@
//TODO if readerData is null????
readerData.semaphore++;
searchIndexReaderSemaphores.put( reader, readerData ); //not necessary
- if ( trace ) log.trace( "Semaphore increased: {} for {}", readerData.semaphore, reader );
+ if ( trace ) {
+ log.trace( "Semaphore increased: {} for {}", readerData.semaphore, reader );
+ }
}
finally {
semaphoreIndexReaderLock.unlock();
@@ -121,7 +133,7 @@
return buildMultiReader( length, readers );
}
- @SuppressWarnings( { "ThrowableInstanceNeverThrown" } )
+ @SuppressWarnings({ "ThrowableInstanceNeverThrown" })
private IndexReader replaceActiveReader(IndexReader outOfDateReader, Lock directoryProviderLock, DirectoryProvider directoryProvider, IndexReader[] readers) {
boolean trace = log.isTraceEnabled();
IndexReader oldReader;
@@ -135,7 +147,7 @@
try {
reader = IndexReader.open( directoryProvider.getDirectory() );
}
- catch (IOException e) {
+ catch ( IOException e ) {
throw new SearchException( "Unable to open Lucene IndexReader", e );
}
directoryProviderLock.lock();
@@ -145,7 +157,9 @@
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 ) {
@@ -183,20 +197,24 @@
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();
}
- catch (IOException e) {
+ catch ( IOException e ) {
clean( new SearchException( "Unable to close Lucene IndexReader", e ), readers );
}
}
if ( closeOldReader ) {
- if ( trace ) log.trace( "Closing old IndexReader {}", oldReader );
+ if ( trace ) {
+ log.trace( "Closing old IndexReader {}", oldReader );
+ }
try {
oldReader.close();
}
- catch (IOException e) {
+ catch ( IOException e ) {
clean( new SearchException( "Unable to close Lucene IndexReader", e ), readers );
}
}
@@ -205,18 +223,22 @@
public void closeReader(IndexReader reader) {
boolean trace = log.isTraceEnabled();
- if ( reader == null ) return;
+ if ( reader == null ) {
+ return;
+ }
IndexReader[] readers;
//TODO should it be CacheableMultiReader? Probably no
if ( reader instanceof MultiReader ) {
- readers = ReaderProviderHelper.getSubReadersFromMultiReader( (MultiReader) reader );
- if ( trace ) log.trace( "Closing MultiReader: {}", reader );
+ readers = ReaderProviderHelper.getSubReadersFromMultiReader( ( MultiReader ) reader );
+ if ( trace ) {
+ log.trace( "Closing MultiReader: {}", reader );
+ }
}
else {
throw new AssertionFailure( "Everything should be wrapped in a MultiReader" );
}
- for (IndexReader subReader : readers) {
+ for ( IndexReader subReader : readers ) {
closeInternalReader( trace, subReader, false );
}
}
@@ -245,7 +267,9 @@
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 );
@@ -256,13 +280,16 @@
}
//final close, the semaphore should be at 0 already
- if (!finalClose) {
+ if ( !finalClose ) {
readerData.semaphore--;
- if ( trace ) log.trace( "Semaphore decreased to: {} for {}", readerData.semaphore, subReader );
+ if ( trace ) {
+ log.trace( "Semaphore decreased to: {} for {}", readerData.semaphore, subReader );
+ }
}
- if ( readerData.semaphore < 0 )
+ if ( readerData.semaphore < 0 ) {
log.error( "Semaphore negative: {}", subReader.directory() );
+ }
if ( ( !isActive ) && readerData.semaphore == 0 ) {
searchIndexReaderSemaphores.remove( subReader );
closeReader = true;
@@ -280,11 +307,13 @@
}
if ( closeReader ) {
- if ( trace ) log.trace( "Closing IndexReader: {}", subReader );
+ if ( trace ) {
+ log.trace( "Closing IndexReader: {}", subReader );
+ }
try {
subReader.close();
}
- catch ( IOException e) {
+ catch ( IOException e ) {
log.warn( "Unable to close Lucene IndexReader", e );
}
}
@@ -293,7 +322,7 @@
public void initialize(Properties props, SearchFactoryImplementor searchFactoryImplementor) {
Set<DirectoryProvider> providers = searchFactoryImplementor.getDirectoryProviders();
perDirectoryProviderManipulationLocks = new HashMap<DirectoryProvider, Lock>( providers.size() );
- for (DirectoryProvider dp : providers) {
+ for ( DirectoryProvider dp : providers ) {
perDirectoryProviderManipulationLocks.put( dp, new ReentrantLock() );
}
perDirectoryProviderManipulationLocks = Collections.unmodifiableMap( perDirectoryProviderManipulationLocks );
@@ -306,13 +335,14 @@
try {
//release active readers
activeSearchIndexReaders.clear();
- readers = searchIndexReaderSemaphores.keySet().toArray( new IndexReader[searchIndexReaderSemaphores.size()] );
+ readers = searchIndexReaderSemaphores.keySet()
+ .toArray( new IndexReader[searchIndexReaderSemaphores.size()] );
}
finally {
semaphoreIndexReaderLock.unlock();
}
- for (IndexReader reader : readers) {
+ for ( IndexReader reader : readers ) {
closeInternalReader( trace, reader, true );
}
Modified: search/trunk/src/java/org/hibernate/search/reader/SharingBufferReaderProvider.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/reader/SharingBufferReaderProvider.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/reader/SharingBufferReaderProvider.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -32,7 +32,9 @@
* @author Sanne Grinovero
*/
public class SharingBufferReaderProvider implements ReaderProvider {
-
+
+ private static final Logger log = LoggerFactory.make();
+
/**
* contains all Readers (most current per DP and all unclosed old)
*/
@@ -43,8 +45,6 @@
* contains last updated Reader; protected by lockOnOpenLatest (in the values)
*/
protected Map<DirectoryProvider,PerDirectoryLatestReader> currentReaders;
-
- private final Logger log = LoggerFactory.make();
public void closeReader(IndexReader multiReader) {
if ( multiReader == null ) return;
Modified: search/trunk/src/java/org/hibernate/search/store/FSDirectoryProvider.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/store/FSDirectoryProvider.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/store/FSDirectoryProvider.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -23,7 +23,7 @@
*/
public class FSDirectoryProvider implements DirectoryProvider<FSDirectory> {
- private final Logger log = LoggerFactory.make();
+ private static final Logger log = LoggerFactory.make();
private FSDirectory directory;
private String indexName;
Modified: search/trunk/src/java/org/hibernate/search/store/FSMasterDirectoryProvider.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/store/FSMasterDirectoryProvider.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/store/FSMasterDirectoryProvider.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -33,7 +33,7 @@
//TODO rename copy?
public class FSMasterDirectoryProvider implements DirectoryProvider<FSDirectory> {
- private final Logger log = LoggerFactory.make();
+ private static final Logger log = LoggerFactory.make();
private final Timer timer = new Timer( true ); //daemon thread, the copy algorithm is robust
private volatile int current;
Modified: search/trunk/src/java/org/hibernate/search/store/FSSlaveDirectoryProvider.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/store/FSSlaveDirectoryProvider.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/store/FSSlaveDirectoryProvider.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -33,7 +33,7 @@
*/
public class FSSlaveDirectoryProvider implements DirectoryProvider<FSDirectory> {
- private final Logger log = LoggerFactory.make();
+ private static final Logger log = LoggerFactory.make();
private final Timer timer = new Timer( true ); //daemon thread, the copy algorithm is robust
private volatile int current; //used also as memory barrier of all other values, which are set once.
Modified: search/trunk/src/java/org/hibernate/search/store/optimization/IncrementalOptimizerStrategy.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/store/optimization/IncrementalOptimizerStrategy.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/store/optimization/IncrementalOptimizerStrategy.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -20,12 +20,14 @@
* @author Emmanuel Bernard
*/
public class IncrementalOptimizerStrategy implements OptimizerStrategy {
+
+ private static final Logger log = LoggerFactory.make();
+
private int operationMax = -1;
private int transactionMax = -1;
private long operations = 0;
private long transactions = 0;
private DirectoryProvider directoryProvider;
- private final Logger log = LoggerFactory.make();
public void initialize(DirectoryProvider directoryProvider, Properties indexProperties, SearchFactoryImplementor searchFactoryImplementor) {
this.directoryProvider = directoryProvider;
Modified: search/trunk/src/java/org/hibernate/search/util/FileHelper.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/util/FileHelper.java 2008-10-21 19:11:13 UTC (rev 15367)
+++ search/trunk/src/java/org/hibernate/search/util/FileHelper.java 2008-10-22 10:12:17 UTC (rev 15368)
@@ -17,10 +17,11 @@
* @author Sanne Grinovero
*/
public abstract class FileHelper {
-
+
+ private static final Logger log = LoggerFactory.make();
private static final int FAT_PRECISION = 2000;
public static final long DEFAULT_COPY_BUFFER_SIZE = 16 * 1024 * 1024; // 16 MB
- private static final Logger log = LoggerFactory.make();
+
public static void synchronize(File source, File destination, boolean smart) throws IOException {
synchronize( source, destination, smart, DEFAULT_COPY_BUFFER_SIZE );
More information about the hibernate-commits
mailing list