package org.infinispan.query.indexmanager; import java.util.Properties; import org.hibernate.search.backend.impl.lucene.WorkspaceHolder; import org.hibernate.search.indexes.spi.IndexManager; import org.hibernate.search.spi.WorkerBuildContext; /** * Factory of local backends to simplify lazy initialization. * * @author Sanne Grinovero <sanne@hibernate.org> (C) 2014 Red Hat Inc. * @since 7.0 */ class SimpleLocalBackendFactory implements LocalBackendFactory { private final IndexManager indexManager; private Properties cfg; private WorkerBuildContext buildContext; SimpleLocalBackendFactory(IndexManager indexManager, Properties cfg, WorkerBuildContext buildContext) { this.indexManager = indexManager; this.cfg = cfg;//TODO wrap to override some dangerous properties? this.buildContext = buildContext; //TODO deferring the buildContext in Hibernate Search is unexpected: think of a better way } @Override public IndexingBackend createLocalIndexingBackend() { WorkspaceHolder workspaceHolder = new WorkspaceHolder(); workspaceHolder.initialize(cfg,buildContext,indexManager); return new LocalIndexingBackend(workspaceHolder); } }