/** * Creation du client, le wikittyService est instancier grace au information * trouve dans la configuration. * * @param config */ public WikittyClient(ApplicationConfig config) { this(config, WikittyServiceFactory.buildWikittyService(config)); }
public WikittyServiceTransaction(ApplicationConfig config, WikittyService ws) { this.ws = ws; // use WikittyService in Memory // use configuration to retrive transaction in memory implementation // you must used WikittyServiceInMemoryJdbcSolr implementation this.tx = WikittyServiceFactory.buildWikittyServiceTransaction(config); events = new LinkedList<WikittyEvent>(); }
static public WikittyService buildWikittyService( ApplicationConfig config, String prefix) { WikittyService result = null; List<Class> layers = getComponents(config, prefix, WikittyService.class); Set comp = new HashSet(); for (Class<WikittyService> clazz : layers) { comp.clear(); comp.add(result); comp.add(config); List<Class> comps = getComponents(config, prefix, clazz); if (comps != null) { comp.addAll(comps); } result = ObjectUtil.newInstance(clazz, comp, true); } return result; }
/** * Construit l'enchainement des differents WikittyService comme decrit * dans le fichier de configuration via la cle: * wikitty.transaction.WikittyService.components * <p> * Chaque composant de l'enchainement peut avoir lui aussi ses propres * composants dans une cle: * wikitty.transaction.[nom simple de la classe].components * * * @param config * @return */ static public WikittyService buildWikittyServiceTransaction(ApplicationConfig config) { String prefix = "wikitty.transaction."; WikittyService result = buildWikittyService(config, prefix); return result; }
/** * Construit l'enchainement des differents WikittyService comme decrit * dans le fichier de configuration via la cle: * wikitty.WikittyService.components * <p> * Chaque composant de l'enchainement peut avoir lui aussi ses propres * composants dans une cle: * wikitty.[nom simple de la classe].components * * * @param config * @return */ static public WikittyService buildWikittyService(ApplicationConfig config) { String prefix = "wikitty."; WikittyService result = buildWikittyService(config, prefix); return result; }
static public void main(String ... args) { ApplicationConfig config = WikittyConfig.getConfig(args); WikittyService ws = WikittyServiceFactory.buildWikittyService(config); }
protected WikittyService startServer() throws Exception { Properties props = new Properties(); props.setProperty(WikittyConfigOption.WIKITTY_SERVER_URL.getKey(), url); props.setProperty(WikittyConfigOption.WIKITTY_WIKITTYSERVICE_COMPONENTS.getKey(), WikittyServiceInMemory.class.getName() + "," + WikittyServiceCajoServer.class.getName()); ApplicationConfig config = WikittyConfig.getConfig(props); WikittyService result = WikittyServiceFactory.buildWikittyService(config); return result; }
protected WikittyService getClient() throws Exception { Properties props = new Properties(); props.setProperty(WikittyConfigOption.WIKITTY_SERVER_URL.getKey(), url); props.setProperty(WikittyConfigOption.WIKITTY_WIKITTYSERVICE_COMPONENTS.getKey(), WikittyServiceCajoClient.class.getName()); ApplicationConfig config = WikittyConfig.getConfig(props); WikittyService result = WikittyServiceFactory.buildWikittyService(config); return result; }
@Test public void testBuild() throws Exception { ApplicationConfig config = WikittyConfig.getConfig(); config.setOption(WikittyConfigOption.WIKITTY_WIKITTYSERVICE_COMPONENTS.getKey(), WikittyServiceInMemory.class.getName() + "," + WikittyServiceNotifier.class.getName() + "," + WikittyServiceCached.class.getName()); WikittyService ws = WikittyServiceFactory.buildWikittyService(config); Assert.assertEquals(WikittyServiceCached.class, ws.getClass()); ws = ((WikittyServiceCached)ws).getDelegate(); Assert.assertEquals(WikittyServiceNotifier.class, ws.getClass()); ws = ((WikittyServiceNotifier)ws).getDelegate(); Assert.assertEquals(WikittyServiceInMemory.class, ws.getClass()); }
@Test public void testSampleConfig() throws Exception { { ApplicationConfig config = WikittyConfig.getConfig( "wikitty-config-sample-inmemory.properties"); // surcharge certain option qui ont besoin d'autre module que api config.setOption(WikittyConfigOption.WIKITTY_WIKITTYSERVICESTORAGE_COMPONENTS.getKey(), WikittyStorageInMemory.class.getName() + "," + WikittyExtensionStorageInMemory.class.getName() + "," + WikittySearchEngineInMemory.class.getName()); WikittyService ws = WikittyServiceFactory.buildWikittyService(config); Assert.assertEquals(WikittyServiceAuthorisation.class, ws.getClass()); ws = ((WikittyServiceAuthorisation) ws).getDelegate(); Assert.assertEquals(WikittyServiceAuthentication.class, ws.getClass()); ws = ((WikittyServiceAuthentication) ws).getDelegate(); Assert.assertEquals(WikittyServiceCached.class, ws.getClass()); ws = ((WikittyServiceCached) ws).getDelegate(); Assert.assertEquals(WikittyServiceNotifier.class, ws.getClass()); ws = ((WikittyServiceNotifier) ws).getDelegate(); Assert.assertEquals(WikittyServiceStorage.class, ws.getClass()); } }