/** * just wrap service method * * @return */ @Override public List<String> getAllExtensionIds(String securityToken) { // NOTE poussin 20101219: si on veut utiliser le cache il faut une // methode specifique return getDelegate().getAllExtensionIds(securityToken); }
/** * just wrap service method * * @param extensionName * @return */ @Override public List<String> getAllExtensionsRequires( String securityToken, String extensionName) { // TODO poussin 20100412: perhaps use cache for extension ? return getDelegate().getAllExtensionsRequires(securityToken, extensionName); }
@Override public Wikitty restoreVersion( String securityToken, String wikittyId, String version) { // not put it in cache ? cache doesn't support more than one version of wikitty return getDelegate().restoreVersion(securityToken, wikittyId, version); }
/** * delete objets in cache * @param ids */ @Override public WikittyEvent delete(String securityToken, Collection<String> ids) { WikittyEvent result = getDelegate().delete(securityToken, ids); processEvent(result); return result; }
/** * just wrap service method * * @param wikittyId * @return */ @Override public WikittyEvent deleteTree(String securityToken, String wikittyId) { WikittyEvent result = getDelegate().deleteTree(securityToken, wikittyId); processEvent(result); return result; }
@Override public WikittyEvent deleteExtension( String securityToken, Collection<String> extNames) { WikittyEvent result = getDelegate().deleteExtension(securityToken, extNames); processEvent(result); return result; }
@Override public WikittyEvent clear(String securityToken) { WikittyEvent result = getDelegate().clear(securityToken); processEvent(result); return result; }
@Override public WikittyEvent storeExtension(String securityToken, Collection<WikittyExtension> exts) { WikittyEvent result = getDelegate().storeExtension(securityToken, exts); processEvent(result); return result; }
@Override public WikittyExtension restoreExtension(String securityToken, String id) { WikittyExtension result = getDelegate().restoreExtension(securityToken, id); cachePutExtension(result); return result; }
@Override public WikittyEvent replay( String securityToken, List<WikittyEvent> events, boolean force) { WikittyEvent result = getDelegate().replay(securityToken, events, force); processEvent(result); return result; }
/** * Overriden to put wikitty in cache * * @param wikitties * @param force boolean force non version version increment on saved wikitty * or force version on wikitty creation (version 0.0) * @return */ @Override public WikittyEvent store(String securityToken, Collection<Wikitty> wikitties, boolean force) { WikittyEvent result = getDelegate().store(securityToken, wikitties, force); processEvent(result); return result; }
/** * just wrap service method * * @param name * @return */ @Override public WikittyExtension restoreExtensionLastVersion( String securityToken, String name) { // NOTE poussin 20100412: comment faire pour utiliser le cache ? on ne // peut que stocker le resultat sinon il faudrait etre sur d'avoir toutes // les extensions dans le cache. // Sinon il faudrait mettre des methodes specifiques dans le cache pour // cette methode, mise en cache lors du 1er appel, et restitution du // meme resultat pour les appels suivants tant que pas de modification // de l'extension (ou de clear/remove) WikittyExtension result = getDelegate().restoreExtensionLastVersion(securityToken, name); cachePutExtension(result); return result; }
List<Wikitty> missingInCache = getDelegate().restore(securityToken, notInCache);
@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()); } }