Author: fdesbois Date: 2011-05-09 23:51:05 +0200 (Mon, 09 May 2011) New Revision: 1909 Url: http://nuiton.org/repositories/revision/i18n/1909 Log: Use plexus to expose BundlerFormatConverter as component Modified: trunk/maven-i18n-plugin/pom.xml trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.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/StringFormatToMessageFormat.java Modified: trunk/maven-i18n-plugin/pom.xml =================================================================== --- trunk/maven-i18n-plugin/pom.xml 2011-05-09 21:50:32 UTC (rev 1908) +++ trunk/maven-i18n-plugin/pom.xml 2011-05-09 21:51:05 UTC (rev 1909) @@ -131,7 +131,21 @@ <build> <plugins> + + <!-- expose new plexus components --> <plugin> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-component-metadata</artifactId> + <executions> + <execution> + <goals> + <goal>generate-metadata</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> <artifactId>maven-plugin-plugin</artifactId> <executions> <execution> @@ -141,6 +155,7 @@ </execution> </executions> </plugin> + </plugins> </build> <profiles> @@ -168,6 +183,13 @@ <artifactId>maven-invoker-plugin</artifactId> <version>1.5</version> </plugin> + + <plugin> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-maven-plugin</artifactId> + <version>1.3.8</version> + </plugin> + </plugins> </reporting> Modified: trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml =================================================================== --- trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml 2011-05-09 21:50:32 UTC (rev 1908) +++ trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml 2011-05-09 21:51:05 UTC (rev 1909) @@ -76,7 +76,7 @@ <version>@pom.version@</version> <configuration> <verbose>true</verbose> - <bundleFormatConverter>org.nuiton.i18n.plugin.bundle.StringFormatToMessageFormat</bundleFormatConverter> + <bundleFormatConverter>toMessageFormat</bundleFormatConverter> <bundleOutputName>ResultBundle</bundleOutputName> <bundleOutputPackage>org.nuiton</bundleOutputPackage> </configuration> Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java =================================================================== --- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java 2011-05-09 21:50:32 UTC (rev 1908) +++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java 2011-05-09 21:51:05 UTC (rev 1909) @@ -9,6 +9,7 @@ * * @author fdesbois <desbois@codelutin.com> * $Id$ + * @since 2.4 */ public interface BundleFormatConverter { 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 2011-05-09 21:50:32 UTC (rev 1908) +++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java 2011-05-09 21:51:05 UTC (rev 1909) @@ -87,6 +87,14 @@ */ protected String bundleFormatConverter; + /** + * Map of all availables {@link BundleFormatConverter}. + * + * @component role="org.nuiton.i18n.plugin.bundle.BundleFormatConverter" + * @since 2.4 + */ + protected Map<String, BundleFormatConverter> bundleFormatConverters; + @Override public void init() throws Exception { super.init(); @@ -255,17 +263,13 @@ * * @param properties Properties to walk through * @param converterName Name of the converter - * @throws ClassNotFoundException if converterName doesn't match any class - * @throws IllegalAccessException if no access could be done to converter - * @throws InstantiationException if no instance could be done from converter class * @since 2.4 */ - protected void applyConversion(Properties properties, String converterName) - throws ClassNotFoundException, IllegalAccessException, InstantiationException { + protected void applyConversion(Properties properties, String converterName) { // Instantiate the converter BundleFormatConverter converter = - (BundleFormatConverter) Class.forName(converterName).newInstance(); + bundleFormatConverters.get(converterName); // Apply conversion for (Entry<Object, Object> entry : properties.entrySet()) { Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java =================================================================== --- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java 2011-05-09 21:50:32 UTC (rev 1908) +++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java 2011-05-09 21:51:05 UTC (rev 1909) @@ -14,6 +14,8 @@ * * @author fdesbois <desbois@codelutin.com> * $Id$ + * @plexus.component role="org.nuiton.i18n.plugin.bundle.BundleFormatConverter" role-hint="toMessageFormat" + * @since 2.4 */ public class StringFormatToMessageFormat implements BundleFormatConverter {