org.nuiton.i18n.plugin
Class Bundle

java.lang.Object
  extended by org.apache.maven.plugin.AbstractMojo
      extended by org.nuiton.i18n.plugin.AbstractI18nPlugin
          extended by org.nuiton.i18n.plugin.Bundle
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

public class Bundle
extends AbstractI18nPlugin

Créer un bundle pour une application finale. Cela génère un merge de tous les fichiers i18n utilisés en un seul. On utilise la dépendance sur les artifacts pour connaitre l'ordre le chargement des bundles. Si dans un bundle childs, la valeur de la clef est vide, on conserve alors celui du parent, Ainsi on obtient un bundle dont toutes les clefs sont traduites. Le but aussi d'utiliser un unique bundle est de gagner du temps au runtime car la recherche des bundles devient trop couteuse en temps lorsque l'on a de nombreuses dépendances (au dessus de 100 deps cela peut prendre plusieurs secondes, ce qui 'est pas acceptable). On a ajoute un second mode d'initialisation dans la clesse I18n pour n'utiliser qu'un seul bundle et courcircuiter le chargement couteux... *

Since:
0.12
Author:
chemit

Field Summary
protected  org.apache.maven.artifact.metadata.ArtifactMetadataSource artifactMetadataSource
          Artifact metadata source component.
protected  java.io.File bundleOutputDir
          Repertoire ou generer les bundles.
protected  java.lang.String bundleOutputName
          Nom du bundle a generer.
protected  boolean checkBundle
          Un drapeau pour vérifier que les bundles ne contiennent pas d'entrées vides.
protected  org.apache.maven.artifact.resolver.ArtifactCollector collector
          Artifact collector component.
protected  org.apache.maven.shared.dependency.tree.DependencyTreeBuilder dependencyTreeBuilder
          Dependency tree builder component.
protected  org.apache.maven.artifact.factory.ArtifactFactory factory
          Artifact Factory component.
protected  I18nArtifact[] i18nArtifacts
           
protected  java.lang.ClassLoader loader
           
protected  org.apache.maven.artifact.repository.ArtifactRepository localRepository
          Local Repository.
protected  org.apache.maven.project.MavenProjectBuilder mavenProjectBuilder
          Maven Project Builder component.
protected  org.apache.maven.project.MavenProject project
          Dependance du projet.
protected  java.util.List<?> remoteRepositories
          Remote repositories used for the project.
protected  boolean showEmpty
          Un drapeau pour afficher les entrées vides.
protected  java.net.URL[] urls
           
 
Fields inherited from class org.nuiton.i18n.plugin.AbstractI18nPlugin
artifactId, bundles, DIRECTORY_INSTALL, encoding, events, genSrc, keepBackup, keysModifier, locales, out, silent, src, strictMode, verbose, verboseLog
 
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
 
Constructor Summary
Bundle()
           
 
Method Summary
protected  I18nArtifact[] detectI18nArtifacts()
          Detecte les I18nArtifact et les retourne dans l'ordre de chargement dans le système i18n, i.e l'ordre des dependances entre artifacts.
 void execute()
           
 void init()
           
 
Methods inherited from class org.nuiton.i18n.plugin.AbstractI18nPlugin
addGetter, addParserEvent, backupFile, checkBundle, copyFile, getArtifactId, getGetterFile, getGetterFileBackup, getI18nFile, getI18nFileBackup, getVerboseLog, needGeneration, removeParserEvent
 
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bundleOutputDir

protected java.io.File bundleOutputDir
Repertoire ou generer les bundles.

Since:
1.0.0

bundleOutputName

protected java.lang.String bundleOutputName
Nom du bundle a generer.

Since:
1.0.0

checkBundle

protected boolean checkBundle
Un drapeau pour vérifier que les bundles ne contiennent pas d'entrées vides.

Since:
1.0.0

showEmpty

protected boolean showEmpty
Un drapeau pour afficher les entrées vides. (nécessite checkBundle activé).

Since:
1.0.0

project

protected org.apache.maven.project.MavenProject project
Dependance du projet.

Since:
1.0.0

localRepository

protected org.apache.maven.artifact.repository.ArtifactRepository localRepository
Local Repository.

Since:
1.0.0

remoteRepositories

protected java.util.List<?> remoteRepositories
Remote repositories used for the project.

Since:
1.0.0

dependencyTreeBuilder

protected org.apache.maven.shared.dependency.tree.DependencyTreeBuilder dependencyTreeBuilder
Dependency tree builder component.


factory

protected org.apache.maven.artifact.factory.ArtifactFactory factory
Artifact Factory component.


artifactMetadataSource

protected org.apache.maven.artifact.metadata.ArtifactMetadataSource artifactMetadataSource
Artifact metadata source component.


collector

protected org.apache.maven.artifact.resolver.ArtifactCollector collector
Artifact collector component.


mavenProjectBuilder

protected org.apache.maven.project.MavenProjectBuilder mavenProjectBuilder
Maven Project Builder component.


i18nArtifacts

protected I18nArtifact[] i18nArtifacts

loader

protected java.lang.ClassLoader loader

urls

protected java.net.URL[] urls
Constructor Detail

Bundle

public Bundle()
Method Detail

init

public void init()
Overrides:
init in class AbstractI18nPlugin

execute

public void execute()
             throws org.apache.maven.plugin.MojoExecutionException,
                    org.apache.maven.plugin.MojoFailureException
Throws:
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException

detectI18nArtifacts

protected I18nArtifact[] detectI18nArtifacts()
                                      throws java.net.MalformedURLException,
                                             java.io.IOException,
                                             org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException
Detecte les I18nArtifact et les retourne dans l'ordre de chargement dans le système i18n, i.e l'ordre des dependances entre artifacts.

Returns:
les artifacts i18nables triés par leur ordre de chargement dans le système i18n.
Throws:
java.net.MalformedURLException
java.io.IOException
org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException


Copyright © 2007-2009 CodeLutin. All Rights Reserved.