Package org.hibernate.search.test.configuration

Source Code of org.hibernate.search.test.configuration.CustomBackendTest

/*
* Hibernate Search, full-text search for your domain model
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.search.test.configuration;

import org.hibernate.search.FullTextSession;
import org.hibernate.search.backend.spi.BackendQueueProcessor;
import org.hibernate.search.backend.impl.blackhole.BlackHoleBackendQueueProcessor;
import org.hibernate.search.backend.impl.lucene.LuceneBackendQueueProcessor;
import org.hibernate.search.engine.spi.SearchFactoryImplementor;
import org.hibernate.search.indexes.impl.DirectoryBasedIndexManager;
import org.hibernate.search.indexes.impl.IndexManagerHolder;
import org.hibernate.search.test.util.FullTextSessionBuilder;

import org.junit.Test;
import static org.junit.Assert.assertEquals;

/**
* @author Sanne Grinovero
*/
public class CustomBackendTest {

  @Test
  public void test() {
    verifyBackendUsage( "blackhole", BlackHoleBackendQueueProcessor.class );
    verifyBackendUsage( "lucene", LuceneBackendQueueProcessor.class );
    verifyBackendUsage( BlackHoleBackendQueueProcessor.class );
    verifyBackendUsage( LuceneBackendQueueProcessor.class );
  }

  private void verifyBackendUsage(String name, Class<? extends BackendQueueProcessor> backendType) {
    FullTextSessionBuilder builder = new FullTextSessionBuilder();
    FullTextSession ftSession = builder
      .setProperty( "hibernate.search.default.worker.backend", name )
      .addAnnotatedClass( BlogEntry.class )
      .openFullTextSession();
    SearchFactoryImplementor searchFactory = (SearchFactoryImplementor) ftSession.getSearchFactory();
    ftSession.close();
    IndexManagerHolder allIndexesManager = searchFactory.getIndexManagerHolder();
    DirectoryBasedIndexManager indexManager = (DirectoryBasedIndexManager) allIndexesManager.getIndexManager( "org.hibernate.search.test.configuration.BlogEntry" );
    BackendQueueProcessor backendQueueProcessor = indexManager.getBackendQueueProcessor();
    assertEquals( backendType, backendQueueProcessor.getClass() );
    builder.close();
  }

  public void verifyBackendUsage(Class<? extends BackendQueueProcessor> backendType) {
    verifyBackendUsage( backendType.getName(), backendType );
  }

}
TOP

Related Classes of org.hibernate.search.test.configuration.CustomBackendTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.