org.nuiton.eugene.plugin
Class Xmi2Model

java.lang.Object
  extended by org.apache.maven.plugin.AbstractMojo
      extended by org.nuiton.plugin.AbstractPlugin
          extended by org.nuiton.eugene.plugin.EugeneAbstractMojo
              extended by org.nuiton.eugene.plugin.Xmi2Model
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo, org.nuiton.plugin.Plugin
Direct Known Subclasses:
Xmi2ObjectModel, Xmi2StateModel

public abstract class Xmi2Model
extends EugeneAbstractMojo

Converti les fichiers XMI en fichier Model via une transformation XSLT a définir. Class abstraite sans feuille de style ni extension.

Version:
$Revision: 755 $ Last update: $Date: 2009-12-15 00:50:27 +0100 (mar., 15 déc. 2009) $ by : $Author: tchemit $
Author:
ruchaud

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.nuiton.plugin.Plugin
org.nuiton.plugin.Plugin.Packaging
 
Field Summary
protected  java.lang.String acceptedXmiTypes
          Liste des types de modeles acceptés séparés par des vigules.
protected  java.io.File extraClassPathDirectory
          An extra directory to be added to the classpath.
protected  java.lang.String extractedPackages
          Nom du paquetage à généré
protected  java.lang.String fullPackagePath
          Nom du paquetage pour les fichiers générés
protected  java.lang.String resolver
          Nom du resolver a utiliser
protected  org.nuiton.plugin.PluginIOContext xmiResources
          Les entrées sorties du plugin.
 
Fields inherited from class org.nuiton.eugene.plugin.EugeneAbstractMojo
encoding, overwrite, project, settings, testPhase, verbose
 
Fields inherited from class org.nuiton.plugin.AbstractPlugin
skipAfterInitMessage
 
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
 
Constructor Summary
Xmi2Model()
           
 
Method Summary
protected  void actionXsl(java.io.File dir, java.util.List<java.io.File> files, javax.xml.transform.TransformerFactory factory, java.lang.ClassLoader fixedClassLoader, java.lang.String[] acceptedSuffixes)
           
 void doAction()
           
protected  java.lang.ClassLoader fixClassLoader()
          Prepare le classLoader a utiliser dans le generateur.
protected  java.lang.String[] getAcceptedTypesAsArray()
          Look for the types declared in property "acceptedXmiTypes", split it on ',' and check for the leading '.'.
protected abstract  java.lang.String getExtension()
          Get extension.
protected  org.nuiton.plugin.PluginIOContext getResources()
          Note : l'objet peut etre null si la configuration ne definit pas la propriété associées dans l'implentation.
protected abstract  java.lang.String getStyleSheet(java.io.File model)
          Get style sheet.
protected  java.lang.String[] getSuffixPattern(java.lang.String prefix)
           
protected  javax.xml.transform.URIResolver getUriResolver(java.io.File model, java.lang.ClassLoader cl)
           
protected  org.nuiton.plugin.PluginIOContext initResources()
          Initialiser les io du plugins.
 
Methods inherited from class org.nuiton.eugene.plugin.EugeneAbstractMojo
getProject, init, initResources, isVerbose, setProject, setVerbose
 
Methods inherited from class org.nuiton.plugin.AbstractPlugin
acceptPackaging, addCompileSourceRoots, addDirectoryToUrlsList, addResourceDir, addTestCompileSourceRoots, addTestResourceDir, addUrlToUrlsList, checkPackaging, checkResource, checkRunOnceDone, copyFile, execute, getFileFromBasedir, getFilesToTreate, getFilesToTreateForRoots, getTemplate, initClassLoader, isExecutionRoot, isFileNewerThanPomFile, rejectPackaging, removeCompileSourceRoots, removeTestCompileSourceRoots, writeFile
 
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
 
Methods inherited from interface org.apache.maven.plugin.Mojo
getLog, setLog
 

Field Detail

xmiResources

protected org.nuiton.plugin.PluginIOContext xmiResources
Les entrées sorties du plugin.

En entrée on demande des répertoires où chercher les fichiers xmi a convertir.

En sortie on demande le répertoire ou extraire les xmi et copier les resources.

Par défaut on a les valeurs suivantes :

 <xmiResources>
 

<input>target/generated-sources/xmi<\input>

<output>target/generated-sources/models<\output>

</xmiResources>

Note: si EugeneAbstractMojo.testPhase est activée, les valeurs par défaut sont :

 <xmiResources>
 

<input>target/generated-sources/xmi<\input>

<output>target/generated-sources/test-models<\output>

</xmiResources>

Since:
1.0.0-rc-8
Is defined by:

fullPackagePath

protected java.lang.String fullPackagePath
Nom du paquetage pour les fichiers générés

Since:
0.50
Is defined by:
expression:
${generator.fullPackagePath}
default-value:
${project.groupId}.${project.artifactId}

extractedPackages

protected java.lang.String extractedPackages
Nom du paquetage à généré

Since:
0.50
Is defined by:
expression:
${generator.extractedPackages}
default-value:
${project.groupId}.${project.artifactId}

acceptedXmiTypes

protected java.lang.String acceptedXmiTypes
Liste des types de modeles acceptés séparés par des vigules.

Since:
1.0.0-rc-4
Is defined by:
expression:
${generator.acceptedXmiTypes}
default-value:
xmi,uml

resolver

protected java.lang.String resolver
Nom du resolver a utiliser

Since:
1.0.0-rc-4
Is defined by:
expression:
${generator.resolver}
default-value:
org.nuiton.util.ResourceResolver

extraClassPathDirectory

protected java.io.File extraClassPathDirectory
An extra directory to be added to the classpath.

Since:
1.0.0-rc-4
Is defined by:
expression:
${eugene.extraClassPathDirectory}
Constructor Detail

Xmi2Model

public Xmi2Model()
Method Detail

getExtension

protected abstract java.lang.String getExtension()
Get extension.

Returns:
the extension

getStyleSheet

protected abstract java.lang.String getStyleSheet(java.io.File model)
Get style sheet.

Parameters:
model - the model file used to determine the stylesheet to use
Returns:
the stylesheet name

doAction

public void doAction()
              throws org.apache.maven.plugin.MojoExecutionException,
                     org.apache.maven.plugin.MojoFailureException
Specified by:
doAction in class org.nuiton.plugin.AbstractPlugin
Throws:
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException

getResources

protected org.nuiton.plugin.PluginIOContext getResources()
Description copied from class: EugeneAbstractMojo
Note : l'objet peut etre null si la configuration ne definit pas la propriété associées dans l'implentation.

Dans tous les cas, une fois la methode EugeneAbstractMojo.initResources() appele, l'objet devrait ne plus être null!

Specified by:
getResources in class EugeneAbstractMojo
Returns:
l'io du plugin ou null si non initialisé

initResources

protected org.nuiton.plugin.PluginIOContext initResources()
Description copied from class: EugeneAbstractMojo
Initialiser les io du plugins.

Specified by:
initResources in class EugeneAbstractMojo
Returns:
l'io intialisé (avec les valeurs par défaut, là où rien n'a été renseigné).

getSuffixPattern

protected java.lang.String[] getSuffixPattern(java.lang.String prefix)

actionXsl

protected void actionXsl(java.io.File dir,
                         java.util.List<java.io.File> files,
                         javax.xml.transform.TransformerFactory factory,
                         java.lang.ClassLoader fixedClassLoader,
                         java.lang.String[] acceptedSuffixes)
                  throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

getAcceptedTypesAsArray

protected java.lang.String[] getAcceptedTypesAsArray()
Look for the types declared in property "acceptedXmiTypes", split it on ',' and check for the leading '.'.

Returns:
an array with all the accepted xmi types and a leading '.'

getUriResolver

protected javax.xml.transform.URIResolver getUriResolver(java.io.File model,
                                                         java.lang.ClassLoader cl)

fixClassLoader

protected java.lang.ClassLoader fixClassLoader()
                                        throws org.apache.maven.plugin.MojoExecutionException
Prepare le classLoader a utiliser dans le generateur.

Si un extraClassPathDirectory a été renseigné, il est rajouté.

Si des références à des sibling modules, ils seront rajoutés aussi.

Returns:
le class loader modifie
Throws:
org.apache.maven.plugin.MojoExecutionException - if any pb


Copyright © 2006-2009 CodeLutin. All Rights Reserved.