r815 - trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro
Author: mfortun Date: 2011-04-18 16:19:45 +0200 (Mon, 18 Apr 2011) New Revision: 815 Url: http://nuiton.org/repositories/revision/wikitty/815 Log: * synchronisation between wikitty service works. Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublication.java Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublication.java =================================================================== --- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublication.java 2011-04-18 08:59:39 UTC (rev 814) +++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublication.java 2011-04-18 14:19:45 UTC (rev 815) @@ -39,9 +39,11 @@ import org.nuiton.wikitty.WikittyServiceFactory; import org.nuiton.wikitty.WikittyUtil; import org.nuiton.wikitty.entities.Wikitty; +import org.nuiton.wikitty.entities.WikittyImpl; import org.nuiton.wikitty.entities.WikittyLabel; import org.nuiton.wikitty.entities.WikittyLabelHelper; import org.nuiton.wikitty.entities.WikittyUser; +import org.nuiton.wikitty.entities.WikittyUserHelper; import org.nuiton.wikitty.entities.WikittyUserImpl; import org.nuiton.wikitty.publication.entities.WikittyPubData; import org.nuiton.wikitty.publication.entities.WikittyPubText; @@ -65,8 +67,6 @@ final static private Log log = LogFactory.getLog(WikittyPublication.class); static protected ApplicationConfig applicationConfig; - - /* * static string for allias, wrong named attribut TODO mfortun-2011-04-06 @@ -131,7 +131,6 @@ URI uriTarget = new URI(target); - boolean isDelete = applicationConfig .getOptionAsBoolean(IS_DELETE_OPTION); boolean isExisting = applicationConfig @@ -144,7 +143,7 @@ * the correct implementation of the wikitty service */ // once on the service origin - ApplicationConfig temp1 =setUpApplicationConfigServerConnector(uriOrigin); + ApplicationConfig temp1 = setUpApplicationConfigServerConnector(uriOrigin); WikittyProxy proxyOrigin = new WikittyProxy( WikittyServiceFactory.buildWikittyService(temp1)); @@ -154,20 +153,7 @@ WikittyProxy proxyTarget = new WikittyProxy( WikittyServiceFactory.buildWikittyService(temp2)); - - - WikittyUser test1= new WikittyUserImpl(); - test1.setLogin("chaussetteé"); - - WikittyUser test2= new WikittyUserImpl(); - test2.setLogin("chaussette"); - - proxyOrigin.store(test1); - System.out.println(test1.getWikittyVersion()); - test1.setLogin("ponay"); - proxyTarget.store(test1); - //proxyTarget.st - + /* * TODO mfortun-2011-04-14 voir comment on fait quand les deux uris * déclare des labels en fragment, si on les composent ensemble ou un @@ -179,8 +165,6 @@ Criteria critOrigin = constructCriteriaLabelRecur(labelOrigin, isRecur); Criteria critTarget = constructCriteriaLabelRecur(labelTarget, isRecur); - - List<String> listOrigin = proxyOrigin.findAllIdByCriteria(critOrigin) .getAll(); List<String> listTarget = proxyTarget.findAllIdByCriteria(critTarget) @@ -201,13 +185,11 @@ existOnlyOnTarget.addAll(listTarget); existOnlyOnTarget.removeAll(listOrigin); - - /* * if option is update send wikitty that are not in the target. */ if (isUpdate) { - + List<Wikitty> newWikitties = proxyOrigin.restore(existOnlyOnOrigin); proxyTarget.storeWikitty(newWikitties); @@ -227,27 +209,33 @@ /* * case existing and update, update those which are on both location */ - for (String id : existInBoth){ + for (String id : existInBoth) { Wikitty fromTarget = proxyTarget.restore(id); Wikitty fromOrigin = proxyOrigin.restore(id); - - String idTarget = fromTarget.getId(); - String idOrigin = fromOrigin.getId(); - //check version for update - if (WikittyUtil.versionGreaterThan(idOrigin, idTarget)){ - Set<String> setLabelTarget= WikittyLabelHelper.getLabels(fromTarget); - //replace labels origins, by target - WikittyLabelHelper.setLabels(fromOrigin, setLabelTarget); - //send modified origin to target wikitty service - proxyTarget.store(fromOrigin); + + String versionTarget = fromTarget.getVersion(); + + String versionOrigin = fromOrigin.getVersion(); + + // check version for update + + /* + * TODO mfortun-2011-14-18 do something for labels at this time + * we replace origin labels y target's labels if we udpate. + */ + if (WikittyUtil + .versionGreaterThan(versionOrigin, versionTarget)) { + Set<String> setLabelTarget = WikittyLabelHelper + .getLabels(fromTarget); + // replace labels origins, by targets label + WikittyLabelHelper.setLabels(fromOrigin, setLabelTarget); + // send modified origin to target wikitty service + proxyTarget.store(fromOrigin); } } - - - } + }// */ - } /** @@ -297,41 +285,38 @@ * @param uri * of the targeted wikitty service */ - static protected ApplicationConfig setUpApplicationConfigServerConnector(URI uri) { + static protected ApplicationConfig setUpApplicationConfigServerConnector( + URI uri) { - - - ApplicationConfig result = new ApplicationConfig(); - - + + // transfert main properties to new application config result.setOptions(applicationConfig.getFlatOptions()); - if (uri.getScheme().equals("file")) { - result - .setOption("wikitty.WikittyService.components", - "org.nuiton.wikitty.publication.synchro.WikittyPublicationFileSystem"); - } - if (uri.getScheme().equals("cajo")) { + if (uri.getScheme().equals("file")) { result.setOption("wikitty.WikittyService.components", + "org.nuiton.wikitty.publication.synchro.WikittyPublicationFileSystem"); + } else if (uri.getScheme().equals("cajo")) { + result.setOption("wikitty.WikittyService.components", "org.nuiton.wikitty.services.WikittyServiceCajoClient"); - } - - if (uri.getScheme().equals("hessian")) { + } else if (uri.getScheme().equals("hessian")) { result.setOption("wikitty.WikittyService.components", "org.nuiton.wikitty.services.WikittyServiceHessianClient"); } - - String url= uri.toASCIIString().replace("#wp", ""); - - //FIXME mfortun-2011-04-15 correct url by removing fragment - result.setOption("wikitty.service.server.url", - url); - + String url = uri.toASCIIString(); + // remove fragment from the uri. + url = url.replaceAll("\\#.*", ""); + // set protocol to http no use finally + /* + * url = url.replaceFirst("["+uri.getScheme()+"]", "http"); + */ + + log.info("set url " + url + " with component :"+ result.getOption("wikitty.WikittyService.components")); + + result.setOption("wikitty.service.server.url", url); + return result; - - } }
participants (1)
-
mfortun@users.nuiton.org