r904 - trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication
Author: mfortun Date: 2011-05-18 18:08:36 +0200 (Wed, 18 May 2011) New Revision: 904 Url: http://nuiton.org/repositories/revision/wikitty/904 Log: * multicontext need to save user in both, still a bug in there Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationProxy.java Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationProxy.java =================================================================== --- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationProxy.java 2011-05-18 14:51:41 UTC (rev 903) +++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationProxy.java 2011-05-18 16:08:36 UTC (rev 904) @@ -13,6 +13,7 @@ import org.nuiton.wikitty.entities.Wikitty; import org.nuiton.wikitty.entities.WikittyExtension; import org.nuiton.wikitty.entities.WikittyUser; +import org.nuiton.wikitty.entities.WikittyUserHelper; import org.nuiton.wikitty.search.Criteria; import org.nuiton.wikitty.search.PagedResult; import org.nuiton.wikitty.search.Search; @@ -67,7 +68,6 @@ .getFallBackConfig(); WikittyService fallservice = getWikittyServiceFallBack(configFallBack); - WikittyPublicationProxy result = new WikittyPublicationProxy(config, ws, configFallBack, fallservice); result.setSecurityToken(token); @@ -102,7 +102,7 @@ if (serviceFallback == null) { serviceFallback = WikittyServiceFactory .buildWikittyService(config); - + } } } @@ -209,6 +209,24 @@ public <E extends BusinessEntity> E store(E e) { E result = null; + + /* + * if a user store in both + */ + if (isFallbackService() + && e.getExtensionNames().contains(WikittyUser.EXT_WIKITTYUSER)) { + + + BusinessEntity temp = new BusinessEntityImpl(); + temp.copyFrom(e); + + // FIXME mfortun-2011-05-18 here correct what cause the bug + fallbackProxy.store(e); + mainProxy.store(temp); + + return e; + } + // if there a fallback proxy and e exist on it, we try to store it again // on fallbackproxy if (isFallbackService() @@ -223,9 +241,18 @@ public Wikitty store(Wikitty w) { Wikitty result = null; + + /* + * if a user store in both + */ + if (isFallbackService() && w.hasExtension(WikittyUser.EXT_WIKITTYUSER)) { + fallbackProxy.store(w); + return mainProxy.store(w); + } + // if there a fallback proxy and e exist on it, we try to store it again // on fallbackproxy - if (isFallbackService() && fallbackProxy.restore(w.getId()) != null) { + if ((isFallbackService() && fallbackProxy.restore(w.getId()) != null)) { result = fallbackProxy.store(w); } else { result = mainProxy.store(w);
participants (1)
-
mfortun@users.nuiton.org