package org.neo4j.onlinebackup; import java.io.File; import org.neo4j.api.core.EmbeddedNeo; import org.neo4j.util.index.IndexService; import org.neo4j.util.index.LuceneIndexService; /** * Start an EmbeddedNeo from a directory location together with an * LuceneIndexService and wrap it as XA data source. */ public class LocalNeoLuceneResource extends EmbeddedNeoResource { private final IndexService lucene; private LocalNeoLuceneResource( EmbeddedNeo neo ) { super( neo ); this.lucene = new LuceneIndexService( neo ); } public static LocalNeoLuceneResource getInstance( String storeDir ) { String separator = System.getProperty( "file.separator" ); String store = storeDir + separator + "neostore"; if ( !new File( store ).exists() ) { throw new RuntimeException( "Unable to locate local neo store in[" + storeDir + "]" ); } return new LocalNeoLuceneResource( new EmbeddedNeo( storeDir ) ); } @Override public void close() { lucene.shutdown(); neo.shutdown(); } }