[hibernate-commits] Hibernate SVN: r12858 - in trunk/HibernateExt/search/src: java/org/hibernate/search/engine and 2 other directories.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Mon Jul 30 21:27:24 EDT 2007
Author: epbernard
Date: 2007-07-30 21:27:24 -0400 (Mon, 30 Jul 2007)
New Revision: 12858
Added:
trunk/HibernateExt/search/src/java/org/hibernate/search/store/IndexShardingStrategy.java
Removed:
trunk/HibernateExt/search/src/java/org/hibernate/search/store/DirectoryProviderShardingStrategy.java
Modified:
trunk/HibernateExt/search/src/java/org/hibernate/search/backend/impl/lucene/LuceneBackendQueueProcessor.java
trunk/HibernateExt/search/src/java/org/hibernate/search/engine/DocumentBuilder.java
trunk/HibernateExt/search/src/java/org/hibernate/search/store/DirectoryProviderFactory.java
trunk/HibernateExt/search/src/java/org/hibernate/search/store/IdHashShardingStrategy.java
trunk/HibernateExt/search/src/java/org/hibernate/search/store/NotShardedStrategy.java
trunk/HibernateExt/search/src/test/org/hibernate/search/test/shards/ShardsTest.java
Log:
HSEARCH-86 Rename ShardingStrategy change _<index> for .<index>
Modified: trunk/HibernateExt/search/src/java/org/hibernate/search/backend/impl/lucene/LuceneBackendQueueProcessor.java
===================================================================
--- trunk/HibernateExt/search/src/java/org/hibernate/search/backend/impl/lucene/LuceneBackendQueueProcessor.java 2007-07-31 00:46:10 UTC (rev 12857)
+++ trunk/HibernateExt/search/src/java/org/hibernate/search/backend/impl/lucene/LuceneBackendQueueProcessor.java 2007-07-31 01:27:24 UTC (rev 12858)
@@ -16,7 +16,7 @@
import org.hibernate.search.engine.SearchFactoryImplementor;
import org.hibernate.search.engine.DocumentBuilder;
import org.hibernate.search.store.DirectoryProvider;
-import org.hibernate.search.store.DirectoryProviderShardingStrategy;
+import org.hibernate.search.store.IndexShardingStrategy;
import org.hibernate.annotations.common.AssertionFailure;
/**
@@ -49,7 +49,7 @@
List<LuceneWorker.WorkWithPayload> queueWithFlatDPs = new ArrayList<LuceneWorker.WorkWithPayload>( queue.size()*2 );
for ( LuceneWork work : queue ) {
DocumentBuilder documentBuilder = searchFactoryImplementor.getDocumentBuilders().get( work.getEntityClass() );
- DirectoryProviderShardingStrategy shardingStrategy = documentBuilder.getDirectoryProviderSelectionStrategy();
+ IndexShardingStrategy shardingStrategy = documentBuilder.getDirectoryProviderSelectionStrategy();
if ( AddLuceneWork.class.isAssignableFrom( work.getClass() ) ) {
DirectoryProvider provider = shardingStrategy.getDirectoryProviderForAddition(
Modified: trunk/HibernateExt/search/src/java/org/hibernate/search/engine/DocumentBuilder.java
===================================================================
--- trunk/HibernateExt/search/src/java/org/hibernate/search/engine/DocumentBuilder.java 2007-07-31 00:46:10 UTC (rev 12857)
+++ trunk/HibernateExt/search/src/java/org/hibernate/search/engine/DocumentBuilder.java 2007-07-31 01:27:24 UTC (rev 12858)
@@ -44,7 +44,7 @@
import org.hibernate.search.bridge.FieldBridge;
import org.hibernate.search.bridge.TwoWayFieldBridge;
import org.hibernate.search.store.DirectoryProvider;
-import org.hibernate.search.store.DirectoryProviderShardingStrategy;
+import org.hibernate.search.store.IndexShardingStrategy;
import org.hibernate.search.util.BinderHelper;
import org.hibernate.search.util.ScopedAnalyzer;
@@ -63,7 +63,7 @@
private final PropertiesMetadata rootPropertiesMetadata;
private final XClass beanClass;
private final DirectoryProvider[] directoryProviders;
- private final DirectoryProviderShardingStrategy shardingStrategy;
+ private final IndexShardingStrategy shardingStrategy;
private String idKeywordName;
private XMember idGetter;
private Float idBoost;
@@ -77,7 +77,7 @@
public DocumentBuilder(XClass clazz, Analyzer defaultAnalyzer, DirectoryProvider[] directoryProviders,
- DirectoryProviderShardingStrategy shardingStrategy, ReflectionManager reflectionManager) {
+ IndexShardingStrategy shardingStrategy, ReflectionManager reflectionManager) {
this.analyzer = new ScopedAnalyzer();
this.beanClass = clazz;
this.directoryProviders = directoryProviders;
@@ -586,7 +586,7 @@
return directoryProviders;
}
- public DirectoryProviderShardingStrategy getDirectoryProviderSelectionStrategy() {
+ public IndexShardingStrategy getDirectoryProviderSelectionStrategy() {
return shardingStrategy;
}
Modified: trunk/HibernateExt/search/src/java/org/hibernate/search/store/DirectoryProviderFactory.java
===================================================================
--- trunk/HibernateExt/search/src/java/org/hibernate/search/store/DirectoryProviderFactory.java 2007-07-31 00:46:10 UTC (rev 12857)
+++ trunk/HibernateExt/search/src/java/org/hibernate/search/store/DirectoryProviderFactory.java 2007-07-31 01:27:24 UTC (rev 12858)
@@ -5,7 +5,6 @@
import java.util.List;
import java.util.Map;
import java.util.Properties;
-import java.util.Set;
import java.util.concurrent.locks.ReentrantLock;
import org.hibernate.HibernateException;
@@ -72,13 +71,13 @@
DirectoryProvider[] providers = new DirectoryProvider[nbrOfProviders];
for (int index = 0 ; index < nbrOfProviders ; index++) {
String providerName = nbrOfProviders > 1 ?
- directoryProviderName + "_" + index :
+ directoryProviderName + "." + index :
directoryProviderName;
providers[index] = createDirectoryProvider( providerName,indexProps[index], searchFactoryImplementor);
}
//define sharding strategy
- DirectoryProviderShardingStrategy shardingStrategy;
+ IndexShardingStrategy shardingStrategy;
Properties shardingProperties = new Properties();
for (Map.Entry entry : indexProps[0].entrySet()) {
if ( ( (String) entry.getKey() ).startsWith( SHARDING_STRATEGY ) ) {
@@ -97,7 +96,7 @@
else {
try {
Class shardigStrategyClass = ReflectHelper.classForName( shardingStrategyName, this.getClass() );
- shardingStrategy = (DirectoryProviderShardingStrategy) shardigStrategyClass.newInstance();
+ shardingStrategy = (IndexShardingStrategy) shardigStrategyClass.newInstance();
}
catch (ClassNotFoundException e) {
throw new SearchException("Unable to find ShardingStrategy class " + shardingStrategyName + " for " + directoryProviderName, e);
@@ -115,7 +114,7 @@
+ shardingStrategyName, e);
}
}
- shardingStrategy.init( shardingProperties, providers );
+ shardingStrategy.initialize( shardingProperties, providers );
return new DirectoryProviders( shardingStrategy, providers );
}
@@ -371,17 +370,17 @@
}
public class DirectoryProviders {
- private DirectoryProviderShardingStrategy shardingStrategy;
+ private IndexShardingStrategy shardingStrategy;
private DirectoryProvider[] providers;
- public DirectoryProviders(DirectoryProviderShardingStrategy shardingStrategy, DirectoryProvider[] providers) {
+ public DirectoryProviders(IndexShardingStrategy shardingStrategy, DirectoryProvider[] providers) {
this.shardingStrategy = shardingStrategy;
this.providers = providers;
}
- public DirectoryProviderShardingStrategy getSelectionStrategy() {
+ public IndexShardingStrategy getSelectionStrategy() {
return shardingStrategy;
}
Deleted: trunk/HibernateExt/search/src/java/org/hibernate/search/store/DirectoryProviderShardingStrategy.java
===================================================================
--- trunk/HibernateExt/search/src/java/org/hibernate/search/store/DirectoryProviderShardingStrategy.java 2007-07-31 00:46:10 UTC (rev 12857)
+++ trunk/HibernateExt/search/src/java/org/hibernate/search/store/DirectoryProviderShardingStrategy.java 2007-07-31 01:27:24 UTC (rev 12858)
@@ -1,17 +0,0 @@
-//$Id$
-package org.hibernate.search.store;
-
-import java.io.Serializable;
-import java.util.Properties;
-
-import org.apache.lucene.document.Document;
-
-/**
- * @author Emmanuel Bernard
- */
-public interface DirectoryProviderShardingStrategy {
- void init(Properties properties, DirectoryProvider[] providers);
- DirectoryProvider[] getDirectoryProvidersForAllShards();
- DirectoryProvider getDirectoryProviderForAddition(Class entity, Serializable id, String idInString, Document document);
- DirectoryProvider[] getDirectoryProvidersForDeletion(Class entity, Serializable id, String idInString);
-}
Modified: trunk/HibernateExt/search/src/java/org/hibernate/search/store/IdHashShardingStrategy.java
===================================================================
--- trunk/HibernateExt/search/src/java/org/hibernate/search/store/IdHashShardingStrategy.java 2007-07-31 00:46:10 UTC (rev 12857)
+++ trunk/HibernateExt/search/src/java/org/hibernate/search/store/IdHashShardingStrategy.java 2007-07-31 01:27:24 UTC (rev 12858)
@@ -11,9 +11,9 @@
*
* @author Emmanuel Bernard
*/
-public class IdHashShardingStrategy implements DirectoryProviderShardingStrategy {
+public class IdHashShardingStrategy implements IndexShardingStrategy {
private DirectoryProvider[] providers;
- public void init(Properties properties, DirectoryProvider[] providers) {
+ public void initialize(Properties properties, DirectoryProvider[] providers) {
this.providers = providers;
}
Copied: trunk/HibernateExt/search/src/java/org/hibernate/search/store/IndexShardingStrategy.java (from rev 12845, trunk/HibernateExt/search/src/java/org/hibernate/search/store/DirectoryProviderShardingStrategy.java)
===================================================================
--- trunk/HibernateExt/search/src/java/org/hibernate/search/store/IndexShardingStrategy.java (rev 0)
+++ trunk/HibernateExt/search/src/java/org/hibernate/search/store/IndexShardingStrategy.java 2007-07-31 01:27:24 UTC (rev 12858)
@@ -0,0 +1,34 @@
+//$Id$
+package org.hibernate.search.store;
+
+import java.io.Serializable;
+import java.util.Properties;
+
+import org.apache.lucene.document.Document;
+
+/**
+ * Defines how a given virtual index shards data into different DirectoryProviders
+ *
+ * @author Emmanuel Bernard
+ */
+public interface IndexShardingStrategy {
+ /**
+ * provides access to sharding properties (under the suffix sharding_strategy)
+ * and provide access to all the DirectoryProviders for a given index
+ */
+ void initialize(Properties properties, DirectoryProvider[] providers);
+
+ /**
+ * Ask for all shards (eg to query or optimize)
+ */
+ DirectoryProvider[] getDirectoryProvidersForAllShards();
+
+ /**
+ * return the DirectoryProvider where the given entity will be indexed
+ */
+ DirectoryProvider getDirectoryProviderForAddition(Class entity, Serializable id, String idInString, Document document);
+ /**
+ * return the DirectoryProvider(s) where the given entity is stored and where the deletion operation needs to be applied
+ */
+ DirectoryProvider[] getDirectoryProvidersForDeletion(Class entity, Serializable id, String idInString);
+}
Modified: trunk/HibernateExt/search/src/java/org/hibernate/search/store/NotShardedStrategy.java
===================================================================
--- trunk/HibernateExt/search/src/java/org/hibernate/search/store/NotShardedStrategy.java 2007-07-31 00:46:10 UTC (rev 12857)
+++ trunk/HibernateExt/search/src/java/org/hibernate/search/store/NotShardedStrategy.java 2007-07-31 01:27:24 UTC (rev 12858)
@@ -10,9 +10,9 @@
/**
* @author Emmanuel Bernard
*/
-public class NotShardedStrategy implements DirectoryProviderShardingStrategy {
+public class NotShardedStrategy implements IndexShardingStrategy {
private DirectoryProvider[] directoryProvider;
- public void init(Properties properties, DirectoryProvider[] providers) {
+ public void initialize(Properties properties, DirectoryProvider[] providers) {
this.directoryProvider = providers;
if ( directoryProvider.length > 1) {
throw new AssertionFailure("Using SingleDirectoryProviderSelectionStrategy with multiple DirectryProviders");
Modified: trunk/HibernateExt/search/src/test/org/hibernate/search/test/shards/ShardsTest.java
===================================================================
--- trunk/HibernateExt/search/src/test/org/hibernate/search/test/shards/ShardsTest.java 2007-07-31 00:46:10 UTC (rev 12857)
+++ trunk/HibernateExt/search/src/test/org/hibernate/search/test/shards/ShardsTest.java 2007-07-31 01:27:24 UTC (rev 12858)
@@ -2,7 +2,6 @@
package org.hibernate.search.test.shards;
import java.io.File;
-import java.util.Properties;
import java.util.List;
import org.hibernate.search.test.SearchTestCase;
@@ -43,7 +42,7 @@
public void testIdShardingStrategy() {
DirectoryProvider[] dps = new DirectoryProvider[] { new RAMDirectoryProvider(), new RAMDirectoryProvider() };
IdHashShardingStrategy shardingStrategy = new IdHashShardingStrategy();
- shardingStrategy.init( null, dps);
+ shardingStrategy.initialize( null, dps);
assertTrue( dps[1] == shardingStrategy.getDirectoryProviderForAddition( Animal.class, 1, "1", null) );
assertTrue( dps[0] == shardingStrategy.getDirectoryProviderForAddition( Animal.class, 2, "2", null) );
}
@@ -112,7 +111,7 @@
finally {
reader.close();
}
- reader = IndexReader.open( new File( getBaseIndexDir(), "Animal_1" ) );
+ reader = IndexReader.open( new File( getBaseIndexDir(), "Animal.1" ) );
try {
int num = reader.numDocs();
assertEquals( 1, num );
@@ -129,7 +128,7 @@
s.clear();
- reader = IndexReader.open( new File( getBaseIndexDir(), "Animal_1" ) );
+ reader = IndexReader.open( new File( getBaseIndexDir(), "Animal.1" ) );
try {
int num = reader.numDocs();
assertEquals( 1, num );
More information about the hibernate-commits
mailing list