Author: echatellier Date: 2012-01-20 11:25:17 +0100 (Fri, 20 Jan 2012) New Revision: 1345 Url: http://nuiton.org/repositories/revision/wikitty/1345 Log: Move wikitty i18n test on wikitty client test. Added: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTestUtil.java Removed: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nImpl.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nUtil.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyImportExportService.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyLabelUtil.java trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nImpl.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nImpl.java 2012-01-20 09:58:24 UTC (rev 1344) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nImpl.java 2012-01-20 10:25:17 UTC (rev 1345) @@ -45,7 +45,7 @@ * Last update: $Date$ * by : $Author$ */ -public class WikittyI18nImpl extends WikittyI18nAbstract +public class WikittyI18nImpl extends WikittyI18nAbstract implements PropertyChangeListener { private static final long serialVersionUID = 3824481585361443459L; Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nUtil.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nUtil.java 2012-01-20 09:58:24 UTC (rev 1344) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nUtil.java 2012-01-20 10:25:17 UTC (rev 1345) @@ -24,7 +24,6 @@ */ package org.nuiton.wikitty.addons; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.wikitty.WikittyClient; Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyImportExportService.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyImportExportService.java 2012-01-20 09:58:24 UTC (rev 1344) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyImportExportService.java 2012-01-20 10:25:17 UTC (rev 1345) @@ -43,7 +43,6 @@ import org.nuiton.wikitty.WikittyClient; import org.nuiton.wikitty.entities.BusinessEntityImpl; import org.nuiton.wikitty.search.Criteria; -import org.nuiton.wikitty.WikittyConfig; import org.nuiton.wikitty.WikittyConfigOption; import org.nuiton.wikitty.WikittyException; import org.nuiton.wikitty.WikittyService; Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyLabelUtil.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyLabelUtil.java 2012-01-20 09:58:24 UTC (rev 1344) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyLabelUtil.java 2012-01-20 10:25:17 UTC (rev 1345) @@ -24,7 +24,6 @@ */ package org.nuiton.wikitty.addons; - import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -38,7 +37,6 @@ import org.nuiton.wikitty.WikittyProxy; import org.nuiton.wikitty.entities.BusinessEntityImpl; import org.nuiton.wikitty.entities.WikittyLabel; -import org.nuiton.wikitty.entities.Element; import org.nuiton.wikitty.search.Criteria; import org.nuiton.wikitty.search.PagedResult; import org.nuiton.wikitty.search.Search; Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-20 09:58:24 UTC (rev 1344) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-20 10:25:17 UTC (rev 1345) @@ -29,14 +29,24 @@ import org.junit.Assert; import org.junit.Test; +import org.nuiton.util.ApplicationConfig; +import org.nuiton.wikitty.addons.WikittyI18nImpl; +import org.nuiton.wikitty.addons.WikittyI18nTestUtil; +import org.nuiton.wikitty.addons.WikittyI18nUtil; import org.nuiton.wikitty.addons.WikittyImportExportService; import org.nuiton.wikitty.addons.WikittyImportExportService.FORMAT; import org.nuiton.wikitty.entities.Element; +import org.nuiton.wikitty.entities.Wikitty; +import org.nuiton.wikitty.entities.WikittyExtension; +import org.nuiton.wikitty.entities.WikittyI18n; +import org.nuiton.wikitty.entities.WikittyLabel; +import org.nuiton.wikitty.entities.WikittyLabelImpl; import org.nuiton.wikitty.entities.WikittyTreeNode; import org.nuiton.wikitty.query.WikittyQuery; import org.nuiton.wikitty.query.WikittyQueryMaker; import org.nuiton.wikitty.query.WikittyQueryParser; import org.nuiton.wikitty.query.WikittyQueryResult; +import org.nuiton.wikitty.services.WikittyServiceInMemory; import org.nuiton.wikitty.test.Category; import org.nuiton.wikitty.test.Product; @@ -234,7 +244,7 @@ Assert.assertEquals("MySubNode", mySubNode.getName()); System.out.println(mySubNode.getName()); } - + /** * Test que faire l'import 2 fois de suite cause une wikitty obselete * exception. @@ -245,4 +255,38 @@ importClients(); importClients(); } + + /** + * Test i18n in wikitty. + */ + @Test + public void testI18n() { + // creation d'un label pour l'utiliser pour l'i18n + WikittyLabel label = new WikittyLabelImpl(); + Wikitty labelWikitty = wikittyClient.castTo(Wikitty.class, label); + WikittyExtension ext = labelWikitty.getExtension(WikittyLabel.EXT_WIKITTYLABEL); + + // recuperation de support i18n pour l'extension WikittyLabel + WikittyI18n i18n = WikittyI18nUtil.getI18n(wikittyClient, ext); + + // ajout d'une traduction pour le francais + i18n.setTranslation("fr", WikittyLabel.FIELD_WIKITTYLABEL_LABELS, "étiquette"); + wikittyClient.store(i18n); + + String trad = i18n.getTranslation("fr", WikittyLabel.FIELD_WIKITTYLABEL_LABELS); + Assert.assertEquals("étiquette", trad); + Assert.assertEquals(1, i18n.getLang().size()); + Assert.assertEquals("fr", i18n.getLang().iterator().next()); + Assert.assertEquals("[fr:\"labels\"=\"étiquette\"]", i18n.getTranslations()); + + // ajout d'une traduction pour l'espagnole + i18n.setTranslation("es", WikittyLabel.FIELD_WIKITTYLABEL_LABELS, "etiqueta"); + + Assert.assertEquals(2, i18n.getLang().size()); + + // on force le vidage du cache pour voir si le parsing se passe bien + WikittyI18nTestUtil.cleanCache(i18n); + trad = i18n.getTranslation("fr", WikittyLabel.FIELD_WIKITTYLABEL_LABELS); + Assert.assertEquals("étiquette", trad); + } } Deleted: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java 2012-01-20 09:58:24 UTC (rev 1344) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java 2012-01-20 10:25:17 UTC (rev 1345) @@ -1,98 +0,0 @@ -/* - * #%L - * Wikitty :: api - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Lesser Public License for more details. - * - * You should have received a copy of the GNU General Lesser Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. - * #L% - */ -package org.nuiton.wikitty.addons; - - -import org.nuiton.wikitty.WikittyUtil; -import org.nuiton.wikitty.entities.Wikitty; -import org.nuiton.wikitty.entities.WikittyExtension; -import org.nuiton.wikitty.addons.WikittyI18nUtil; -import org.nuiton.wikitty.addons.WikittyI18nImpl; -import org.nuiton.wikitty.services.WikittyServiceInMemory; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.junit.Assert; -import org.junit.Test; -import org.nuiton.util.ApplicationConfig; -import org.nuiton.wikitty.WikittyConfig; -import org.nuiton.wikitty.WikittyProxy; -import org.nuiton.wikitty.WikittyService; -import org.nuiton.wikitty.entities.WikittyI18n; -import org.nuiton.wikitty.entities.WikittyLabel; -import org.nuiton.wikitty.entities.WikittyLabelImpl; - -/** - * - * @author poussin - * @version $Revision$ - * - * Last update: $Date$ - * by : $Author$ - */ -public class WikittyI18nTest { - - /** to use log facility, just put in your code: log.info(\"...\"); */ - static private Log log = LogFactory.getLog(WikittyI18nTest.class); - - @Test - public void testI18n() throws Exception { - // creation d'un proxy sur un ws in memory - ApplicationConfig config = WikittyConfig.getConfig(); - WikittyService ws = new WikittyServiceInMemory(config); - WikittyProxy proxy = new WikittyProxy(ws); - - // creation d'un label pour l'utiliser pour l'i18n - WikittyLabel label = new WikittyLabelImpl(); - Wikitty labelWikitty = WikittyUtil.getWikitty(ws,null,label); - WikittyExtension ext = - labelWikitty.getExtension(WikittyLabel.EXT_WIKITTYLABEL); - - // recuperation de support i18n pour l'extension WikittyLabel - WikittyI18n i18n = WikittyI18nUtil.getI18n(proxy, ext); - - // ajout d'une traduction pour le francais - i18n.setTranslation("fr", WikittyLabel.FIELD_WIKITTYLABEL_LABELS, "étiquette"); - proxy.store(i18n); - - String trad = i18n.getTranslation("fr", WikittyLabel.FIELD_WIKITTYLABEL_LABELS); - Assert.assertEquals("étiquette", trad); - Assert.assertEquals(1, i18n.getLang().size()); - Assert.assertEquals("fr", i18n.getLang().iterator().next()); - Assert.assertEquals("[fr:\"labels\"=\"étiquette\"]", i18n.getTranslations()); - - // ajout d'une traduction pour l'espagnole - i18n.setTranslation("es", WikittyLabel.FIELD_WIKITTYLABEL_LABELS, "etiqueta"); - - Assert.assertEquals(2, i18n.getLang().size()); - - // on force le vidage du cache pour voir si le parsing se passe bien - ((WikittyI18nImpl)i18n).translationsCache = null; - trad = i18n.getTranslation("fr", WikittyLabel.FIELD_WIKITTYLABEL_LABELS); - Assert.assertEquals("étiquette", trad); - -// System.out.println(i18n.getTranslations()); - } - -} Copied: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTestUtil.java (from rev 1328, trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java) =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTestUtil.java (rev 0) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTestUtil.java 2012-01-20 10:25:17 UTC (rev 1345) @@ -0,0 +1,48 @@ +/* + * #%L + * Wikitty :: api + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2009 - 2012 CodeLutin, Benjamin Poussin, Chatellier Eric + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * #L% + */ +package org.nuiton.wikitty.addons; + +import org.nuiton.wikitty.entities.WikittyI18n; + +/** + * New implementation just for cache cleaning. + * + * @author poussin + * @version $Revision$ + * + * Last update: $Date$ + * by : $Author$ + */ +public class WikittyI18nTestUtil { + + /** + * Just a test method to clean cache. + * + * @param wikitty wikitty instance to get cache reference (protected) + */ + public static void cleanCache(WikittyI18n wikitty) { + ((WikittyI18nImpl)wikitty).translationsCache = null; + } +}