Skip to content

Commit

Permalink
HSEARCH-2872 Migrate SearchFactoryHolder test helper to use IndexedTy…
Browse files Browse the repository at this point in the history
…peIdentifier

Update SearchFactoryHolder#extractIndexManager and
SearchFactoryHolder#extractWorkspace to use IndexedTypeIdentifier instead of
Class<> as indexed type, this allows to remove yet another deprecated method.
  • Loading branch information
Sanne committed Sep 12, 2017
1 parent df7a75b commit ede462a
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 7 deletions.
Expand Up @@ -6,6 +6,8 @@
*/
package org.hibernate.search.test.backend.lucene;

import org.hibernate.search.spi.IndexedTypeIdentifier;
import org.hibernate.search.spi.impl.PojoIndexedTypeIdentifier;
import org.hibernate.search.testsupport.junit.SearchFactoryHolder;
import org.hibernate.search.testsupport.junit.SearchITHelper;
import org.junit.Rule;
Expand All @@ -25,6 +27,7 @@ public class AsyncBackendFlushTest {
.withProperty( "hibernate.search.default.worker.execution", "async" );

private final SearchITHelper helper = new SearchITHelper( sfHolder );
private final IndexedTypeIdentifier testType = PojoIndexedTypeIdentifier.convertFromLegacy( Quote.class );

@Test
public void testFlush() throws Exception {
Expand All @@ -37,7 +40,7 @@ public void testFlush() throws Exception {
}

private void flushIndex() {
sfHolder.extractIndexManager( Quote.class ).flushAndReleaseResources();
sfHolder.extractIndexManager( testType ).flushAndReleaseResources();
}

private void assertDocumentsIndexed(int number) {
Expand Down
Expand Up @@ -16,6 +16,8 @@
import org.hibernate.search.backend.impl.lucene.AbstractWorkspaceImpl;
import org.hibernate.search.backend.impl.lucene.ScheduledCommitPolicy;
import org.hibernate.search.query.engine.spi.HSQuery;
import org.hibernate.search.spi.IndexedTypeIdentifier;
import org.hibernate.search.spi.impl.PojoIndexedTypeIdentifier;
import org.hibernate.search.testsupport.concurrency.Poller;
import org.hibernate.search.testsupport.junit.SearchFactoryHolder;
import org.hibernate.search.testsupport.junit.SearchITHelper;
Expand Down Expand Up @@ -53,10 +55,12 @@ public class ScheduledCommitPolicyTest {

private final SearchITHelper helper = new SearchITHelper( sfAsyncExclusiveIndex );

private final IndexedTypeIdentifier testType = PojoIndexedTypeIdentifier.convertFromLegacy( Quote.class );

@Test
public void testScheduledCommits() throws Exception {
writeData( NUMBER_ENTITIES );
AbstractWorkspaceImpl workspace = sfAsyncExclusiveIndex.extractWorkspace( Quote.class );
AbstractWorkspaceImpl workspace = sfAsyncExclusiveIndex.extractWorkspace( testType );
CommitPolicy commitPolicy = workspace.getCommitPolicy();

assertTrue( commitPolicy instanceof ScheduledCommitPolicy );
Expand Down
Expand Up @@ -15,6 +15,8 @@
import org.hibernate.search.annotations.Field;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.backend.impl.lucene.AbstractWorkspaceImpl;
import org.hibernate.search.spi.IndexedTypeIdentifier;
import org.hibernate.search.spi.impl.PojoIndexedTypeIdentifier;
import org.hibernate.search.testsupport.TestForIssue;
import org.hibernate.search.testsupport.junit.SearchFactoryHolder;
import org.hibernate.search.testsupport.junit.SkipOnElasticsearch;
Expand All @@ -41,12 +43,15 @@ public class IndexWriterTuningAppliedTest {
.withProperty( "hibernate.search.index2.indexwriter.max_thread_states", "7" )
.withProperty( "hibernate.search.index2.indexwriter.infostream", "true" );

private final IndexedTypeIdentifier dvdTestType = PojoIndexedTypeIdentifier.convertFromLegacy( Dvd.class );
private final IndexedTypeIdentifier bookTestType = PojoIndexedTypeIdentifier.convertFromLegacy( Book.class );

@Test
public void testInfoStream() throws IOException {
//Enable trace level on the magic category:
Logger.getLogger( LuceneLogCategories.INFOSTREAM_LOGGER_CATEGORY.getName() ).setLevel( Level.TRACE );
AbstractWorkspaceImpl dvdsWorkspace = sfHolder.extractWorkspace( Dvd.class );
AbstractWorkspaceImpl booksWorkspace = sfHolder.extractWorkspace( Book.class );
AbstractWorkspaceImpl dvdsWorkspace = sfHolder.extractWorkspace( dvdTestType );
AbstractWorkspaceImpl booksWorkspace = sfHolder.extractWorkspace( bookTestType );
IndexWriter dvdsIndexWriter = dvdsWorkspace.getIndexWriter();
IndexWriter booksIndexWriter = booksWorkspace.getIndexWriter();
try {
Expand Down
Expand Up @@ -11,6 +11,8 @@
import org.hibernate.search.backend.impl.lucene.PerChangeSetCommitPolicy;
import org.hibernate.search.backend.impl.lucene.ScheduledCommitPolicy;
import org.hibernate.search.backend.impl.lucene.SharedIndexCommitPolicy;
import org.hibernate.search.spi.IndexedTypeIdentifier;
import org.hibernate.search.spi.impl.PojoIndexedTypeIdentifier;
import org.hibernate.search.test.configuration.mutablefactory.A;
import org.hibernate.search.testsupport.junit.SearchFactoryHolder;
import org.hibernate.search.testsupport.junit.SkipOnElasticsearch;
Expand All @@ -30,6 +32,8 @@
@Category(SkipOnElasticsearch.class) // This test is specific to Lucene
public class CommitPolicyConfigurationTest {

private final IndexedTypeIdentifier testType = PojoIndexedTypeIdentifier.convertFromLegacy( A.class );

@Rule
public SearchFactoryHolder sfSyncExclusiveIndex = new SearchFactoryHolder( A.class )
.withProperty( "hibernate.search.default.exclusive_index_use", "true" );
Expand Down Expand Up @@ -79,7 +83,7 @@ private int extractInterval(SearchFactoryHolder sfHolder) {
}

private CommitPolicy getCommitPolicy(SearchFactoryHolder sfHolder) {
AbstractWorkspaceImpl workspace = sfHolder.extractWorkspace( A.class );
AbstractWorkspaceImpl workspace = sfHolder.extractWorkspace( testType );
return workspace.getCommitPolicy();
}

Expand Down
Expand Up @@ -22,6 +22,7 @@
import org.hibernate.search.exception.SearchException;
import org.hibernate.search.indexes.spi.DirectoryBasedIndexManager;
import org.hibernate.search.indexes.spi.IndexManager;
import org.hibernate.search.spi.IndexedTypeIdentifier;
import org.hibernate.search.spi.SearchIntegrator;
import org.hibernate.search.spi.SearchIntegratorBuilder;
import org.hibernate.search.testsupport.setup.SearchConfigurationForTest;
Expand Down Expand Up @@ -141,14 +142,14 @@ public <T extends Service> SearchFactoryHolder withService(Class<T> serviceType,
return this;
}

public IndexManager extractIndexManager(Class indexedType) {
public IndexManager extractIndexManager(IndexedTypeIdentifier indexedType) {
EntityIndexBinding indexBindingForEntity = getSearchFactory().getIndexBindings().get( indexedType );
IndexManager indexManager =
(IndexManager) indexBindingForEntity.getIndexManagerSelector().all().iterator().next();
return indexManager;
}

public AbstractWorkspaceImpl extractWorkspace(Class indexedType) {
public AbstractWorkspaceImpl extractWorkspace(IndexedTypeIdentifier indexedType) {
DirectoryBasedIndexManager indexManager = (DirectoryBasedIndexManager) extractIndexManager( indexedType );
WorkspaceHolder backend = indexManager.getWorkspaceHolder();
return backend.getIndexResources().getWorkspace();
Expand Down

0 comments on commit ede462a

Please sign in to comment.