[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