I18n-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- 786 discussions
Author: tchemit
Date: 2010-04-10 01:01:22 +0200 (Sat, 10 Apr 2010)
New Revision: 1741
Log:
add svn:keywords on files
Modified:
trunk/LICENSE.txt
trunk/README.txt
trunk/ant-i18n-task/LICENSE.txt
trunk/ant-i18n-task/README.txt
trunk/ant-i18n-task/changelog.txt
trunk/ant-i18n-task/pom.xml
trunk/ant-i18n-task/src/main/java/org/nuiton/i18n/ant/I18nExtractorTask.java
trunk/ant-i18n-task/src/site/apt/index.apt
trunk/ant-i18n-task/src/site/site_fr.xml
trunk/changelog.txt
trunk/maven-i18n-plugin/LICENSE.txt
trunk/maven-i18n-plugin/README.txt
trunk/maven-i18n-plugin/changelog.txt
trunk/maven-i18n-plugin/pom.xml
trunk/maven-i18n-plugin/src/it/parsers/newProject/LICENSE.txt
trunk/maven-i18n-plugin/src/it/parsers/newProject/README.txt
trunk/maven-i18n-plugin/src/it/parsers/newProject/changelog.txt
trunk/maven-i18n-plugin/src/it/parsers/newProject/invoker.properties
trunk/maven-i18n-plugin/src/it/parsers/newProject/pom.xml
trunk/maven-i18n-plugin/src/it/parsers/newProject/src/main/java/org/nuiton/i18n/test/MyBean.java
trunk/maven-i18n-plugin/src/it/parsers/newProject/src/main/resources/org/nuiton/i18n/test/MyBean-validation.xml
trunk/maven-i18n-plugin/src/it/parsers/newProject/verify.groovy
trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/LICENSE.txt
trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/README.txt
trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/changelog.txt
trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/invoker.properties
trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/pom.xml
trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/src/main/java/org/nuiton/i18n/test/MyBean.java
trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/src/main/resources/i18n/parsers-withNewKeys-fr_FR.properties
trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/src/main/resources/org/nuiton/i18n/test/MyBean-validation.xml
trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/verify.groovy
trunk/maven-i18n-plugin/src/it/settings.xml
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/AbstractI18nMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GenerateMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GetterMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/AbstractI18nBundleMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/CollectI18nArtifactsMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/I18nArtifact.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/TapestryBundleMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractFileParser.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractI18nParserMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/FileParser.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/I18nParserConfiguration.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/I18nSourceEntry.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/KeysModifier.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/Parser.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserEvent.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserException.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserThread.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/SourceEntry.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaActionConfigMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaTabConfigMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserValidationMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserXmlMojo.java
trunk/maven-i18n-plugin/src/main/resources/META-INF/services/org.apache.commons.logging.LogFactory
trunk/maven-i18n-plugin/src/main/resources/jaxx.rules
trunk/maven-i18n-plugin/src/main/resources/log4j.properties
trunk/maven-i18n-plugin/src/main/resources/swixat.rules
trunk/maven-i18n-plugin/src/main/resources/validation.rules
trunk/maven-i18n-plugin/src/main/resources/xwork-validator-1.0.2.dtd
trunk/maven-i18n-plugin/src/site/apt/index.apt
trunk/maven-i18n-plugin/src/site/apt/usages.apt
trunk/maven-i18n-plugin/src/site/site_fr.xml
trunk/nuiton-i18n-editor/LICENSE.txt
trunk/nuiton-i18n-editor/README.txt
trunk/nuiton-i18n-editor/changelog.txt
trunk/nuiton-i18n-editor/pom.xml
trunk/nuiton-i18n-editor/src/main/assembly/bin.xml
trunk/nuiton-i18n-editor/src/main/assembly/go.bat
trunk/nuiton-i18n-editor/src/main/assembly/go.sh
trunk/nuiton-i18n-editor/src/main/filters/nuiton-i18n-editor.properties
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditor.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditorConfig.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditorContext.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/AbstractI18nProject.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/AbstractI18nProjectProvider.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/I18nProject.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/I18nProjectConfigurePanelUI.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/I18nProjectFactory.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/I18nProjectProvider.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/impl/DirectoryI18nProject.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/impl/DirectoryI18nProjectConfigurePanelUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/impl/DirectoryI18nProjectProvider.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/impl/JarI18nProject.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/impl/JarI18nProjectConfigurePanelUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/impl/JarI18nProjectProvider.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/BundleCheckBoxMenuUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/BundleValueUI.css
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/BundleValueUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/BundleValuesUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/CreateBundleUI.css
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/CreateBundleUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/CreatePackageUI.css
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/CreatePackageUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUI.css
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUIHandler.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/PackageCheckBoxMenuUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/PropertieNode.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/PropertiesTreeModel.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/TreeModelMode.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/ProjectStep.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/ProjectUI.css
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/ProjectUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/ProjectUIModel.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/SelectBundlesTableModel.java
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/AbstractProjectTabPanelUI.css
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/AbstractProjectTabPanelUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/ChooseProjectTypePanelUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/ConfigureProjectPanelUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/PersistPanelUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/ResumePanelUI.jaxx
trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/SelectBundlesPanelUI.jaxx
trunk/nuiton-i18n-editor/src/main/jnlp/jxlayer.jnlp
trunk/nuiton-i18n-editor/src/main/jnlp/sun.jnlp
trunk/nuiton-i18n-editor/src/main/resources/META-INF/services/org.nuiton.i18n.editor.project.I18nProjectProvider
trunk/nuiton-i18n-editor/src/main/resources/i18n/nuiton-i18n-editor-en_GB.properties
trunk/nuiton-i18n-editor/src/main/resources/i18n/nuiton-i18n-editor-fr_FR.properties
trunk/nuiton-i18n-editor/src/main/resources/icons/action-about.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-accept.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-add.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-calculator.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-cancel.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-close.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-closeTab.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-collapseAll.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-combobox-reset.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-combobox-sort.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-config.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-connect_creating.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-connect_no.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-connect_ok.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-connect_untested.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-connected.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-db-change.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-db-local.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-db-none.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-db-remote.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-delete.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-edit.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-exit.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-expandAll.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-fileChooser.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-fullscreen.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-go-back.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-go-detail.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-go-down.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-go-jump.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-go-up.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-help.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-i18n-es.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-i18n-fr.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-i18n-gb.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-import-gps.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-information.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-leave-fullscreen.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-local-export.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-local-import.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-mode-create.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-mode-read.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-mode-update.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-next-step.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-open.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-previous-step.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-remote-export.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-remote-import.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-revert.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-save.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-select-ssl-cert.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-show-help.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-site.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-synch.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-synchro-pause.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-synchro-start.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-synchro-stop.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-translate.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-unconnected.png
trunk/nuiton-i18n-editor/src/main/resources/icons/action-validate.png
trunk/nuiton-i18n-editor/src/main/resources/icons/logo OT_rvb.png
trunk/nuiton-i18n-editor/src/main/resources/icons/logo-OT_web.png
trunk/nuiton-i18n-editor/src/main/resources/icons/logo_ird.png
trunk/nuiton-i18n-editor/src/main/resources/log4j.properties
trunk/nuiton-i18n-editor/src/site/apt/index.apt
trunk/nuiton-i18n-editor/src/site/site_fr.xml
trunk/nuiton-i18n/LICENSE.txt
trunk/nuiton-i18n/README.txt
trunk/nuiton-i18n/changelog.txt
trunk/nuiton-i18n/doc/FormatConverter-uml.uxf
trunk/nuiton-i18n/pom.xml
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/CountryEnum.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18n.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nBundleBridge.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nDefaultTooltipFilter.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFileReader.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFilter.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nLanguage.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nStore.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nUtil.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/LanguageEnum.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundle.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundleEntry.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundleFactory.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundleScope.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundleUtil.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/ClassPathI18nInitializer.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/DefaultI18nInitializer.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/I18nInitializer.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/UserI18nInitializer.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/package.html
trunk/nuiton-i18n/src/main/java/org/nuiton/util/LocaleConverter.java
trunk/nuiton-i18n/src/main/resources/META-INF/services/org.apache.commons.beanutils.Converter
trunk/nuiton-i18n/src/site/apt/index.apt
trunk/nuiton-i18n/src/site/site_fr.xml
trunk/nuiton-i18n/src/test/java/org/nuiton/i18n/I18nStoreTest.java
trunk/nuiton-i18n/src/test/java/org/nuiton/i18n/bundle/I18nBundleScopeTest.java
trunk/nuiton-i18n/src/test/java/org/nuiton/util/LocaleConverterTest.java
trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest-definition.properties
trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest-en_GB.properties
trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest-fr_FR.properties
trunk/nuiton-i18n/src/test/resources/log4j.properties
trunk/pom.xml
trunk/src/site/apt/index.apt
trunk/src/site/resources/application-i18n.zip
trunk/src/site/resources/helloworld.zip
trunk/src/site/resources/library-i18n.zip
trunk/src/site/site_fr.xml
Property changes on: trunk/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/README.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/ant-i18n-task/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/ant-i18n-task/README.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/ant-i18n-task/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/ant-i18n-task/pom.xml
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Modified: trunk/ant-i18n-task/src/main/java/org/nuiton/i18n/ant/I18nExtractorTask.java
===================================================================
--- trunk/ant-i18n-task/src/main/java/org/nuiton/i18n/ant/I18nExtractorTask.java 2010-04-09 19:14:27 UTC (rev 1740)
+++ trunk/ant-i18n-task/src/main/java/org/nuiton/i18n/ant/I18nExtractorTask.java 2010-04-09 23:01:22 UTC (rev 1741)
@@ -41,7 +41,7 @@
* @version $Revision$
*
* Last update : $Date$
- * by : $Author: tchemit $
+ * by : $Author$
*/
public class I18nExtractorTask extends MatchingTask {
Property changes on: trunk/ant-i18n-task/src/main/java/org/nuiton/i18n/ant/I18nExtractorTask.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/ant-i18n-task/src/site/apt/index.apt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/ant-i18n-task/src/site/site_fr.xml
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/README.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/pom.xml
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/newProject/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/newProject/README.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/newProject/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/newProject/invoker.properties
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/newProject/pom.xml
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/newProject/src/main/java/org/nuiton/i18n/test/MyBean.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/newProject/src/main/resources/org/nuiton/i18n/test/MyBean-validation.xml
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/newProject/verify.groovy
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/README.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/invoker.properties
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/pom.xml
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/src/main/java/org/nuiton/i18n/test/MyBean.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/src/main/resources/i18n/parsers-withNewKeys-fr_FR.properties
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/src/main/resources/org/nuiton/i18n/test/MyBean-validation.xml
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/verify.groovy
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/it/settings.xml
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/AbstractI18nMojo.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GenerateMojo.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GetterMojo.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/AbstractI18nBundleMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/AbstractI18nBundleMojo.java 2010-04-09 19:14:27 UTC (rev 1740)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/AbstractI18nBundleMojo.java 2010-04-09 23:01:22 UTC (rev 1741)
@@ -35,7 +35,7 @@
* @version $Revision$
* <p/>
* Mise a jour: $Date$
- * par : $Author: tchemit $
+ * par : $Author$
*/
public abstract class AbstractI18nBundleMojo extends AbstractI18nMojo {
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/AbstractI18nBundleMojo.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/CollectI18nArtifactsMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/CollectI18nArtifactsMojo.java 2010-04-09 19:14:27 UTC (rev 1740)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/CollectI18nArtifactsMojo.java 2010-04-09 23:01:22 UTC (rev 1741)
@@ -48,7 +48,7 @@
* @version $Revision$
* <p/>
* Mise a jour: $Date$
- * par : $Author: tchemit $
+ * par : $Author$
* @goal collect-i18n-artifacts
* @phase generate-resources
* @requiresProject true
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/CollectI18nArtifactsMojo.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/I18nArtifact.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/TapestryBundleMojo.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractFileParser.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractI18nParserMojo.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/FileParser.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/I18nParserConfiguration.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/I18nSourceEntry.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/KeysModifier.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/Parser.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserEvent.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserException.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserThread.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/SourceEntry.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaActionConfigMojo.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaMojo.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaTabConfigMojo.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserValidationMojo.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserXmlMojo.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/resources/META-INF/services/org.apache.commons.logging.LogFactory
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/resources/jaxx.rules
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/resources/log4j.properties
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/resources/swixat.rules
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/resources/validation.rules
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/main/resources/xwork-validator-1.0.2.dtd
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/site/apt/index.apt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/site/apt/usages.apt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/maven-i18n-plugin/src/site/site_fr.xml
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/LICENSE.txt
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/README.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/doc/FormatConverter-uml.uxf
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/pom.xml
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/CountryEnum.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18n.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Modified: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nBundleBridge.java
===================================================================
--- trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nBundleBridge.java 2010-04-09 19:14:27 UTC (rev 1740)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nBundleBridge.java 2010-04-09 23:01:22 UTC (rev 1741)
@@ -28,7 +28,7 @@
* @version $Revision$
*
* Mise a jour: $Date$
-* par : $Author: tchemit $
+* par : $Author$
*/
package org.nuiton.i18n;
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nBundleBridge.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nDefaultTooltipFilter.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFileReader.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFilter.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nLanguage.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nStore.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nUtil.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/LanguageEnum.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundle.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundleEntry.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundleFactory.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundleScope.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundleUtil.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/ClassPathI18nInitializer.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/DefaultI18nInitializer.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/I18nInitializer.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/UserI18nInitializer.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/package.html
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/util/LocaleConverter.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/main/resources/META-INF/services/org.apache.commons.beanutils.Converter
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/site/apt/index.apt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/site/site_fr.xml
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/test/java/org/nuiton/i18n/I18nStoreTest.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/test/java/org/nuiton/i18n/bundle/I18nBundleScopeTest.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/test/java/org/nuiton/util/LocaleConverterTest.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest-definition.properties
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest-en_GB.properties
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest-fr_FR.properties
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n/src/test/resources/log4j.properties
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/README.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/pom.xml
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/assembly/bin.xml
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/assembly/go.bat
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/assembly/go.sh
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/filters/nuiton-i18n-editor.properties
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditor.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditorConfig.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditorContext.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/AbstractI18nProject.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/AbstractI18nProjectProvider.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/I18nProject.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/I18nProjectConfigurePanelUI.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/I18nProjectFactory.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/I18nProjectProvider.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/impl/DirectoryI18nProject.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/impl/DirectoryI18nProjectConfigurePanelUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/impl/DirectoryI18nProjectProvider.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/impl/JarI18nProject.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/impl/JarI18nProjectConfigurePanelUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/project/impl/JarI18nProjectProvider.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/BundleCheckBoxMenuUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/BundleValueUI.css
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/BundleValueUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/BundleValuesUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/CreateBundleUI.css
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/CreateBundleUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/CreatePackageUI.css
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/CreatePackageUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUI.css
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUIHandler.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/PackageCheckBoxMenuUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/PropertieNode.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/PropertiesTreeModel.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/TreeModelMode.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/ProjectStep.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/ProjectUI.css
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/ProjectUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/ProjectUIModel.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/SelectBundlesTableModel.java
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/AbstractProjectTabPanelUI.css
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/AbstractProjectTabPanelUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/ChooseProjectTypePanelUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/ConfigureProjectPanelUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/PersistPanelUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/ResumePanelUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/tabs/SelectBundlesPanelUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/jnlp/jxlayer.jnlp
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/jnlp/sun.jnlp
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/META-INF/services/org.nuiton.i18n.editor.project.I18nProjectProvider
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/i18n/nuiton-i18n-editor-en_GB.properties
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/i18n/nuiton-i18n-editor-fr_FR.properties
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-about.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-accept.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-add.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-calculator.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-cancel.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-close.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-closeTab.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-collapseAll.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-combobox-reset.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-combobox-sort.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-config.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-connect_creating.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-connect_no.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-connect_ok.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-connect_untested.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-connected.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-db-change.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-db-local.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-db-none.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-db-remote.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-delete.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-edit.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-exit.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-expandAll.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-fileChooser.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-fullscreen.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-go-back.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-go-detail.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-go-down.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-go-jump.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-go-up.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-help.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-i18n-es.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-i18n-fr.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-i18n-gb.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-import-gps.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-information.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-leave-fullscreen.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-local-export.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-local-import.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-mode-create.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-mode-read.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-mode-update.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-next-step.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-open.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-previous-step.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-remote-export.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-remote-import.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-revert.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-save.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-select-ssl-cert.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-show-help.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-site.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-synch.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-synchro-pause.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-synchro-start.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-synchro-stop.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-translate.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-unconnected.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/action-validate.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/logo OT_rvb.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/logo-OT_web.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/icons/logo_ird.png
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/main/resources/log4j.properties
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/site/apt/index.apt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/nuiton-i18n-editor/src/site/site_fr.xml
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/pom.xml
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/src/site/apt/index.apt
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/src/site/resources/application-i18n.zip
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/src/site/resources/helloworld.zip
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/src/site/resources/library-i18n.zip
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
Property changes on: trunk/src/site/site_fr.xml
___________________________________________________________________
Added: svn:keywords
+ HeadURL Id Date Revision Author
1
0
r1740 - in trunk: maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl nuiton-i18n/src/main/java/org/nuiton/util
by tchemit@users.nuiton.org 09 Apr '10
by tchemit@users.nuiton.org 09 Apr '10
09 Apr '10
Author: tchemit
Date: 2010-04-09 21:14:27 +0200 (Fri, 09 Apr 2010)
New Revision: 1740
Log:
fix author
Modified:
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/I18nSourceEntry.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaActionConfigMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaTabConfigMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserValidationMojo.java
trunk/nuiton-i18n/src/main/java/org/nuiton/util/LocaleConverter.java
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/I18nSourceEntry.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/I18nSourceEntry.java 2010-04-09 09:20:35 UTC (rev 1739)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/I18nSourceEntry.java 2010-04-09 19:14:27 UTC (rev 1740)
@@ -27,7 +27,7 @@
/**
* Customized {@link SourceEntry} for parsers goals.
*
- * @author chemit
+ * @author tchemit <chemit(a)codelutin.com>
*/
public class I18nSourceEntry extends SourceEntry {
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaActionConfigMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaActionConfigMojo.java 2010-04-09 09:20:35 UTC (rev 1739)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaActionConfigMojo.java 2010-04-09 19:14:27 UTC (rev 1740)
@@ -28,7 +28,7 @@
/**
* Un parseur java pour scanner les annotations ActionConfig
*
- * @author chemit
+ * @author tchemit <chemit(a)codelutin.com>
* @goal parserJavaActionConfig
* @phase generate-resources
*/
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaTabConfigMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaTabConfigMojo.java 2010-04-09 09:20:35 UTC (rev 1739)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaTabConfigMojo.java 2010-04-09 19:14:27 UTC (rev 1740)
@@ -23,7 +23,7 @@
/**
* Un parseur java pour scanner les annotations TabContentConfig.
*
- * @author chemit
+ * @author tchemit <chemit(a)codelutin.com>
* @goal parserJavaTabConfig
* @phase generate-resources
*/
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserValidationMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserValidationMojo.java 2010-04-09 09:20:35 UTC (rev 1739)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserValidationMojo.java 2010-04-09 19:14:27 UTC (rev 1740)
@@ -42,7 +42,7 @@
* target/classes pour rendre operatne le file updater (sinon lesfichiers sont
* toujours a jour...)
*
- * @author chemit
+ * @author tchemit <chemit(a)codelutin.com>
* @goal parserValidation
* @phase generate-resources
*/
Modified: trunk/nuiton-i18n/src/main/java/org/nuiton/util/LocaleConverter.java
===================================================================
--- trunk/nuiton-i18n/src/main/java/org/nuiton/util/LocaleConverter.java 2010-04-09 09:20:35 UTC (rev 1739)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/util/LocaleConverter.java 2010-04-09 19:14:27 UTC (rev 1740)
@@ -35,7 +35,7 @@
/**
* classe pour convertir une chaine en un objet {@link Locale}.
*
- * @author chemit <chemit(a)codelutin.com>
+ * @author tchemit <chemit(a)codelutin.com>
*/
public class LocaleConverter implements Converter {
1
0
r1739 - in trunk: . src/site src/site/apt src/site/resources
by jcouteau@users.nuiton.org 09 Apr '10
by jcouteau@users.nuiton.org 09 Apr '10
09 Apr '10
Author: jcouteau
Date: 2010-04-09 11:20:35 +0200 (Fri, 09 Apr 2010)
New Revision: 1739
Log:
Add documentation and tutorials
Added:
trunk/src/site/apt/application.apt
trunk/src/site/apt/bestPractices.apt
trunk/src/site/apt/extendInitializer.apt
trunk/src/site/apt/helloWorld.apt
trunk/src/site/apt/library.apt
trunk/src/site/apt/presentation.apt
trunk/src/site/resources/
trunk/src/site/resources/application-i18n.zip
trunk/src/site/resources/helloworld.zip
trunk/src/site/resources/library-i18n.zip
Modified:
trunk/
trunk/src/site/apt/index.apt
trunk/src/site/site_fr.xml
Property changes on: trunk
___________________________________________________________________
Modified: svn:ignore
- target
*.iml
+ target
*.iml
*.ipr
Added: trunk/src/site/apt/application.apt
===================================================================
--- trunk/src/site/apt/application.apt (rev 0)
+++ trunk/src/site/apt/application.apt 2010-04-09 09:20:35 UTC (rev 1739)
@@ -0,0 +1,63 @@
+Tutoriel d'application utilisant Nuiton I18n et une librairie utilisant
+Nuiton I18n (utilisation de Maven)
+
+
+ Dans ce tutoriel nous allons créer une application qui affichera un message
+ à l'utilisateur et appellera l'unique méthode de la librairie que nous avons
+ créé dans le tutoriel précédent. Nous supposons donc dans ce tutoriel que vous
+ avez suivi les deux précédents tutoriels afin de ne pas tout reprendre depuis
+ le début.
+
+* Configuration du plugin I18n
+
+ Dans la configuration du plugin I18n, nous allons rajouter le goal bundle. Ce
+ goal récupère toutes les chaînes de charactère de l'application et de ses
+ librairies afin de créer un bundle unique.
+
+-------------------
+<goal>bundle</goal>
+-------------------
+
+* Le code de l'application
+
+ Lors des précédents exemples, nous utilisions les valeurs par défaut de Nuiton
+ I18n, mais afin d'optimiser le chargement, dans une application finale, il est
+ nécéssaire de changer l'initialiseur. L'initialiseur par défaut,
+ ClassPathI18nInitializer, recherche dans le classpath tous les bundles I18n
+ afin de les charger, cependant, comme notre plugin crée un bundle regroupant
+ toutes les chaines i18n, nous pouvons utiliser un DefaultI18nInitializer, qui
+ prend en paramètre le nom du bundle créé par le plugin, ce dernier ne chargera
+ que le bundle en question, ce qui peut faire économiser jusqu'à une dizaine de
+ secondes au démarrage de l'application, suivant la taille du classpath.
+
+-------------------------------------------------------------------------------
+package org.myOrganisation.myApplication;
+
+import org.myOrganisation.myLibrary.myLibrary;
+import static org.nuiton.i18n.I18n._;
+import static org.nuiton.i18n.I18n.init;
+import static org.nuiton.i18n.I18n.setInitializer;
+import org.nuiton.i18n.init.DefaultI18nInitializer;
+
+public class myApplication {
+
+ public static void main(String[] args){
+
+ setInitializer(new DefaultI18nInitializer("myApplication-i18n"));
+ init("fr","FR");
+
+ System.out.println(_("String to translate in my application"));
+ myLibrary.myMethod();
+ }
+}
+-------------------------------------------------------------------------------
+
+* Configuration
+
+ Vous ne devrez pas oublier de préciser le classpath et la classe principale
+ dans la configuration des plugins Maven.
+
+* Sources du tutoriel
+
+ {{{./application-i18n.zip}Sources du tutoriel}}
+
Added: trunk/src/site/apt/bestPractices.apt
===================================================================
--- trunk/src/site/apt/bestPractices.apt (rev 0)
+++ trunk/src/site/apt/bestPractices.apt 2010-04-09 09:20:35 UTC (rev 1739)
@@ -0,0 +1,15 @@
+Nuiton I18n Best Practices
+
+* Choose a pattern and follow it
+
+ In an application or a library, you should choose a pattern for the i18n keys.
+ You can either choose to use keys like myapplication.key1 or sentences like
+ 'My application string'. Once you made your choice, stick to it to keep a
+ consistency in your application. Note that in an application, you can choose a
+ different pattern than the one used in the dependencies.
+
+* Always use DefaultI18nInitializer in final applications
+
+ This is not an obligation, but as it makes you gain time at your application
+ initialisation, it is really advised to use DefaultI18nInitializer for all
+ your final applications.
Added: trunk/src/site/apt/extendInitializer.apt
===================================================================
--- trunk/src/site/apt/extendInitializer.apt (rev 0)
+++ trunk/src/site/apt/extendInitializer.apt 2010-04-09 09:20:35 UTC (rev 1739)
@@ -0,0 +1,3 @@
+Extend Initializer to suit exactly your needs
+
+ TODO
Added: trunk/src/site/apt/helloWorld.apt
===================================================================
--- trunk/src/site/apt/helloWorld.apt (rev 0)
+++ trunk/src/site/apt/helloWorld.apt 2010-04-09 09:20:35 UTC (rev 1739)
@@ -0,0 +1,94 @@
+Nuiton I18n Hello World
+
+ Ce premier tutorial a pour objectif de vous montrer comment se servir de la
+ librairie Nuiton I18n de la manière la plus simple qui soit. Nous allons créer
+ une classe Main qui affiche le texte Hello World, puis nous allons traduire
+ ce texte en plusieures langues.
+
+ La classe java correspondante ressemble à ça :
+
+----------------------------------------------------------------------------
+import static org.nuiton.i18n.I18n._;
+import static org.nuiton.i18n.I18n.n_;
+
+class HelloWorld {
+
+ public static void main (String[] args){
+ System.out.println(_("Hello World"));
+ System.out.println(n_("Goodbye World"));
+ }
+}
+----------------------------------------------------------------------------
+
+ Si on compile et qu'on lance cette classe (attention a bien mettre les jar
+ de nuiton-i18n, commons-logging et commons-beanutils dans le classpath ou ça
+ ne fonctionnera pas), on obtiendra le résultat suivant :
+
+-------------
+Hello World
+Goodbye World
+-------------
+
+ Cherchons maintenant à traduire ces chaînes de charactères. Nous allons créer
+ un fichier de ressources nommé helloWorld_fr_FR.properties que nous mettrons
+ dans un dossier i18n et qui contient les chaînes
+ traduites dans la langue souhaitée. Par exemple ici en français (Attention,
+ tous les caractères spéciaux et espaces doivent être échappés par \ ).
+
+----------
+Hello\ World = Bonjour le monde
+Goodbye\ World = Au revoir le monde
+----------
+
+ On recompile et teste la classe (mettre le répertoire contenant i18n dans le
+ classpath ou Nuiton I18n ne récupèrera pas le fichier de propriété). On
+ s'aperçoit que rien n'a changé, mais cela est tout à fait normal, le système
+ n'a pas été initialisé. Nous allons donc modifier notre classe en rajoutant
+ la ligne
+
+----
+org.nuiton.i18n.I18n.init("fr","FR");
+
+----
+
+ avant le premier appel à la librairie Nuiton I18n. Cela a pour effet de dire
+ à Nuiton I18n quelle langue utiliser (en l'occurence le français). Il
+ recherche donc dans le classpath tous les fichiers i18n/????fr_FR et les
+ charge.
+
+ Pour tester il suffit de recompiler et de relancer l'application, vous devriez
+ obtenir :
+
+----
+2 avr. 2010 16:13:29 org.nuiton.i18n.init.I18nInitializer resolvBundles
+INFO: 1 bundle(s) found, in 1 file(s).
+2 avr. 2010 16:13:29 org.nuiton.i18n.I18nStore init
+INFO: 1 bundle(s) found, [1 file(s)].
+2 avr. 2010 16:13:29 org.nuiton.i18n.I18nStore addLanguage
+INFO: I18nLanguage <locale: fr_FR, nbStences:2>, nbEntries: 1, nbSentences: 2.
+Bonjour le monde
+Goodbye World
+----
+
+ Cela peut parraitre étrange mais c'est tout à fait normal. Les premières
+ lignes vous renseignent de l'évolution de l'initialisation. Ce sont des logs
+ qui proviennent de Nuiton I18n. On peut y voir le nombre de Bundles trouvés.
+ Dans notre cas 1. Et au moment du choix de langue, la locale chargée et le
+ nombre de chaînes trouvées. Dans notre cas : 2. Ensuite apparait notre
+ application traduite. Oui, mais la dernière ligne n'est pas traduite me
+ direz-vous. Et bien si vous reprenez la classe que nous avons écrite, la
+ chaîne Goodbye World est passée en paramètre de la méthode n_() et non de la
+ méthode _(). La méthode n_() indique une chaîne qui est traduite à d'autres
+ endroits de l'application mais qui ne doit pas être traduite ici. Elle est
+ donc remplacée par la chaîne non traduite.
+
+Félicitation, vous venez de traduire votre première application avec Nuiton I18n
+
+ Les sources de ce tutoriel sont téléchargeables
+ {{{./helloworld.zip}ici}}. Elles sont packagées
+ avec les librairies nécessaires à la compilation et l'exécution de cet
+ exemple.
+
+Sources du tutoriel
+
+ {{{./helloworld.zip}Sources du tutoriel}}
Modified: trunk/src/site/apt/index.apt
===================================================================
--- trunk/src/site/apt/index.apt 2010-04-04 09:52:09 UTC (rev 1738)
+++ trunk/src/site/apt/index.apt 2010-04-09 09:20:35 UTC (rev 1739)
@@ -1,14 +1,33 @@
-----
+
Nuiton I18n
+
----
+2010-04-02
----
-2009-11-02
-----
-Présentation
+ Le projet Nuiton I18n fournit des classes Java pour l'internationalisation
+ (i18n) des applications.
- Projet I18n de traduction composé de trois modules :
+ Cette librairie très légère combine les très utilisés ResourceBundles Java, une
+ API simple d'utilisation et très puissante ainsi qu'un procédé d'extension très
+ utile. De nombreux autre avantages existent à utiliser Nuiton I18n :
+ - Extraction des clés de traduction
+
+ - Integration au process de build au travers de Maven ou Ant
+
+ Petit exemple qui démontre la simplicité d'utilisation de Nuiton I18n :
+
+-----------------------------------------------------------------------------
+I18n.init(Locale.FR);
+System.out.println(I18n._("This text will be translated"));
+-----------------------------------------------------------------------------
+
+ Jettez un oeil aux tutoriaux pour voir comment enrichir votre application
+ avec Nuiton I18n.
+
+ Les trois modules du projet Nuiton I18n :
+
- {{{./nuiton-i18n/index.html}I18n Api}}
- {{{./maven-i18n-plugin/index.html}I18n Maven Plugin}}
Added: trunk/src/site/apt/library.apt
===================================================================
--- trunk/src/site/apt/library.apt (rev 0)
+++ trunk/src/site/apt/library.apt 2010-04-09 09:20:35 UTC (rev 1739)
@@ -0,0 +1,182 @@
+Tutoriel de librairie utilisant Nuiton I18n (utilisation de Maven)
+
+* Pourquoi un tutoriel différent pour une librairie et pour une application
+finale ?
+
+ Lorsque l'on crée une application finale, au moment du build, on crée un
+ bundle regroupant les chaînes de l'application et de ses dépendances afin
+ d'optimiser le chargement de l'application (on peut ainsi économiser jusqu'à
+ plusieurs secondes au démarrage). Lorsque l'on crée une librairie, aucun
+ bundle n'est réalisé, l'utilisation et la configuration de la librairie est
+ donc plus simple.
+
+* Le tutoriel
+
+ Dans ce tutoriel nous allons créer une librairie avec une classe unique qui va
+ juste afficher un message dans les logs. C'est ce message qui sera traduit.
+
+* Créons le projet Maven et configurons le plugin Nuiton I18n
+
+ Créons un projet Maven standard. Dans le pom.xml, nous allons configurer le
+ plugin Maven Nuiton I18n.
+
+-------------------------------------------------------------------------------
+<plugin>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>maven-i18n-plugin</artifactId>
+ <version>1.2.1</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>parserJava</goal>
+ <goal>gen</goal>
+ </goals>
+ </execution>
+ </executions>
+</plugin>
+-------------------------------------------------------------------------------
+
+ Dans la configuration du plugin, nous spécifions les goals à effectuer. Le
+ goal parserJava extrait toutes les chaînes de charactère à traduire du code
+ java. Le goal gen récupère le fichier de resource contenant les chaînes déjà
+ traduites et y ajoute les chaînes extraites par le goal parserJava qui ne sont
+ pas déjà présentes. Vous pouvez ensuite traduire les chaînes.
+
+ Afin que le plugin fonctionne, il ne faut pas oublier d'ajouter la librairie
+ Nuiton I18n dans les dépendances.
+
+-------------------------------------------------------------------------------
+<dependency>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>nuiton-i18n-api</artifactId>
+ <version>1.2.1</version>
+ <scope>compile</scope>
+</dependency>
+-------------------------------------------------------------------------------
+
+ Comme nous réalisons un import static, il faut configurer le plugin maven de
+ compilation
+
+-------------------------------------------------------------------------------
+<plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ <encoding>UTF-8</encoding>
+ <showDeprecation>true</showDeprecation>
+ <showWarnings>true</showWarnings>
+ </configuration>
+</plugin>
+-------------------------------------------------------------------------------
+
+ Et pour récupérer le plugin et la librairie Nuiton I18n, il ne faut pas
+ oublier d'ajouter les dépots nuiton.
+
+-------------------------------------------------------------------------------
+<repositories>
+
+ <!-- depot des releases nuiton -->
+
+ <repository>
+ <id>nuiton.release</id>
+ <name>NuitonReleaseRepository</name>
+ <url>http://maven.nuiton.org/release</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ <checksumPolicy>warn</checksumPolicy>
+ </releases>
+ </repository>
+
+ <!-- depot des snapshots nuiton -->
+
+ <repository>
+ <id>nuiton.snapshot</id>
+ <name>NuitonSnapshotRepository</name>
+ <url>http://maven.nuiton.org/snapshot</url>
+ <snapshots>
+ <enabled>true</enabled>
+ <checksumPolicy>fail</checksumPolicy>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+
+</repositories>
+
+<pluginRepositories>
+
+ <!-- depot des releases nuiton -->
+
+ <pluginRepository>
+
+ <id>nuiton.release</id>
+ <name>NuitonReleaseRepository</name>
+ <url>http://maven.nuiton.org/release</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ <checksumPolicy>warn</checksumPolicy>
+ </releases>
+ </pluginRepository>
+
+ <!-- depot des snapshots nuiton -->
+
+ <pluginRepository>
+ <id>nuiton.snapshot</id>
+ <name>NuitonSnapshotRepository</name>
+ <url>http://maven.nuiton.org/snapshot</url>
+ <snapshots>
+ <enabled>true</enabled>
+ <checksumPolicy>fail</checksumPolicy>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </pluginRepository>
+
+</pluginRepositories>
+-------------------------------------------------------------------------------
+
+* Créons notre librairie
+
+ Notre librairie, pour faire simple, ne contiendra qu'une classe et une
+ méthode statique
+
+-------------------------------------------------------------------------------
+package org.myOrganisation.myLibrary;
+
+import static org.nuiton.i18n.I18n._;
+
+public class myLibrary {
+
+ static public void myMethod(){
+ System.out.println(_("My message to translate"));
+ }
+}
+-------------------------------------------------------------------------------
+
+* Premier build
+
+ Lorsque vous buildez votre librairie pour la première fois avec la commande
+ mvn compile, vous devez obtenir la création de deux nouveaux fichiers de
+ ressource contenant chacun la chaîne à traduire sans traduction.
+
+ Vous pouvez traduire la chaîne de charactère dans les deux langues, vous aurez
+ alors la traduction disponibles dans vos prochains builds.
+
+* Second build
+
+ Si vous buildez de nouveau la librairie, puis l'intégrez dans une application
+ finale utilisant Nuiton I18n, le message sera affiché traduit.
+
+* Sources du tutoriel
+
+ {{{./library-i18n.zip}Sources du tutoriel}}
Added: trunk/src/site/apt/presentation.apt
===================================================================
--- trunk/src/site/apt/presentation.apt (rev 0)
+++ trunk/src/site/apt/presentation.apt 2010-04-09 09:20:35 UTC (rev 1739)
@@ -0,0 +1,29 @@
+Présentation
+
+ La librairie Nuiton I18n a un fonctionnement relativement simple. Les chaînes
+ à traduire sont simplement marquées par la méthode I18n._("Chaîne à traduire").
+ Il est possible de marquer des chaînes à ne pas traduire par la méthode
+ I18n.n_("Chaîne à ne pas traduire").
+
+ La librairie doit être initialisée au lancement de votre application par une
+ des méthodes I18n.init() qui peuvent prendre en paramètre, une locale, une
+ chaîne décrivant la langue,...
+
+ Les chaînes à traduire doivent être rentrées dans un fichier de propriétés
+ situé dans le classpath de votre application, dans un dossier i18n, et nommé
+ de la manière suivante : xxx-fr_FR.properties par exemple.
+
+ A l'initialisation, la librairie recherche dans le classpath tous les fichiers
+ de traduction correspondant à la langue définie (dans les dossiers i18n du
+ classpath à proprement parler) et charge toutes les traductions correspondant
+ à la langue affichée. Ensuite, à l'affichage, à chaque fois qu'une chaîne est
+ demandée, I18n retourne la chaîne traduite dans la langue souhaitée.
+
+ Le plugin Maven permet de rechercher automatiquement les chaînes non traduites
+ dans le code source de l'application, de les rajouter dans les fichiers de
+ ressources et de créer un bundle regroupant toutes les chaînes et traductions
+ de l'application et de ses dépendances.
+
+ Pour comprendre comment bien utiliser la librairie Nuiton I18n, il est
+ fortement conseillé de suivre les tutoriaux, et de préférence dans l'ordre,
+ ces derniers étant de complexité croissante.
Added: trunk/src/site/resources/application-i18n.zip
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/application-i18n.zip
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/helloworld.zip
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/helloworld.zip
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/library-i18n.zip
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/library-i18n.zip
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/src/site/site_fr.xml
===================================================================
--- trunk/src/site/site_fr.xml 2010-04-04 09:52:09 UTC (rev 1738)
+++ trunk/src/site/site_fr.xml 2010-04-09 09:20:35 UTC (rev 1739)
@@ -18,8 +18,20 @@
<menu name="Utilisateur">
<item name="Accueil" href="index.html"/>
+ <item name="Présentation" href="presentation.html"/>
+ <item name="Best Practices" href="bestPractices.html"/>
</menu>
+ <menu name="Tutoriaux">
+ <item name="Hello World" href="helloWorld.html"/>
+ <item name="Librairie" href="library.html"/>
+ <item name="Application finale" href="application.html"/>
+ </menu>
+
+ <menu name="Développeur">
+ <item name="Etendre Initializer" href="extendInitializer.html"/>
+ </menu>
+
<menu ref="modules"/>
<menu ref="reports"/>
1
0
r1738 - in trunk: . maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle
by tchemit@users.nuiton.org 04 Apr '10
by tchemit@users.nuiton.org 04 Apr '10
04 Apr '10
Author: tchemit
Date: 2010-04-04 11:52:09 +0200 (Sun, 04 Apr 2010)
New Revision: 1738
Log:
Evolution #453: Use maven-helper-plugin 1.2.3
Modified:
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/AbstractI18nBundleMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/TapestryBundleMojo.java
trunk/pom.xml
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/AbstractI18nBundleMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/AbstractI18nBundleMojo.java 2010-04-03 19:36:06 UTC (rev 1737)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/AbstractI18nBundleMojo.java 2010-04-04 09:52:09 UTC (rev 1738)
@@ -26,8 +26,6 @@
import java.io.File;
import java.io.IOException;
import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
import java.util.Locale;
/**
@@ -53,7 +51,8 @@
/**
* Nom de base des fichiers qui contient les localisations des bundles.
*
- * @parameter expression="${i18n.collectOutputName}" default-value="collect-${project.artifactId}-i18n"
+ * @parameter expression="${i18n.collectOutputName}"
+ * default-value="collect-${project.artifactId}-i18n"
* @required
* @since 1.0.2
*/
@@ -91,20 +90,15 @@
}
/**
- * TODO Move this in PluginHelper.
- *
* @param src the source file to read
* @return the url instanciated from lines of the source file.
* @throws IOException if any pb while reading file
+ * @deprecated since 1.2.2, use the {@link PluginHelper#getLinesAsURL(File)}
+ * instead.
*/
+ @Deprecated
public static URL[] getLinesAsURL(File src) throws IOException {
- List<URL> result = new ArrayList<URL>();
- for (String line : PluginHelper.getLines(src)) {
- if (!line.isEmpty()) {
- result.add(new URL(line));
- }
- }
- return result.toArray(new URL[result.size()]);
+ return PluginHelper.getLinesAsURL(src);
}
}
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java 2010-04-03 19:36:06 UTC (rev 1737)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java 2010-04-04 09:52:09 UTC (rev 1738)
@@ -232,7 +232,7 @@
if (!file.exists()) {
return I18nBundleUtil.EMPTY_URL_ARRAY;
}
- URL[] urls = getLinesAsURL(file);
+ URL[] urls = PluginHelper.getLinesAsURL(file);
return urls;
}
}
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/TapestryBundleMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/TapestryBundleMojo.java 2010-04-03 19:36:06 UTC (rev 1737)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/TapestryBundleMojo.java 2010-04-04 09:52:09 UTC (rev 1738)
@@ -197,7 +197,7 @@
if (!file.exists()) {
return I18nBundleUtil.EMPTY_URL_ARRAY;
}
- URL[] urls = getLinesAsURL(file);
+ URL[] urls = PluginHelper.getLinesAsURL(file);
return urls;
}
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-04-03 19:36:06 UTC (rev 1737)
+++ trunk/pom.xml 2010-04-04 09:52:09 UTC (rev 1738)
@@ -224,7 +224,7 @@
<projectId>i18n</projectId>
<processor.version>1.0.3</processor.version>
-
+ <helper.version>1.2.3-SNAPSHOT</helper.version>
</properties>
<!-- ************************************************************* -->
1
0
r1737 - trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl
by tchemit@users.nuiton.org 03 Apr '10
by tchemit@users.nuiton.org 03 Apr '10
03 Apr '10
Author: tchemit
Date: 2010-04-03 21:36:06 +0200 (Sat, 03 Apr 2010)
New Revision: 1737
Log:
add debug log to show all keys detected by file
Modified:
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaMojo.java
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaMojo.java 2010-04-03 09:44:25 UTC (rev 1736)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaMojo.java 2010-04-03 19:36:06 UTC (rev 1737)
@@ -154,6 +154,9 @@
// Found a set of i18n Strings, split it.
String[] keys = keysSet.split("=");
for (String key : keys) {
+ if (getLog().isDebugEnabled()) {
+ getLog().debug(file.getName()+" detected key = " + key);
+ }
registerKey(key);
}
}
1
0
r1736 - in trunk: . ant-i18n-task maven-i18n-plugin nuiton-i18n
by tchemit@users.nuiton.org 03 Apr '10
by tchemit@users.nuiton.org 03 Apr '10
03 Apr '10
Author: tchemit
Date: 2010-04-03 11:44:25 +0200 (Sat, 03 Apr 2010)
New Revision: 1736
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/ant-i18n-task/pom.xml
trunk/maven-i18n-plugin/pom.xml
trunk/nuiton-i18n/pom.xml
trunk/pom.xml
Modified: trunk/ant-i18n-task/pom.xml
===================================================================
--- trunk/ant-i18n-task/pom.xml 2010-04-03 09:44:21 UTC (rev 1735)
+++ trunk/ant-i18n-task/pom.xml 2010-04-03 09:44:25 UTC (rev 1736)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>i18n</artifactId>
- <version>1.2.1</version>
+ <version>1.2.2-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.i18n</groupId>
Modified: trunk/maven-i18n-plugin/pom.xml
===================================================================
--- trunk/maven-i18n-plugin/pom.xml 2010-04-03 09:44:21 UTC (rev 1735)
+++ trunk/maven-i18n-plugin/pom.xml 2010-04-03 09:44:25 UTC (rev 1736)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>i18n</artifactId>
- <version>1.2.1</version>
+ <version>1.2.2-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.i18n</groupId>
Modified: trunk/nuiton-i18n/pom.xml
===================================================================
--- trunk/nuiton-i18n/pom.xml 2010-04-03 09:44:21 UTC (rev 1735)
+++ trunk/nuiton-i18n/pom.xml 2010-04-03 09:44:25 UTC (rev 1736)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>i18n</artifactId>
- <version>1.2.1</version>
+ <version>1.2.2-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.i18n</groupId>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-04-03 09:44:21 UTC (rev 1735)
+++ trunk/pom.xml 2010-04-03 09:44:25 UTC (rev 1736)
@@ -13,7 +13,7 @@
</parent>
<artifactId>i18n</artifactId>
- <version>1.2.1</version>
+ <version>1.2.2-SNAPSHOT</version>
<modules>
<module>nuiton-i18n</module>
@@ -233,9 +233,9 @@
<!-- Source control management. -->
<scm>
- <connection>scm:svn:http://svn.nuiton.org/svn/i18n/tags/i18n-1.2.1</connection>
- <developerConnection>scm:svn:http://svn.nuiton.org/svn/i18n/tags/i18n-1.2.1</developerConnection>
- <url>http://www.nuiton.org/repositories/browse/i18n/tags/i18n-1.2.1</url>
+ <connection>scm:svn:http://svn.nuiton.org/svn/i18n/trunk</connection>
+ <developerConnection>scm:svn:http://svn.nuiton.org/svn/i18n/trunk</developerConnection>
+ <url>http://www.nuiton.org/repositories/browse/i18n/trunk</url>
</scm>
</project>
1
0
Author: tchemit
Date: 2010-04-03 11:44:21 +0200 (Sat, 03 Apr 2010)
New Revision: 1735
Log:
[maven-release-plugin] copy for tag i18n-1.2.1
Added:
tags/i18n-1.2.1/
1
0
r1734 - in trunk: . ant-i18n-task maven-i18n-plugin nuiton-i18n
by tchemit@users.nuiton.org 03 Apr '10
by tchemit@users.nuiton.org 03 Apr '10
03 Apr '10
Author: tchemit
Date: 2010-04-03 11:44:19 +0200 (Sat, 03 Apr 2010)
New Revision: 1734
Log:
[maven-release-plugin] prepare release i18n-1.2.1
Modified:
trunk/ant-i18n-task/pom.xml
trunk/maven-i18n-plugin/pom.xml
trunk/nuiton-i18n/pom.xml
trunk/pom.xml
Modified: trunk/ant-i18n-task/pom.xml
===================================================================
--- trunk/ant-i18n-task/pom.xml 2010-04-03 09:38:02 UTC (rev 1733)
+++ trunk/ant-i18n-task/pom.xml 2010-04-03 09:44:19 UTC (rev 1734)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>i18n</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.2.1</version>
</parent>
<groupId>org.nuiton.i18n</groupId>
Modified: trunk/maven-i18n-plugin/pom.xml
===================================================================
--- trunk/maven-i18n-plugin/pom.xml 2010-04-03 09:38:02 UTC (rev 1733)
+++ trunk/maven-i18n-plugin/pom.xml 2010-04-03 09:44:19 UTC (rev 1734)
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -11,7 +9,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>i18n</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.2.1</version>
</parent>
<groupId>org.nuiton.i18n</groupId>
Modified: trunk/nuiton-i18n/pom.xml
===================================================================
--- trunk/nuiton-i18n/pom.xml 2010-04-03 09:38:02 UTC (rev 1733)
+++ trunk/nuiton-i18n/pom.xml 2010-04-03 09:44:19 UTC (rev 1734)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>i18n</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.2.1</version>
</parent>
<groupId>org.nuiton.i18n</groupId>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-04-03 09:38:02 UTC (rev 1733)
+++ trunk/pom.xml 2010-04-03 09:44:19 UTC (rev 1734)
@@ -13,7 +13,7 @@
</parent>
<artifactId>i18n</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.2.1</version>
<modules>
<module>nuiton-i18n</module>
@@ -233,9 +233,9 @@
<!-- Source control management. -->
<scm>
- <connection>scm:svn:http://svn.nuiton.org/svn/i18n/trunk</connection>
- <developerConnection>scm:svn:http://svn.nuiton.org/svn/i18n/trunk</developerConnection>
- <url>http://www.nuiton.org/repositories/browse/i18n/trunk</url>
+ <connection>scm:svn:http://svn.nuiton.org/svn/i18n/tags/i18n-1.2.1</connection>
+ <developerConnection>scm:svn:http://svn.nuiton.org/svn/i18n/tags/i18n-1.2.1</developerConnection>
+ <url>http://www.nuiton.org/repositories/browse/i18n/tags/i18n-1.2.1</url>
</scm>
</project>
1
0
r1733 - in trunk/maven-i18n-plugin/src: it/parsers/newProject it/parsers/withNewKeys main/java/org/nuiton/i18n/plugin main/java/org/nuiton/i18n/plugin/parser
by tchemit@users.nuiton.org 03 Apr '10
by tchemit@users.nuiton.org 03 Apr '10
03 Apr '10
Author: tchemit
Date: 2010-04-03 11:38:02 +0200 (Sat, 03 Apr 2010)
New Revision: 1733
Log:
finalize fix bug #438 + improve design and integration tests
Added:
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/I18nParserConfiguration.java
Modified:
trunk/maven-i18n-plugin/src/it/parsers/newProject/invoker.properties
trunk/maven-i18n-plugin/src/it/parsers/newProject/pom.xml
trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/invoker.properties
trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/pom.xml
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/AbstractI18nMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GenerateMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractFileParser.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractI18nParserMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/FileParser.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserThread.java
Modified: trunk/maven-i18n-plugin/src/it/parsers/newProject/invoker.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/parsers/newProject/invoker.properties 2010-04-02 20:02:13 UTC (rev 1732)
+++ trunk/maven-i18n-plugin/src/it/parsers/newProject/invoker.properties 2010-04-03 09:38:02 UTC (rev 1733)
@@ -1,6 +1,6 @@
# A comma or space separated list of goals/phases to execute, may
# specify an empty list to execute the default goal of the IT project
-invoker.goals=clean process-resources
+invoker.goals=clean compile
# Optionally, a list of goals to run during further invocations of Maven
#invoker.goals.2=${project.groupId}:${project.artifactId}:${project.version}:run
Modified: trunk/maven-i18n-plugin/src/it/parsers/newProject/pom.xml
===================================================================
--- trunk/maven-i18n-plugin/src/it/parsers/newProject/pom.xml 2010-04-02 20:02:13 UTC (rev 1732)
+++ trunk/maven-i18n-plugin/src/it/parsers/newProject/pom.xml 2010-04-03 09:38:02 UTC (rev 1733)
@@ -15,6 +15,7 @@
<version>@pom.version@</version>
</parent>
+ <groupId>org.nuiton.i18n</groupId>
<artifactId>parsers-newProject</artifactId>
<!-- ************************************************************* -->
@@ -29,15 +30,17 @@
<packaging>jar</packaging>
- <properties>
- <i18nVersion>@pom.version@</i18nVersion>
+ <dependencies>
- <!-- default encoding -->
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nuiton-i18n</artifactId>
+ <version>${project.version}</version>
+ </dependency>
- </properties>
-
+ </dependencies>
+
<build>
<plugins>
@@ -45,27 +48,27 @@
<plugin>
<groupId>org.nuiton.i18n</groupId>
<artifactId>maven-i18n-plugin</artifactId>
- <version>${i18nVersion}</version>
-
- <!--configuration>
- <treateDefaultEntry>false</treateDefaultEntry>
- <entries>
- <entry>
- <specificGoal>parserValidation</specificGoal>
- <basedir>${maven.src.dir}/main/java/</basedir>
- <includes>
- <param>**/**-validation.xml</param>
- </includes>
- </entry>
- </entries>
- </configuration-->
+ <version>@pom.version@</version>
+ <configuration>
+ <verbose>true</verbose>
+ </configuration>
<executions>
<execution>
+ <id>first</id>
<goals>
<goal>parserJava</goal>
<goal>parserValidation</goal>
</goals>
</execution>
+ <execution>
+ <!-- this execution is to test thread with no files -->
+ <id>second</id>
+ <goals>
+ <goal>parserJava</goal>
+ <goal>parserValidation</goal>
+ </goals>
+ <phase>compile</phase>
+ </execution>
</executions>
</plugin>
</plugins>
Modified: trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/invoker.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/invoker.properties 2010-04-02 20:02:13 UTC (rev 1732)
+++ trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/invoker.properties 2010-04-03 09:38:02 UTC (rev 1733)
@@ -1,6 +1,6 @@
# A comma or space separated list of goals/phases to execute, may
# specify an empty list to execute the default goal of the IT project
-invoker.goals=clean process-resources
+invoker.goals=clean compile
# Optionally, a list of goals to run during further invocations of Maven
#invoker.goals.2=${project.groupId}:${project.artifactId}:${project.version}:run
Modified: trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/pom.xml
===================================================================
--- trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/pom.xml 2010-04-02 20:02:13 UTC (rev 1732)
+++ trunk/maven-i18n-plugin/src/it/parsers/withNewKeys/pom.xml 2010-04-03 09:38:02 UTC (rev 1733)
@@ -15,6 +15,7 @@
<version>@pom.version@</version>
</parent>
+ <groupId>org.nuiton.i18n</groupId>
<artifactId>parsers-withNewKeys</artifactId>
<!-- ************************************************************* -->
@@ -29,15 +30,16 @@
<packaging>jar</packaging>
- <properties>
+ <dependencies>
- <i18nVersion>@pom.version@</i18nVersion>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nuiton-i18n</artifactId>
+ <version>${project.version}</version>
+ </dependency>
- <!-- default encoding -->
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </dependencies>
- </properties>
-
<build>
<plugins>
@@ -45,30 +47,30 @@
<plugin>
<groupId>org.nuiton.i18n</groupId>
<artifactId>maven-i18n-plugin</artifactId>
- <version>${i18nVersion}</version>
+ <version>@pom.version@</version>
<configuration>
<keepGetters>true</keepGetters>
+ <verbose>true</verbose>
</configuration>
- <!--configuration>
- <treateDefaultEntry>false</treateDefaultEntry>
- <entries>
- <entry>
- <specificGoal>parserValidation</specificGoal>
- <basedir>${maven.src.dir}/main/java/</basedir>
- <includes>
- <param>**/**-validation.xml</param>
- </includes>
- </entry>
- </entries>
- </configuration-->
<executions>
<execution>
+ <id>first</id>
<goals>
<goal>parserJava</goal>
<goal>parserValidation</goal>
<goal>gen</goal>
</goals>
</execution>
+ <execution>
+ <!-- this execution is to test thread with no files -->
+ <id>second</id>
+ <goals>
+ <goal>parserJava</goal>
+ <goal>parserValidation</goal>
+ <goal>gen</goal>
+ </goals>
+ <phase>compile</phase>
+ </execution>
</executions>
</plugin>
</plugins>
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/AbstractI18nMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/AbstractI18nMojo.java 2010-04-02 20:02:13 UTC (rev 1732)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/AbstractI18nMojo.java 2010-04-03 09:38:02 UTC (rev 1733)
@@ -139,6 +139,7 @@
return !acceptPackaging(Packaging.pom);
}
+ @Override
public void init() throws Exception {
if (verbose) {
@@ -251,10 +252,12 @@
}
+ @Override
public File getBackupFile(File file) {
return new File(file.getAbsolutePath() + "~");
}
+ @Override
protected void backupFile(File f) throws IOException {
File dst = getBackupFile(f);
copyFile(f, dst);
@@ -268,19 +271,31 @@
this.encoding = encoding;
}
+ @Override
public MavenProject getProject() {
return project;
}
+ @Override
public void setProject(MavenProject project) {
this.project = project;
}
+ @Override
public boolean isVerbose() {
return verbose;
}
+ @Override
public void setVerbose(boolean verbose) {
this.verbose = verbose;
}
+
+ public boolean isSilent() {
+ return silent;
+ }
+
+ public boolean isStrictMode() {
+ return strictMode;
+ }
}
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GenerateMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GenerateMojo.java 2010-04-02 20:02:13 UTC (rev 1732)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GenerateMojo.java 2010-04-03 09:38:02 UTC (rev 1733)
@@ -73,7 +73,6 @@
*/
protected boolean keepGetters;
-
@Override
protected boolean checkSkip() {
if (!needGeneration()) {
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractFileParser.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractFileParser.java 2010-04-02 20:02:13 UTC (rev 1732)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractFileParser.java 2010-04-03 09:38:02 UTC (rev 1733)
@@ -63,6 +63,11 @@
return log;
}
+ /**
+ * Method to invoke when a i18n key was detected .
+ *
+ * @param key the i18n key to register
+ */
protected void registerKey(String key) {
Object value = oldParser.get(key);
if (value == null) {
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractI18nParserMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractI18nParserMojo.java 2010-04-02 20:02:13 UTC (rev 1732)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractI18nParserMojo.java 2010-04-03 09:38:02 UTC (rev 1733)
@@ -34,7 +34,7 @@
*
* @author tony
*/
-public abstract class AbstractI18nParserMojo extends AbstractI18nMojo {
+public abstract class AbstractI18nParserMojo extends AbstractI18nMojo implements I18nParserConfiguration {
/** @return the outGetter to use for the instance (java.getter,...) */
protected abstract String getOutGetter();
@@ -64,8 +64,16 @@
/** @return the default src directory to use in directory scanner */
protected abstract File getDefaultBasedir();
+ /**
+ * @return a new file parser to be used in the parser consumer thread
+ * @since 1.2
+ */
public abstract FileParser newFileParser();
+ /**
+ * @param entry the incoming source entry to attach to the file updater
+ * @return a new file updater to detects files to treate
+ */
public abstract FileUpdater newFileUpdater(SourceEntry entry);
/**
@@ -146,6 +154,7 @@
ParserThread thread;
+ @Override
public boolean isStrictMode() {
return strictMode;
}
@@ -187,7 +196,7 @@
}
}
- thread = new ParserThread(result);
+ thread = new ParserThread(this);
}
@Override
@@ -245,13 +254,15 @@
continue;
}
+ // launch parser for found files
+ String[] files = entry.getFiles();
+
if (!silent) {
getLog().info("start entry " + entry.toString());
- getLog().info("incoming file(s) : " + entry.getFoudFiles());
+ getLog().info(files.length + " file(s) to treate (amoung " +
+ entry.getFoudFiles() + " files)");
}
- // launch parser for found files
- String[] files = entry.getFiles();
for (int i = 0, max = files.length; i < max; i++) {
String file1 = files[i];
String fileName = entry.getBasedir().getAbsolutePath() +
@@ -301,6 +312,16 @@
thread.clear();
}
+ @Override
+ public boolean isShowTouchedFiles() {
+ return showTouchedFiles;
+ }
+
+ @Override
+ public SortedProperties getResult() {
+ return result;
+ }
+
/**
* Add the default entry to entries given in configuration.
* <p/>
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/FileParser.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/FileParser.java 2010-04-02 20:02:13 UTC (rev 1732)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/FileParser.java 2010-04-03 09:38:02 UTC (rev 1733)
@@ -1,6 +1,5 @@
package org.nuiton.i18n.plugin.parser;
-import org.apache.maven.plugin.logging.Log;
import org.nuiton.io.SortedProperties;
import java.io.File;
@@ -16,24 +15,15 @@
public interface FileParser {
/**
- * maven logger to use.
- *
- * @return the logger
- */
- Log getLog();
-
- /** @return {@code true} if should print on logger when file is touched */
- boolean isShowTouchedFiles();
-
- /**
* @return {@code true} if file was touched (says contains at least one i18n
* key)
*/
boolean isTouched();
/**
- * TODO As we do not used anylonger old language, we should directly TODO
- * use only a set of keys, no need to keep i18n value...
+ * TODO As we do not used anylonger old language, we should directly
+ * <p/>
+ * TODO use only a set of keys, no need to keep i18n value...
*
* @return the results of i18n keys found for the given file
*/
Added: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/I18nParserConfiguration.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/I18nParserConfiguration.java (rev 0)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/I18nParserConfiguration.java 2010-04-03 09:38:02 UTC (rev 1733)
@@ -0,0 +1,23 @@
+package org.nuiton.i18n.plugin.parser;
+
+import org.apache.maven.plugin.logging.Log;
+import org.nuiton.io.SortedProperties;
+
+/**
+ * Shared configuration for a parser mojo.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.2
+ */
+public interface I18nParserConfiguration {
+
+ boolean isVerbose();
+
+ boolean isSilent();
+
+ boolean isShowTouchedFiles();
+
+ Log getLog();
+
+ SortedProperties getResult();
+}
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/I18nParserConfiguration.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserThread.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserThread.java 2010-04-02 20:02:13 UTC (rev 1732)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserThread.java 2010-04-03 09:38:02 UTC (rev 1733)
@@ -1,7 +1,6 @@
package org.nuiton.i18n.plugin.parser;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.apache.maven.plugin.logging.Log;
import org.nuiton.io.SortedProperties;
import org.nuiton.plugin.PluginHelper;
@@ -17,135 +16,15 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.2
*/
-public class ParserThread extends Thread {
+public class ParserThread extends Thread implements I18nParserConfiguration {
- /** Logger */
- private static final Log log = LogFactory.getLog(ParserThread.class);
-
/**
- * This is a task to parse a {@link #file}.
- * <p/>
- * The task will be executed in the executor service created in the thread.
+ * the incoming configuration (from mojo which contains shared result and
+ * logger)
*/
- class ParserTask implements Runnable {
+ protected final I18nParserConfiguration configuration;
- /** the file parser */
- protected final FileParser parser;
-
- /** the file to parse */
- protected final File file;
-
- /** starting time */
- protected long startingTime;
-
- /** ending time */
- protected long endingTime;
-
- ParserTask(FileParser parser, File file) {
- this.parser = parser;
- this.file = file;
- }
-
- @Override
- public void run() {
- startingTime = System.nanoTime();
- if (log.isDebugEnabled()) {
- log.debug("starting action for " + file);
- }
- try {
-
- parser.parseFile(file);
-
- } catch (IOException e) {
- if (log.isErrorEnabled()) {
- log.error("could not parse file " + file, e);
- }
- } finally {
-
- if (log.isDebugEnabled()) {
- log.debug("ending action for " + file);
- }
- endingTime = System.nanoTime();
- }
- }
-
- @Override
- public String toString() {
- return super.toString() + " - " + file;
- }
-
- protected File getFile() {
- return file;
- }
-
- protected long getDelay() {
- return endingTime - startingTime;
- }
-
- protected void destroy() {
- parser.destroy();
- }
-
- @Override
- protected void finalize() throws Throwable {
- super.finalize();
- destroy();
- }
-
- /**
- * Register the result of the parsing of the {@link #file} after {@link
- * #run()} method was invoked.
- * <p/>
- * This method should be invoked by the executor as an ending hook.
- *
- * @param treatedFiles list of files already treated
- * @param touchedFiles list of files already touched
- * @param result shared result.
- */
- protected synchronized void registerResult(List<File> treatedFiles,
- List<File> touchedFiles,
- SortedProperties result) {
-
- try {
- treatedFiles.add(file);
- if (log.isDebugEnabled()) {
- String delay = PluginHelper.convertTime(getDelay());
- log.debug("[" + treatedFiles.size() + "] " + file +
- " in " + delay);
- }
-
- if (parser.isTouched()) {
-
- // mark file as touched
- touchedFiles.add(file);
-
- if (parser.isShowTouchedFiles()) {
- parser.getLog().info("touch " + file);
- }
- if (log.isInfoEnabled()) {
- String delay = PluginHelper.convertTime(getDelay());
- log.info("[" + treatedFiles.size() + "] touchs " +
- file + " in " + delay);
- }
-
- // merge file result with
- // merge result
- result.putAll(parser.getResult());
- }
- } finally {
-
- // destroy runner
- destroy();
-
- // release lock2
-
- synchronized (lock2) {
- lock2.notifyAll();
- }
- }
- }
- }
-
+ /** queue of tasks to consume */
protected final BlockingQueue<ParserTask> tasks;
/** list of files consumed */
@@ -154,8 +33,8 @@
/** list of files touched (says having at least one i18n key) */
protected final List<File> touchedFiles;
- /** the shared result where to merge atomic results */
- protected final SortedProperties result;
+ /** number of files registred to consume */
+ protected int nbFiles;
/**
* object used to lock method {@link #terminatesAndWaits()} until the thread
@@ -169,17 +48,39 @@
*/
private final Object lock2 = new Object();
- /** number of files registred to consume */
- protected int nbFiles;
-
- public ParserThread(SortedProperties result) {
+ public ParserThread(I18nParserConfiguration configuration) {
super(ParserThread.class.getSimpleName());
- this.result = result;
+ this.configuration = configuration;
tasks = new LinkedBlockingQueue<ParserTask>();
touchedFiles = new ArrayList<File>();
treatedFiles = new ArrayList<File>();
}
+ @Override
+ public boolean isVerbose() {
+ return getConfiguration().isVerbose();
+ }
+
+ @Override
+ public boolean isSilent() {
+ return getConfiguration().isSilent();
+ }
+
+ @Override
+ public boolean isShowTouchedFiles() {
+ return getConfiguration().isShowTouchedFiles();
+ }
+
+ @Override
+ public Log getLog() {
+ return getConfiguration().getLog();
+ }
+
+ @Override
+ public SortedProperties getResult() {
+ return getConfiguration().getResult();
+ }
+
public List<File> getTreatedFiles() {
return treatedFiles;
}
@@ -199,8 +100,8 @@
for (File f : files) {
nbFiles++;
- if (log.isInfoEnabled()) {
- log.info("[" + nbFiles + "] " + f);
+ if (isVerbose()) {
+ getLog().info("[" + nbFiles + "] " + f);
}
tasks.offer(new ParserTask(parser, f));
}
@@ -215,49 +116,55 @@
* <b>Note:</b> The method does not return until all files are not
* consumed.
*/
- public void terminatesAndWaits() {
+ public synchronized void terminatesAndWaits() {
- if (log.isInfoEnabled()) {
- log.info("add terminate runner");
+ if (isVerbose()) {
+ getLog().info("add terminate runner");
}
tasks.offer(new ParserTask(null, null));
- // block until end of service
-
- if (log.isInfoEnabled()) {
- log.info("block until ends...");
+ // we waits a little time to make sure, the thread receive the
+ // sentinel, we can not use a lock here
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException e) {
+ if (getLog().isErrorEnabled()) {
+ getLog().error(e);
+ }
}
- //TODO-TC20100402 Should test (and use another internal state) to be
- //TODO-TC20100402 sure We have to perform a lock, sometimes it is not
- //TODO-TC20100402 necessary if thread is dead before coming at this point
+ if (getNbFilesToTreate() > 0) {
- synchronized (lock) {
- try {
- lock.wait();
- } catch (InterruptedException e) {
- if (log.isErrorEnabled()) {
- log.error(e);
+ // there is still something to treate,
+ // MUST block until the thread is fully terminated
+
+ if (isVerbose()) {
+ getLog().info("block until ends...");
+ }
+
+ synchronized (lock) {
+ try {
+ lock.wait();
+ } catch (InterruptedException e) {
+ if (getLog().isErrorEnabled()) {
+ getLog().error(e);
+ }
}
}
}
- if (nbFiles != treatedFiles.size()) {
+
+ if (getNbFilesToTreate() > 0) {
+ // this case should never happens : once we are here, all files
+ // MUST have been consumed
throw new IllegalStateException(
"should have " + nbFiles + " files treated, but found " +
treatedFiles.size());
}
- if (log.isDebugEnabled()) {
- log.debug("thread is terminated.");
+ if (getLog().isDebugEnabled()) {
+ getLog().debug("thread is terminated.");
}
}
- /** clean internal state after usage of the thread. */
- public void clear() {
- treatedFiles.clear();
- touchedFiles.clear();
- nbFiles = 0;
- }
-
@Override
public void run() {
@@ -273,8 +180,8 @@
try {
runner = tasks.take();
} catch (InterruptedException e) {
- if (log.isErrorEnabled()) {
- log.error(e);
+ if (getLog().isErrorEnabled()) {
+ getLog().error(e);
}
canQuit = true;
continue;
@@ -282,31 +189,21 @@
if (runner.getFile() == null) {
// ask to quit the tread
- if (log.isDebugEnabled()) {
- log.debug("no more files to treate, wait termination...");
+ if (getLog().isDebugEnabled()) {
+ getLog().debug("Termination is asked..., will terminate to " +
+ "resting consume files");
}
- //FIXME-TC20100402, sleep to make sure that the lock2 is always
- //FIXME-TC20100402 block before the thread is done.
- //FIXME-TC20100402 otherwise, it could ends in a dead-end...
- //TODO Should really use another lock or internal state before
- //TODO doing lock in method terminatesAndWaits
-
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- log.error(e);
- }
canQuit = true;
continue;
}
- if (log.isDebugEnabled()) {
- log.debug("consume " + runner);
+ if (getLog().isDebugEnabled()) {
+ getLog().debug("consume " + runner);
}
executor.execute(runner);
- if (log.isDebugEnabled()) {
- log.debug("after consume " + runner);
+ if (getLog().isDebugEnabled()) {
+ getLog().debug("after consume " + runner);
}
}
@@ -315,14 +212,14 @@
if (nbFiles == 0) {
// no file consumed
- if (log.isInfoEnabled()) {
- log.info("no file consumed.");
+ if (isVerbose()) {
+ getLog().info("No file consumed.");
}
} else {
- if (log.isInfoEnabled()) {
- log.info("will waits until all files (" + nbFiles +
- ") are consumed (still " + getFilesToTreate() +
- " file(s) to consume)");
+ if (isVerbose()) {
+ getLog().info("Will waits until all files (" + nbFiles +
+ ") are consumed (still " + getNbFilesToTreate() +
+ " file(s) to consume)");
}
}
@@ -332,20 +229,20 @@
while (!canQuit) {
- int treate = getFilesToTreate();
+ int nbFilesToTreate = getNbFilesToTreate();
// can quit if and only if executore is terminated are there is no
// more files to consume
- // Note : normally, the second is not necessary...
- canQuit = executor.isTerminated() || treate == 0;
+ // Note : normally, the second test is not necessary...
+ canQuit = executor.isTerminated() || nbFilesToTreate == 0;
if (canQuit) {
continue;
}
- if (log.isDebugEnabled()) {
- log.debug("waiting end... (still " + treate +
- " file(s) to consume)");
+ if (getLog().isDebugEnabled()) {
+ getLog().debug("Waiting end... (still " + nbFilesToTreate +
+ " file(s) to consume)");
}
// waits a task to be done
@@ -353,14 +250,19 @@
try {
lock2.wait();
} catch (InterruptedException e) {
- log.error(e);
+ getLog().error(e);
break;
}
}
+
+ if (getLog().isDebugEnabled()) {
+ getLog().debug("A task was consumed, still " + getNbFilesToTreate() +
+ " file(s) to treate.");
+ }
}
- if (log.isInfoEnabled()) {
- log.info("executor is terminated, will release thread lock.");
+ if (isVerbose()) {
+ getLog().info("Executor is terminated, will release thread lock.");
}
// service was shutdown and terminated, release thread main lock.
@@ -371,7 +273,20 @@
}
+ /** clean internal state after usage of the thread. */
+ public void clear() {
+ treatedFiles.clear();
+ touchedFiles.clear();
+ nbFiles = 0;
+ }
+
+ /**
+ * Creates the {@link ExecutorService} which will consumed i8n tasks.
+ *
+ * @return the instanciated executor
+ */
protected ExecutorService createExecutor() {
+
// creates thread factory
ThreadFactory factory =
new ThreadFactory() {
@@ -396,16 +311,146 @@
@Override
protected void afterExecute(Runnable r, Throwable t) {
- super.afterExecute(r, t);
- ParserTask i18n = (ParserTask) r;
- i18n.registerResult(treatedFiles, touchedFiles, result);
+ try {
+ super.afterExecute(r, t);
+ ParserTask i18n = (ParserTask) r;
+ i18n.registerResult(treatedFiles, touchedFiles, getResult());
+ } finally {
+
+ // task is done, notify thread
+
+ synchronized (lock2) {
+ lock2.notifyAll();
+ }
+ }
}
};
return executor;
}
- protected int getFilesToTreate() {
+ protected I18nParserConfiguration getConfiguration() {
+ return configuration;
+ }
+
+ protected int getNbFilesToTreate() {
return nbFiles - treatedFiles.size();
}
+ /**
+ * This is a task to parse a {@link #file}.
+ * <p/>
+ * The task will be executed in the executor service created in the thread.
+ */
+ class ParserTask implements Runnable {
+
+ /** the file parser */
+ protected final FileParser parser;
+
+ /** the file to parse */
+ protected final File file;
+
+ /** starting time */
+ protected long startingTime;
+
+ /** ending time */
+ protected long endingTime;
+
+ ParserTask(FileParser parser, File file) {
+ this.parser = parser;
+ this.file = file;
+ }
+
+ @Override
+ public void run() {
+ startingTime = System.nanoTime();
+ if (getLog().isDebugEnabled()) {
+ getLog().debug("starting action for " + file);
+ }
+ try {
+
+ parser.parseFile(file);
+
+ } catch (IOException e) {
+ if (getLog().isErrorEnabled()) {
+ getLog().error("could not parse file " + file, e);
+ }
+ } finally {
+
+ if (getLog().isDebugEnabled()) {
+ getLog().debug("ending action for " + file);
+ }
+ endingTime = System.nanoTime();
+ }
+ }
+
+ @Override
+ public String toString() {
+ return super.toString() + " - " + file;
+ }
+
+ protected File getFile() {
+ return file;
+ }
+
+ protected long getDelay() {
+ return endingTime - startingTime;
+ }
+
+ protected void destroy() {
+ parser.destroy();
+ }
+
+ @Override
+ protected void finalize() throws Throwable {
+ super.finalize();
+ destroy();
+ }
+
+ /**
+ * Register the result of the parsing of the {@link #file} after {@link
+ * #run()} method was invoked.
+ * <p/>
+ * This method should be invoked by the executor as an ending hook.
+ *
+ * @param treatedFiles list of files already treated
+ * @param touchedFiles list of files already touched
+ * @param result shared result.
+ */
+ protected synchronized void registerResult(List<File> treatedFiles,
+ List<File> touchedFiles,
+ SortedProperties result) {
+
+ try {
+ treatedFiles.add(file);
+ if (getLog().isDebugEnabled()) {
+ String delay = PluginHelper.convertTime(getDelay());
+ getLog().debug("[" + treatedFiles.size() + "] " + file +
+ " in " + delay);
+ }
+
+ if (parser.isTouched()) {
+
+ // mark file as touched
+ touchedFiles.add(file);
+
+ if (isShowTouchedFiles()) {
+ getLog().info("touch " + file);
+ }
+ if (isVerbose()) {
+ String delay = PluginHelper.convertTime(getDelay());
+ getLog().info("[" + treatedFiles.size() + "] touchs " +
+ file + " in " + delay);
+ }
+
+ // merge file result with
+ // merge result
+ result.putAll(parser.getResult());
+ }
+ } finally {
+
+ // destroy runner
+ destroy();
+ }
+ }
+ }
}
1
0
r1732 - trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser
by tchemit@users.nuiton.org 02 Apr '10
by tchemit@users.nuiton.org 02 Apr '10
02 Apr '10
Author: tchemit
Date: 2010-04-02 22:02:13 +0200 (Fri, 02 Apr 2010)
New Revision: 1732
Log:
Anomalie #438: Blocage sur le parserJava lorsqu'il n'y a aucun fichier ?\195?\160 parser
Modified:
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserThread.java
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserThread.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserThread.java 2010-03-30 20:35:54 UTC (rev 1731)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/ParserThread.java 2010-04-02 20:02:13 UTC (rev 1732)
@@ -22,14 +22,23 @@
/** Logger */
private static final Log log = LogFactory.getLog(ParserThread.class);
+ /**
+ * This is a task to parse a {@link #file}.
+ * <p/>
+ * The task will be executed in the executor service created in the thread.
+ */
class ParserTask implements Runnable {
+ /** the file parser */
protected final FileParser parser;
+ /** the file to parse */
protected final File file;
+ /** starting time */
protected long startingTime;
+ /** ending time */
protected long endingTime;
ParserTask(FileParser parser, File file) {
@@ -83,6 +92,16 @@
destroy();
}
+ /**
+ * Register the result of the parsing of the {@link #file} after {@link
+ * #run()} method was invoked.
+ * <p/>
+ * This method should be invoked by the executor as an ending hook.
+ *
+ * @param treatedFiles list of files already treated
+ * @param touchedFiles list of files already touched
+ * @param result shared result.
+ */
protected synchronized void registerResult(List<File> treatedFiles,
List<File> touchedFiles,
SortedProperties result) {
@@ -114,8 +133,15 @@
result.putAll(parser.getResult());
}
} finally {
+
// destroy runner
destroy();
+
+ // release lock2
+
+ synchronized (lock2) {
+ lock2.notifyAll();
+ }
}
}
}
@@ -132,11 +158,17 @@
protected final SortedProperties result;
/**
- * object used to lock method {@link #terminatesAndWaits()} until all tasks
- * are consumed.
+ * object used to lock method {@link #terminatesAndWaits()} until the thread
+ * is not fully terminated.
*/
private final Object lock = new Object();
+ /**
+ * object used to lock in {@link #run()} until all tasks are consumed after
+ * the shutdown of the executor
+ */
+ private final Object lock2 = new Object();
+
/** number of files registred to consume */
protected int nbFiles;
@@ -156,28 +188,39 @@
return touchedFiles;
}
+ /**
+ * Add a file to be consumed.
+ *
+ * @param parser the parser of the file
+ * @param files files to parse
+ */
public void addFile(FileParser parser, File... files) {
- synchronized (tasks) {
+ for (File f : files) {
- for (File f : files) {
-
- nbFiles++;
- if (log.isInfoEnabled()) {
- log.info("[" + nbFiles + "] " + f);
- }
- tasks.offer(new ParserTask(parser, f));
+ nbFiles++;
+ if (log.isInfoEnabled()) {
+ log.info("[" + nbFiles + "] " + f);
}
+ tasks.offer(new ParserTask(parser, f));
}
}
- public synchronized void terminatesAndWaits() {
- synchronized (tasks) {
- if (log.isDebugEnabled()) {
- log.debug("add terminate runner");
- }
- tasks.offer(new ParserTask(null, null));
+ /**
+ * Ask the thread to stop.
+ * <p/>
+ * It will finish all incoming files (but will not accept more files to
+ * parse)
+ * <p/>
+ * <b>Note:</b> The method does not return until all files are not
+ * consumed.
+ */
+ public void terminatesAndWaits() {
+
+ if (log.isInfoEnabled()) {
+ log.info("add terminate runner");
}
+ tasks.offer(new ParserTask(null, null));
// block until end of service
@@ -185,6 +228,10 @@
log.info("block until ends...");
}
+ //TODO-TC20100402 Should test (and use another internal state) to be
+ //TODO-TC20100402 sure We have to perform a lock, sometimes it is not
+ //TODO-TC20100402 necessary if thread is dead before coming at this point
+
synchronized (lock) {
try {
lock.wait();
@@ -204,6 +251,7 @@
}
}
+ /** clean internal state after usage of the thread. */
public void clear() {
treatedFiles.clear();
touchedFiles.clear();
@@ -213,36 +261,12 @@
@Override
public void run() {
- // creates thread factory
- ThreadFactory factory =
- new ThreadFactory() {
- final ThreadFactory defaultFactory =
- Executors.defaultThreadFactory();
-
- public Thread newThread(Runnable r) {
- Thread thread =
- defaultFactory.newThread(r);
- thread.setName(ParserThread.this + "-" + thread.getName());
- return thread;
- }
- };
-
// create pool executor
- ExecutorService service = new ThreadPoolExecutor(
- 8, 10,
- 1L, TimeUnit.SECONDS,
- new LinkedBlockingQueue<Runnable>(),
- factory) {
+ ExecutorService executor = createExecutor();
- @Override
- protected void afterExecute(Runnable r, Throwable t) {
- super.afterExecute(r, t);
- ParserTask i18n = (ParserTask) r;
- i18n.registerResult(treatedFiles, touchedFiles, result);
- }
- };
+ boolean canQuit = false;
- while (true) {
+ while (!canQuit) {
// waiting for a new file to treate
ParserTask runner;
@@ -252,60 +276,136 @@
if (log.isErrorEnabled()) {
log.error(e);
}
+ canQuit = true;
continue;
}
if (runner.getFile() == null) {
// ask to quit the tread
- if (log.isInfoEnabled()) {
- log.info("no more files to treate, wait termination...");
+ if (log.isDebugEnabled()) {
+ log.debug("no more files to treate, wait termination...");
}
- service.shutdown();
- break;
+ //FIXME-TC20100402, sleep to make sure that the lock2 is always
+ //FIXME-TC20100402 block before the thread is done.
+ //FIXME-TC20100402 otherwise, it could ends in a dead-end...
+ //TODO Should really use another lock or internal state before
+ //TODO doing lock in method terminatesAndWaits
+
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException e) {
+ log.error(e);
+ }
+ canQuit = true;
+ continue;
}
if (log.isDebugEnabled()) {
log.debug("consume " + runner);
}
- service.execute(runner);
+ executor.execute(runner);
if (log.isDebugEnabled()) {
log.debug("after consume " + runner);
}
}
- if (log.isInfoEnabled()) {
- log.info("will waits until ends of all " + nbFiles + " runner(s)!");
+ // ask executor to terminate
+ executor.shutdown();
+
+ if (nbFiles == 0) {
+ // no file consumed
+ if (log.isInfoEnabled()) {
+ log.info("no file consumed.");
+ }
+ } else {
+ if (log.isInfoEnabled()) {
+ log.info("will waits until all files (" + nbFiles +
+ ") are consumed (still " + getFilesToTreate() +
+ " file(s) to consume)");
+ }
}
- // waits end of service
+ // waits end of executor
- while (true) {
+ canQuit = false;
- if (service.isTerminated()) {
- if (log.isInfoEnabled()) {
- log.info("all runners are terminated. [" + treatedFiles.size() + "]");
- }
+ while (!canQuit) {
- // release lock
- synchronized (lock) {
- lock.notifyAll();
- }
- break;
+ int treate = getFilesToTreate();
+
+ // can quit if and only if executore is terminated are there is no
+ // more files to consume
+ // Note : normally, the second is not necessary...
+ canQuit = executor.isTerminated() || treate == 0;
+
+ if (canQuit) {
+ continue;
}
if (log.isDebugEnabled()) {
- log.debug("waiting end...");
+ log.debug("waiting end... (still " + treate +
+ " file(s) to consume)");
}
- try {
- sleep(200);
- } catch (InterruptedException e) {
- if (log.isErrorEnabled()) {
+ // waits a task to be done
+ synchronized (lock2) {
+ try {
+ lock2.wait();
+ } catch (InterruptedException e) {
log.error(e);
+ break;
}
}
}
+
+ if (log.isInfoEnabled()) {
+ log.info("executor is terminated, will release thread lock.");
+ }
+
+ // service was shutdown and terminated, release thread main lock.
+
+ synchronized (lock) {
+ lock.notifyAll();
+ }
+
}
+ protected ExecutorService createExecutor() {
+ // creates thread factory
+ ThreadFactory factory =
+ new ThreadFactory() {
+ final ThreadFactory defaultFactory =
+ Executors.defaultThreadFactory();
+
+ public Thread newThread(Runnable r) {
+ Thread thread =
+ defaultFactory.newThread(r);
+ thread.setName(ParserThread.this + "-" +
+ thread.getName());
+ return thread;
+ }
+ };
+
+ // create pool executor
+ ExecutorService executor = new ThreadPoolExecutor(
+ 8, 10,
+ 1L, TimeUnit.SECONDS,
+ new LinkedBlockingQueue<Runnable>(),
+ factory) {
+
+ @Override
+ protected void afterExecute(Runnable r, Throwable t) {
+ super.afterExecute(r, t);
+ ParserTask i18n = (ParserTask) r;
+ i18n.registerResult(treatedFiles, touchedFiles, result);
+ }
+ };
+ return executor;
+ }
+
+ protected int getFilesToTreate() {
+ return nbFiles - treatedFiles.size();
+ }
+
}
1
0