Java tutorial
/* * Copyright 2012 VMWare. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.vmware.demo.sgf.lucene; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import com.vmware.demo.sgf.lucene.impl.LuceneGemFireRepositoryImpl; /** * * * @author Lyndon Adams * */ public final class LuceneIndexRepoFactory { static String indexDirectory = "./luceneIdx"; static LuceneGemFireRepository instance; protected LuceneIndexRepoFactory() { } public void setIndexDirectory(final String directory) { indexDirectory = directory; } /** * Create the index directory also remove the write.lock file if it exists. * * @throws IOException */ private static void createIndexDirectory() throws IOException { FileUtils.forceMkdir(new File(indexDirectory)); FileUtils.deleteQuietly(new File(indexDirectory + "/write.lock")); } private static LuceneGemFireRepository createLuceneGemFireRepository(final String indexDirectory) throws IOException { if (instance == null) { createIndexDirectory(); instance = new LuceneGemFireRepositoryImpl(indexDirectory); } return instance; } public static LuceneGemFireRepository getInstance() throws IOException { if (instance == null) createLuceneGemFireRepository(indexDirectory); return instance; } }