r971 - in trunk/wikitty-jdbc/src: main/java/org/nuiton/wikitty test/java/org/nuiton/wikitty/services
Author: echatellier Date: 2011-06-24 14:15:57 +0200 (Fri, 24 Jun 2011) New Revision: 971 Url: http://nuiton.org/repositories/revision/wikitty/971 Log: Deplacement du service dans les test (pas de raison qu'il soit dans le main) Added: trunk/wikitty-jdbc/src/test/java/org/nuiton/wikitty/services/WikittyServiceInMemoryJdbcSolr.java Removed: trunk/wikitty-jdbc/src/main/java/org/nuiton/wikitty/services/ Copied: trunk/wikitty-jdbc/src/test/java/org/nuiton/wikitty/services/WikittyServiceInMemoryJdbcSolr.java (from rev 959, trunk/wikitty-jdbc/src/main/java/org/nuiton/wikitty/services/WikittyServiceInMemoryJdbcSolr.java) =================================================================== --- trunk/wikitty-jdbc/src/test/java/org/nuiton/wikitty/services/WikittyServiceInMemoryJdbcSolr.java (rev 0) +++ trunk/wikitty-jdbc/src/test/java/org/nuiton/wikitty/services/WikittyServiceInMemoryJdbcSolr.java 2011-06-24 12:15:57 UTC (rev 971) @@ -0,0 +1,81 @@ +/* + * #%L + * Wikitty :: wikitty-jdbc-impl + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * #L% + */ +package org.nuiton.wikitty.services; + + +import java.io.File; +import java.util.UUID; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.solr.core.RAMDirectoryFactory; +import org.nuiton.util.ApplicationConfig; +import org.nuiton.wikitty.WikittyConfig; +import org.nuiton.wikitty.WikittyConfigOption; +import org.nuiton.wikitty.jdbc.WikittyExtensionStorageJDBC; +import org.nuiton.wikitty.jdbc.WikittyStorageJDBC; +import org.nuiton.wikitty.storage.solr.WikittySearchEngineSolr; + +/** + * In memory implementation that use in memory h2 and in memory solr + * + * @author poussin + * @version $Revision$ + * + * Last update: $Date$ + * by : $Author$ + */ +public class WikittyServiceInMemoryJdbcSolr extends WikittyServiceStorage { + + /** to use log facility, just put in your code: log.info(\"...\"); */ + static private Log log = LogFactory.getLog(WikittyServiceInMemoryJdbcSolr.class); + + public WikittyServiceInMemoryJdbcSolr() { + super(null, null, null); + + // we use unique db name (this permit to use simultaneously many + // WikittyServiceInMemoryJdbcSolr) + String dbName = "wikitty-tx-" + UUID.randomUUID().toString(); + ApplicationConfig config = WikittyConfig.getConfig(); + config.setOption(WikittyConfigOption. + WIKITTY_STORAGE_JDBC_URL.getKey(), + "jdbc:h2:mem:" + dbName); + // solr meme en RAMDirectoryFactory peut creer des fichiers si + // la config est mauvaise, pour prevenir tous problemes on fixe un + // repertoire unique si jamais ca arrive pour eviter les problemes + config.setOption(WikittyConfigOption.WIKITTY_DATA_DIR.getKey(), + config.getOption("java.io.tmpdir") + File.separator + dbName); + config.setOption(WikittyConfigOption. + WIKITTY_SEARCHENGINE_SOLR_DIRECTORY_FACTORY.getKey(), + RAMDirectoryFactory.class.getName()); + // others defaults value in config normaly is correct + // - WIKITTY_STORAGE_JDBC* + // - WIKITTY_STORAGE_JDBC_XADATASOURCE* + + extensionStorage = new WikittyExtensionStorageJDBC(config); + wikittyStorage = new WikittyStorageJDBC(config, extensionStorage); + searchEngine = new WikittySearchEngineSolr(config, extensionStorage); + } + +}
participants (1)
-
echatellier@users.nuiton.org