Class AbstractWizardMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
    Direct Known Subclasses:
    InitMojo, OperationMojo, PdoMojo

    public abstract class AbstractWizardMojo
    extends org.apache.maven.plugin.AbstractMojo
    Base wizard mojo.
    Author:
    harald
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String entityAliases
      The entity aliases.
      protected java.util.List<org.apache.maven.shared.model.fileset.FileSet> filesets
      The list of file sets containing the model.
      If set, the modelDir is ignored.
      protected java.lang.String modelDefaults
      The model defaults.
      protected java.io.File modelDir
      Directory holding the model files to be processed.
      Ignored if fileset explicitly given.
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.util.Map<java.lang.String,​PackageInfo> createPackageMap()
      Creates a map of package names to package infos.
      void execute()  
      protected org.tentackle.model.EntityAliases getEntityAliases()
      Gets the entity aliases.
      protected org.tentackle.model.ModelDefaults getModelDefaults()
      Gets the model defaults.
      <T extends Profile>
      java.util.List<T>
      getProfiles​(java.lang.Class<T> clazz)
      Gets the profiles.
      java.io.File getStatusDir()
      Gets the status directory.
      java.io.File getTemplateDir()
      Gets the template directory.
      protected void installTemplates()
      Copies the templates to the template directory.
      Overwrites any existing templates.
      protected void loadModel()
      Loads the model.
      protected int processFileSet​(org.apache.maven.shared.model.fileset.FileSet fileSet)
      Processes a fileset to load the model.
      protected void validate()
      Validates the configuration.
      • 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

      • modelDir

        @Parameter(defaultValue="${project.build.directory}/wurbel/model",
                   property="tentackle.modelDir")
        protected java.io.File modelDir
        Directory holding the model files to be processed.
        Ignored if fileset explicitly given.
      • modelDefaults

        @Parameter(property="tentackle.modelDefaults")
        protected java.lang.String modelDefaults
        The model defaults.
      • entityAliases

        @Parameter(property="tentackle.entityAliases")
        protected java.lang.String entityAliases
        The entity aliases.
      • filesets

        @Parameter
        protected java.util.List<org.apache.maven.shared.model.fileset.FileSet> filesets
        The list of file sets containing the model.
        If set, the modelDir is ignored.
    • Constructor Detail

      • AbstractWizardMojo

        public AbstractWizardMojo()
    • Method Detail

      • getProfiles

        public <T extends Profile> java.util.List<T> getProfiles​(java.lang.Class<T> clazz)
                                                          throws org.apache.maven.plugin.MojoExecutionException
        Gets the profiles.
        Type Parameters:
        T - the profile type
        Parameters:
        clazz - the concrete profile class
        Returns:
        the list of profiles
        Throws:
        org.apache.maven.plugin.MojoExecutionException - if profile names are not unique
      • getTemplateDir

        public java.io.File getTemplateDir()
        Gets the template directory.
        Returns:
        the directory holding the wizard templates
      • getStatusDir

        public java.io.File getStatusDir()
        Gets the status directory.
        Returns:
        the status dir
      • 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
      • getModelDefaults

        protected org.tentackle.model.ModelDefaults getModelDefaults()
                                                              throws org.apache.maven.plugin.MojoExecutionException
        Gets the model defaults.
        Returns:
        the defaults, null if none
        Throws:
        org.apache.maven.plugin.MojoExecutionException - if parsing the model defaults failed
      • getEntityAliases

        protected org.tentackle.model.EntityAliases getEntityAliases()
                                                              throws org.apache.maven.plugin.MojoExecutionException
        Gets the entity aliases.
        Returns:
        the aliases, null if none
        Throws:
        org.apache.maven.plugin.MojoExecutionException - if parsing the aliases failed
      • loadModel

        protected void loadModel()
                          throws org.apache.maven.plugin.MojoFailureException,
                                 org.apache.maven.plugin.MojoExecutionException
        Loads the model.

        Notice: the model is only needed by the PdoMojo, but we configure it for the whole plugin.

        Throws:
        org.apache.maven.plugin.MojoFailureException - if the model is inconsistent
        org.apache.maven.plugin.MojoExecutionException - if loading failed due to some other error
      • processFileSet

        protected int processFileSet​(org.apache.maven.shared.model.fileset.FileSet fileSet)
                              throws org.apache.maven.plugin.MojoExecutionException
        Processes a fileset to load the model.
        Parameters:
        fileSet - the fileset containing the model
        Returns:
        the number of errors
        Throws:
        org.apache.maven.plugin.MojoExecutionException - if model defaults or entity aliases could not be determined
      • validate

        protected void validate()
                         throws org.apache.maven.plugin.MojoExecutionException
        Validates the configuration.
        Throws:
        org.apache.maven.plugin.MojoExecutionException - if project not set or misconfigured
      • installTemplates

        protected void installTemplates()
                                 throws org.apache.maven.plugin.MojoExecutionException
        Copies the templates to the template directory.
        Overwrites any existing templates.
        Throws:
        org.apache.maven.plugin.MojoExecutionException - if failed
      • createPackageMap

        protected java.util.Map<java.lang.String,​PackageInfo> createPackageMap()
                                                                              throws org.apache.maven.plugin.MojoExecutionException
        Creates a map of package names to package infos.
        Returns:
        the packages
        Throws:
        org.apache.maven.plugin.MojoExecutionException - if split package detected