Class DefaultFilesetArchetypeGenerator

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private boolean copyFile​(java.io.File outFile, java.lang.String template, boolean failIfExists, java.util.zip.ZipFile archetypeZipFile)  
      private int copyFiles​(java.lang.String directory, java.util.List<java.lang.String> fileSetResources, boolean packaged, java.lang.String packageName, java.io.File outputDirectoryFile, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, boolean failIfExists, org.apache.velocity.context.Context context)  
      private java.lang.String evaluateExpression​(org.apache.velocity.context.Context context, java.lang.String key, java.lang.String value)  
      void generateArchetype​(ArchetypeGenerationRequest request, java.io.File archetypeFile)
      Generate a project from an archetype file.
      private java.lang.String getEncoding​(java.lang.String archetypeEncoding)  
      private java.lang.String getOffsetSeparator​(java.lang.String moduleOffset)  
      private java.io.File getOutputFile​(java.lang.String template, java.lang.String directory, java.io.File outputDirectoryFile, boolean packaged, java.lang.String packageName, java.lang.String moduleOffset, org.apache.velocity.context.Context context)  
      java.lang.String getPackageAsDirectory​(java.lang.String packageName)  
      private java.lang.String getPackageInPathFormat​(java.lang.String aPackage)  
      private java.io.File getTemporaryFile​(java.io.File file)  
      private boolean isArchetypeConfigured​(ArchetypeDescriptor archetypeDescriptor, ArchetypeGenerationRequest request)  
      private boolean maybeVelocityExpression​(java.lang.String value)  
      private org.apache.velocity.context.Context prepareVelocityContext​(ArchetypeGenerationRequest request)  
      private void processArchetypeTemplates​(AbstractArchetypeDescriptor archetypeDescriptor, java.util.List<java.lang.String> archetypeResources, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, org.apache.velocity.context.Context context, java.lang.String packageName, java.io.File outputDirectoryFile)  
      private void processArchetypeTemplatesWithWarning​(ArchetypeDescriptor archetypeDescriptor, java.util.List<java.lang.String> archetypeResources, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, org.apache.velocity.context.Context context, java.lang.String packageName, java.io.File outputDirectoryFile)  
      private int processFileSet​(java.lang.String directory, java.util.List<java.lang.String> fileSetResources, boolean packaged, java.lang.String packageName, org.apache.velocity.context.Context context, java.io.File outputDirectoryFile, java.lang.String moduleOffset, java.lang.String archetypeEncoding, boolean failIfExists)  
      private void processFilesetModule​(java.lang.String rootArtifactId, java.lang.String artifactId, java.util.List<java.lang.String> archetypeResources, java.io.File pom, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, java.io.File basedirPom, java.io.File outputDirectoryFile, java.lang.String packageName, AbstractArchetypeDescriptor archetypeDescriptor, org.apache.velocity.context.Context context)  
      private void processFilesetProject​(AbstractArchetypeDescriptor archetypeDescriptor, java.lang.String moduleId, java.util.List<java.lang.String> archetypeResources, java.io.File pom, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, org.apache.velocity.context.Context context, java.lang.String packageName, java.io.File outputDirectoryFile, java.io.File basedirPom)  
      private void processPom​(org.apache.velocity.context.Context context, java.io.File pom, java.lang.String moduleOffset)  
      private void processPomWithMerge​(org.apache.velocity.context.Context context, java.io.File pom, java.lang.String moduleOffset)  
      private void processPomWithParent​(org.apache.velocity.context.Context context, java.io.File pom, java.lang.String moduleOffset, java.io.File basedirPom, java.lang.String moduleId)  
      private boolean processTemplate​(java.io.File outFile, org.apache.velocity.context.Context context, java.lang.String templateFileName, java.lang.String encoding, boolean failIfExists)  
      private void processTemplates​(java.lang.String packageName, java.io.File outputDirectoryFile, org.apache.velocity.context.Context context, AbstractArchetypeDescriptor archetypeDescriptor, java.util.List<java.lang.String> archetypeResources, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, boolean failIfExists)  
      private java.lang.String replaceFilenameTokens​(java.lang.String filePath, org.apache.velocity.context.Context context)
      Replaces all tokens (text matching TOKEN_PATTERN) within the given string, using properties contained within the context.
      private void restoreParentArtifactId​(org.apache.velocity.context.Context context, java.lang.String parentArtifactId)  
      private void setParentArtifactId​(org.apache.velocity.context.Context context, java.lang.String artifactId)  
      • Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled

        enableLogging, getLogger, setupLogger, setupLogger, setupLogger
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • pomManager

        @Requirement
        private PomManager pomManager
      • velocity

        @Requirement
        private org.codehaus.plexus.velocity.VelocityComponent velocity
      • TOKEN_PATTERN

        private static final java.util.regex.Pattern TOKEN_PATTERN
        Pattern used to detect tokens in a string. Tokens are any text surrounded by the delimiter __.
    • Constructor Detail

      • DefaultFilesetArchetypeGenerator

        public DefaultFilesetArchetypeGenerator()
    • Method Detail

      • getPackageAsDirectory

        public java.lang.String getPackageAsDirectory​(java.lang.String packageName)
      • copyFile

        private boolean copyFile​(java.io.File outFile,
                                 java.lang.String template,
                                 boolean failIfExists,
                                 java.util.zip.ZipFile archetypeZipFile)
                          throws OutputFileExists,
                                 java.io.IOException
        Throws:
        OutputFileExists
        java.io.IOException
      • copyFiles

        private int copyFiles​(java.lang.String directory,
                              java.util.List<java.lang.String> fileSetResources,
                              boolean packaged,
                              java.lang.String packageName,
                              java.io.File outputDirectoryFile,
                              java.util.zip.ZipFile archetypeZipFile,
                              java.lang.String moduleOffset,
                              boolean failIfExists,
                              org.apache.velocity.context.Context context)
                       throws OutputFileExists,
                              java.io.FileNotFoundException,
                              java.io.IOException
        Throws:
        OutputFileExists
        java.io.FileNotFoundException
        java.io.IOException
      • getEncoding

        private java.lang.String getEncoding​(java.lang.String archetypeEncoding)
      • getOffsetSeparator

        private java.lang.String getOffsetSeparator​(java.lang.String moduleOffset)
      • getOutputFile

        private java.io.File getOutputFile​(java.lang.String template,
                                           java.lang.String directory,
                                           java.io.File outputDirectoryFile,
                                           boolean packaged,
                                           java.lang.String packageName,
                                           java.lang.String moduleOffset,
                                           org.apache.velocity.context.Context context)
      • replaceFilenameTokens

        private java.lang.String replaceFilenameTokens​(java.lang.String filePath,
                                                       org.apache.velocity.context.Context context)
        Replaces all tokens (text matching TOKEN_PATTERN) within the given string, using properties contained within the context. If a property does not exist in the context, the token is left unmodified and a warning is logged.
        Parameters:
        filePath - the file name and path to be interpolated
        context - contains the available properties
      • getPackageInPathFormat

        private java.lang.String getPackageInPathFormat​(java.lang.String aPackage)
      • setParentArtifactId

        private void setParentArtifactId​(org.apache.velocity.context.Context context,
                                         java.lang.String artifactId)
      • prepareVelocityContext

        private org.apache.velocity.context.Context prepareVelocityContext​(ArchetypeGenerationRequest request)
      • maybeVelocityExpression

        private boolean maybeVelocityExpression​(java.lang.String value)
      • evaluateExpression

        private java.lang.String evaluateExpression​(org.apache.velocity.context.Context context,
                                                    java.lang.String key,
                                                    java.lang.String value)
      • processArchetypeTemplates

        private void processArchetypeTemplates​(AbstractArchetypeDescriptor archetypeDescriptor,
                                               java.util.List<java.lang.String> archetypeResources,
                                               java.util.zip.ZipFile archetypeZipFile,
                                               java.lang.String moduleOffset,
                                               org.apache.velocity.context.Context context,
                                               java.lang.String packageName,
                                               java.io.File outputDirectoryFile)
                                        throws OutputFileExists,
                                               ArchetypeGenerationFailure,
                                               java.io.FileNotFoundException,
                                               java.io.IOException
        Throws:
        OutputFileExists
        ArchetypeGenerationFailure
        java.io.FileNotFoundException
        java.io.IOException
      • processArchetypeTemplatesWithWarning

        private void processArchetypeTemplatesWithWarning​(ArchetypeDescriptor archetypeDescriptor,
                                                          java.util.List<java.lang.String> archetypeResources,
                                                          java.util.zip.ZipFile archetypeZipFile,
                                                          java.lang.String moduleOffset,
                                                          org.apache.velocity.context.Context context,
                                                          java.lang.String packageName,
                                                          java.io.File outputDirectoryFile)
                                                   throws OutputFileExists,
                                                          ArchetypeGenerationFailure,
                                                          java.io.FileNotFoundException,
                                                          java.io.IOException
        Throws:
        OutputFileExists
        ArchetypeGenerationFailure
        java.io.FileNotFoundException
        java.io.IOException
      • processFileSet

        private int processFileSet​(java.lang.String directory,
                                   java.util.List<java.lang.String> fileSetResources,
                                   boolean packaged,
                                   java.lang.String packageName,
                                   org.apache.velocity.context.Context context,
                                   java.io.File outputDirectoryFile,
                                   java.lang.String moduleOffset,
                                   java.lang.String archetypeEncoding,
                                   boolean failIfExists)
                            throws java.io.IOException,
                                   OutputFileExists,
                                   ArchetypeGenerationFailure
        Throws:
        java.io.IOException
        OutputFileExists
        ArchetypeGenerationFailure
      • processFilesetModule

        private void processFilesetModule​(java.lang.String rootArtifactId,
                                          java.lang.String artifactId,
                                          java.util.List<java.lang.String> archetypeResources,
                                          java.io.File pom,
                                          java.util.zip.ZipFile archetypeZipFile,
                                          java.lang.String moduleOffset,
                                          java.io.File basedirPom,
                                          java.io.File outputDirectoryFile,
                                          java.lang.String packageName,
                                          AbstractArchetypeDescriptor archetypeDescriptor,
                                          org.apache.velocity.context.Context context)
                                   throws org.codehaus.plexus.util.xml.pull.XmlPullParserException,
                                          java.io.IOException,
                                          javax.xml.parsers.ParserConfigurationException,
                                          org.xml.sax.SAXException,
                                          javax.xml.transform.TransformerException,
                                          OutputFileExists,
                                          ArchetypeGenerationFailure,
                                          InvalidPackaging
        Throws:
        org.codehaus.plexus.util.xml.pull.XmlPullParserException
        java.io.IOException
        javax.xml.parsers.ParserConfigurationException
        org.xml.sax.SAXException
        javax.xml.transform.TransformerException
        OutputFileExists
        ArchetypeGenerationFailure
        InvalidPackaging
      • processFilesetProject

        private void processFilesetProject​(AbstractArchetypeDescriptor archetypeDescriptor,
                                           java.lang.String moduleId,
                                           java.util.List<java.lang.String> archetypeResources,
                                           java.io.File pom,
                                           java.util.zip.ZipFile archetypeZipFile,
                                           java.lang.String moduleOffset,
                                           org.apache.velocity.context.Context context,
                                           java.lang.String packageName,
                                           java.io.File outputDirectoryFile,
                                           java.io.File basedirPom)
                                    throws org.codehaus.plexus.util.xml.pull.XmlPullParserException,
                                           java.io.IOException,
                                           javax.xml.parsers.ParserConfigurationException,
                                           org.xml.sax.SAXException,
                                           javax.xml.transform.TransformerException,
                                           OutputFileExists,
                                           ArchetypeGenerationFailure,
                                           InvalidPackaging
        Throws:
        org.codehaus.plexus.util.xml.pull.XmlPullParserException
        java.io.IOException
        javax.xml.parsers.ParserConfigurationException
        org.xml.sax.SAXException
        javax.xml.transform.TransformerException
        OutputFileExists
        ArchetypeGenerationFailure
        InvalidPackaging
      • processPomWithParent

        private void processPomWithParent​(org.apache.velocity.context.Context context,
                                          java.io.File pom,
                                          java.lang.String moduleOffset,
                                          java.io.File basedirPom,
                                          java.lang.String moduleId)
                                   throws org.codehaus.plexus.util.xml.pull.XmlPullParserException,
                                          java.io.IOException,
                                          javax.xml.parsers.ParserConfigurationException,
                                          org.xml.sax.SAXException,
                                          javax.xml.transform.TransformerException,
                                          OutputFileExists,
                                          ArchetypeGenerationFailure,
                                          InvalidPackaging
        Throws:
        org.codehaus.plexus.util.xml.pull.XmlPullParserException
        java.io.IOException
        javax.xml.parsers.ParserConfigurationException
        org.xml.sax.SAXException
        javax.xml.transform.TransformerException
        OutputFileExists
        ArchetypeGenerationFailure
        InvalidPackaging
      • restoreParentArtifactId

        private void restoreParentArtifactId​(org.apache.velocity.context.Context context,
                                             java.lang.String parentArtifactId)
      • getTemporaryFile

        private java.io.File getTemporaryFile​(java.io.File file)