public void write()

in src/main/java/org/apache/maven/plugins/ear/JbossAppXmlWriter.java [61:197]


    public void write( File destinationFile, JbossConfiguration jbossConfiguration, List<EarModule> earModules )
        throws EarPluginException
    {
        try ( Writer w = initializeWriter( destinationFile ) )
        {
            XMLWriter writer;
            if ( jbossConfiguration.isJbossThreeDotTwo() )
            {
                writer = initializeXmlWriter( w, DOCTYPE_3_2 );
            }
            else if ( jbossConfiguration.isJbossFour() )
            {
                writer = initializeXmlWriter( w, DOCTYPE_4 );
            }
            else if ( jbossConfiguration.isJbossFourDotTwo() )
            {
                writer = initializeXmlWriter( w, DOCTYPE_4_2 );
            }
            else
            {
                writer = initializeXmlWriter( w, DOCTYPE_5 );
            }
            writer.startElement( JBOSS_APP_ELEMENT );
    
            // Make sure to write the things in the right order so that the DTD validates
    
            // module-order (only available as from 4.2)
            if ( jbossConfiguration.isJbossFourDotTwoOrHigher() && jbossConfiguration.getModuleOrder() != null )
            {
                writer.startElement( JbossConfiguration.MODULE_ORDER );
                writer.writeText( jbossConfiguration.getModuleOrder() );
                writer.endElement();
            }
    
            // If JBoss 4, write the jboss4 specific stuff
            if ( jbossConfiguration.isJbossFourOrHigher() )
            {
                if ( jbossConfiguration.getSecurityDomain() != null )
                {
                    writer.startElement( JbossConfiguration.SECURITY_DOMAIN );
                    writer.writeText( jbossConfiguration.getSecurityDomain() );
                    writer.endElement();
                }
                if ( jbossConfiguration.getUnauthenticatedPrincipal() != null )
                {
                    writer.startElement( JbossConfiguration.UNAUHTHENTICTED_PRINCIPAL );
                    writer.writeText( jbossConfiguration.getUnauthenticatedPrincipal() );
                    writer.endElement();
                }
            }
    
            // classloader repository
            if ( jbossConfiguration.getLoaderRepository() != null
                || jbossConfiguration.getLoaderRepositoryConfig() != null )
            {
                writer.startElement( JbossConfiguration.LOADER_REPOSITORY );
    
                // classloader repository class
                if ( jbossConfiguration.getLoaderRepositoryClass() != null )
                {
                    writer.addAttribute( JbossConfiguration.LOADER_REPOSITORY_CLASS_ATTRIBUTE,
                                         jbossConfiguration.getLoaderRepositoryClass() );
                }
    
                // we don't need to write any text if only the loader repo configuration is changed
                if ( jbossConfiguration.getLoaderRepository() != null )
                {
                    writer.writeText( jbossConfiguration.getLoaderRepository() );
                }
    
                // classloader configuration
                if ( jbossConfiguration.getLoaderRepositoryConfig() != null )
                {
                    writer.startElement( JbossConfiguration.LOADER_REPOSITORY_CONFIG );
    
                    // classloader configuration parser
                    if ( jbossConfiguration.getConfigParserClass() != null )
                    {
                        writer.addAttribute( JbossConfiguration.CONFIG_PARSER_CLASS_ATTRIBUTE,
                                             jbossConfiguration.getConfigParserClass() );
                    }
                    writer.writeText( jbossConfiguration.getLoaderRepositoryConfig() );
                    writer.endElement();
                }
    
                writer.endElement();
            }
    
            // jmx name
            if ( jbossConfiguration.getJmxName() != null )
            {
                writer.startElement( JbossConfiguration.JMX_NAME );
                writer.writeText( jbossConfiguration.getJmxName() );
                writer.endElement();
            }
    
            // library-directory (only available as from 4.2)
            if ( jbossConfiguration.isJbossFourDotTwoOrHigher() && jbossConfiguration.getLibraryDirectory() != null )
            {
                writer.startElement( JbossConfiguration.LIBRARY_DIRECTORY );
                writer.writeText( jbossConfiguration.getLibraryDirectory() );
                writer.endElement();
            }
    
            // Modules
    
            List<String> dataSources = jbossConfiguration.getDataSources();
            // Write out data source modules first
            if ( dataSources != null )
            {
                for ( String dsPath : dataSources )
                {
                    writer.startElement( MODULE_ELEMENT );
                    writer.startElement( SERVICE_ELEMENT );
                    writer.writeText( dsPath );
                    writer.endElement();
                    writer.endElement();
                }
            }
    
            // Write the JBoss specific modules
            for ( EarModule earModule : earModules )
            {
                if ( JbossEarModule.class.isInstance( earModule ) )
                {
                    JbossEarModule jbossEarModule = (JbossEarModule) earModule;
                    jbossEarModule.appendJbossModule( writer, jbossConfiguration.getVersion() );
                }
            }
            writer.endElement();

        }
        catch ( IOException ex )
        {
            throw new EarPluginException( ex );
        }
    }