Author: echatellier Date: 2010-06-07 11:59:54 +0200 (Mon, 07 Jun 2010) New Revision: 100 Url: http://nuiton.org/repositories/revision/wikitty/100 Log: Add missing notification on wikitty service notifier Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceCached.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceNotifier.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceCached.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceCached.java 2010-06-07 09:48:49 UTC (rev 99) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceCached.java 2010-06-07 09:59:54 UTC (rev 100) @@ -51,8 +51,10 @@ */ static public final String WIKITTY_CACHE_LISTENEVENTS_OPTION = "wikitty.service.cache.listenevents"; + /** Cache. */ protected WikittyCache cache = null; + /** Delegated wikitty service implementation. */ protected WikittyService ws; /** Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceNotifier.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceNotifier.java 2010-06-07 09:48:49 UTC (rev 99) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceNotifier.java 2010-06-07 09:59:54 UTC (rev 100) @@ -194,143 +194,177 @@ @Override public UpdateResponse store(WikittyTransaction transaction, Collection<Wikitty> wikitties, boolean disableAutoVersionIncrement) { - return ws.store(transaction, wikitties, + UpdateResponse updateResponse = ws.store(transaction, wikitties, disableAutoVersionIncrement); + // notify listeners + firePutWikitty(wikitties.toArray(new Wikitty[wikitties.size()])); + return updateResponse; } @Override public List<String> getAllExtensionIds() { + // no notification return ws.getAllExtensionIds(); } @Override public List<String> getAllExtensionsRequires(String extensionName) { + // no notification return ws.getAllExtensionsRequires(extensionName); } @Override public UpdateResponse storeExtension(WikittyExtension ext) { - return ws.storeExtension(ext); + UpdateResponse updateResponse = ws.storeExtension(ext); + // notify listeners + firePutExtension(ext); + return updateResponse; } @Override public UpdateResponse storeExtension(Collection<WikittyExtension> exts) { - return ws.storeExtension(exts); + UpdateResponse updateResponse = ws.storeExtension(exts); + // notify listeners + firePutExtension(exts.toArray(new WikittyExtension[exts.size()])); + return updateResponse; } @Override public UpdateResponse storeExtension(WikittyTransaction transaction, Collection<WikittyExtension> exts) { - return ws.storeExtension(transaction, exts); + UpdateResponse updateResponse = ws.storeExtension(transaction, exts); + // no notification called by #storeExtension(Collection<WikittyExtension>) + return updateResponse; } @Override public WikittyExtension restoreExtension(String id) { + // no notification return ws.restoreExtension(id); } @Override public WikittyExtension restoreExtension(WikittyTransaction transaction, String id) { + // no notification return ws.restoreExtension(transaction, id); } @Override public WikittyExtension restoreExtensionLastVersion(String name) { + // no notification return ws.restoreExtensionLastVersion(name); } @Override public Wikitty restore(String id) { + // no notification return ws.restore(id); } @Override public List<Wikitty> restore(List<String> id) { + // no notification return ws.restore(id); } @Override public void delete(String id) { ws.delete(id); + // notify listeners + fireRemoveWikitty(id); } @Override public void delete(Collection<String> ids) { ws.delete(ids); + // notify listeners + fireRemoveWikitty(ids.toArray(new String[ids.size()])); } @Override public PagedResult<Wikitty> findAllByCriteria(Criteria criteria) { + // no notification return ws.findAllByCriteria(criteria); } @Override public PagedResult<Wikitty> findAllByCriteria( WikittyTransaction transaction, Criteria criteria) { + // no notification return ws.findAllByCriteria(transaction, criteria); } @Override public Wikitty findByCriteria(Criteria criteria) { + // no notification return ws.findByCriteria(criteria); } @Override public void addLabel(String wikittyId, String label) { + // no notification + // TODO EC20100607 fixme : need notification ? ws.addLabel(wikittyId, label); } @Override public PagedResult<Wikitty> findAllByLabel(String label, int firstIndex, int endIndex) { + // no notification return ws.findAllByLabel(label, firstIndex, endIndex); } @Override public Wikitty findByLabel(String label) { + // no notification return ws.findByLabel(label); } @Override public Set<String> findAllAppliedLabels(String wikittyId) { + // no notification return ws.findAllAppliedLabels(wikittyId); } @Override public Tree restoreTree(String wikittyId) { + // no notification return ws.restoreTree(wikittyId); } @Override public Entry<TreeNode, Integer> restoreNode(String wikittyId, Criteria filter) { + // no notification return ws.restoreNode(wikittyId, filter); } @Override public Map<TreeNode, Integer> restoreChildren(String wikittyId, Criteria filter) { + // no notification return ws.restoreChildren(wikittyId, filter); } @Override public Wikitty restoreVersion(String wikittyId, String version) { + // no notification return ws.restoreVersion(wikittyId, version); } @Override public UpdateResponse syncEngin() { + // no notification return ws.syncEngin(); } - + /** * Build event to fire and call {@link #firePutWikitty(WikittyServiceEvent)}. * * @param ws data */ - protected void firePutWikitty(Wikitty ... ws) { - + protected void firePutWikitty(Wikitty... ws) { WikittyServiceEvent event = new WikittyServiceEvent(ws); Set<String> ids = new HashSet<String>(); Map<String, Set<String>> idsExtension = new HashMap<String, Set<String>>(); @@ -358,8 +392,7 @@ * * @param wikittyIds wikitty ids */ - protected void fireRemoveWikitty(String ... wikittyIds) { - + protected void fireRemoveWikitty(String... wikittyIds) { WikittyServiceEvent event = new WikittyServiceEvent(ws); Set<String> ids = new HashSet<String>(); @@ -376,12 +409,44 @@ * Build event to fire and call {@link #fireClearWikitty(WikittyServiceEvent)}. */ protected void fireClearWikitty() { - WikittyServiceEvent event = new WikittyServiceEvent(ws); fireClearWikitty(event); } - + /** + * Build event to fire and call {@link #firePutExtension(WikittyServiceEvent)}. + * + * @param ws data + */ + protected void firePutExtension(WikittyExtension... exts) { + if (log.isWarnEnabled()) { + log.warn("Not implemented firePutExtension !!!"); + } + } + + /** + * Build event to fire and call {@link #fireRemoveExtension(WikittyServiceEvent)}. + * + * @param ws data + */ + protected void fireRemoveExtension(WikittyExtension... exts) { + if (log.isWarnEnabled()) { + log.warn("Not implemented fireRemoveExtension !!!"); + } + } + + /** + * Build event to fire and call {@link #fireClearExtension(WikittyServiceEvent)}. + * + * @param ws data + */ + protected void fireClearExtension() { + if (log.isWarnEnabled()) { + log.warn("Not implemented fireClearExtension !!!"); + } + } + + /** * Fire event to all registred listener. * * Take care about {@link WikittyServiceEvent#isRemote()} for fire.