Package webapp

Source Code of webapp.Main

/*
* XML 2 Java Binding (X2JB) - the excellent Java tool.
* Copyright 2009, by Richard Opalka.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not see the FSF site:
* http://www.fsf.org/ and search for the LGPL License document there.
*/
package webapp;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.x2jb.bind.XML2Java;

import webapp.ifaces.Description;
import webapp.ifaces.EnvEntry;
import webapp.ifaces.Filter;
import webapp.ifaces.FilterMapping;
import webapp.ifaces.Listener;
import webapp.ifaces.Parameter;
import webapp.ifaces.Servlet;
import webapp.ifaces.ServletMapping;
import webapp.ifaces.SessionConfig;
import webapp.ifaces.WebApp;
import webapp.ifaces.WelcomeFileList;

/**
* Web app sample
* @author <a href="mailto:richard_opalka@yahoo.com">Richard Opalka</a>
*/
public final class Main
{

    private static final int PADDING_SIZE = 4;

    private Main()
    {
        super();
    }

    /**
     * Lookups specified resource on the classpath and returns parsed document instance
     * @param classpath resource to return
     */
    private static Document getDocument( final String resource ) throws Exception
    {
        Document retVal = null;

        try
        {
            final DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
            builderFactory.setIgnoringComments( true );
            final DocumentBuilder builder = builderFactory.newDocumentBuilder();
            retVal = builder.parse( Main.class.getResourceAsStream( resource ) );
        }
        catch ( ParserConfigurationException e )
        {
            e.printStackTrace( System.err );
            System.exit( 1 );
        }

        return retVal;
    }

    public static void main( final String[] args ) throws Exception
    {
        final Document parsedDocument = Main.getDocument( "/web.xml" );
        final WebApp webApp = XML2Java.bind( parsedDocument, WebApp.class );

        System.out.println();
        System.out.println( "Web application configuration: " );
        System.out.println();
        Main.printDescription( webApp.getDescription(), 0 );
        System.out.println();
        Main.printFilters( webApp.getFilters(), 0 );
        Main.printFilterMappings( webApp.getFilterMappings(), 0 )
        Main.printListeners( webApp.getListeners(), 0 );
        Main.printServlets( webApp.getServlets(), 0 );
        Main.printServletMappings( webApp.getServletMappings(), 0 );
        Main.printEnvEntries( webApp.getEnvEntries(), 0 );
        Main.printSessionConfig( webApp.getSessionConfig(), 0 );
        Main.printWelcomeFileList( webApp.getWelcomeFileList(), 0 );
    }

    private static void printWelcomeFileList( final WelcomeFileList list, final int level )
    {
        if ( list != null )
        {
            final String[] welcomeFiles = list.getFiles();
            if ( welcomeFiles.length != 0 )
            {
                Main.printPadding( level );
                System.out.println( "Welcome file list: " );
                System.out.println();
                for ( int i = 0; i < welcomeFiles.length; i++ )
                {
                    Main.printPadding( level + 1 );
                    System.out.println( "Welcome file: " + welcomeFiles[ i ] );
                }
                System.out.println();
            }
        }
    }

    private static void printSessionConfig( final SessionConfig config, final int level )
    {
        if ( config != null )
        {
            Main.printPadding( level );
            System.out.println( "Session timeout: " + config.getSessionTimeout() );
            System.out.println();
        }
    }

    private static void printEnvEntries( final EnvEntry[] entries, final int level )
    {
        if ( entries.length != 0 )
        {
            Main.printPadding( level );
            System.out.println( "Environment Entries: " );
            System.out.println();
            for ( int i = 0; i < entries.length; i++ )
            {
                final EnvEntry e = entries[ i ];
                Main.printDescription( e.getDescription(), level + 1 );
                Main.printPadding( level + 1 );
                System.out.println( "Entry name: " + e.getName() );
                Main.printPadding( level + 1 );
                System.out.println( "Entry type: " + e.getType() );
                if ( e.getValue() != null )
                {
                    Main.printPadding( level + 1 );
                    System.out.println( "Entry value: " + e.getValue() );
                }
                System.out.println();
            }
        }
    }

    private static void printServletMappings( final ServletMapping[] servletMappings, final int level )
    {
        if ( servletMappings.length != 0 )
        {
            Main.printPadding( level );
            System.out.println( "Servlet mappings: " );
            System.out.println();
            for ( int i = 0; i < servletMappings.length; i++ )
            {
                final ServletMapping s = servletMappings[ i ];
                Main.printPadding( level + 1 );
                System.out.println( "Servlet name: " + s.getServletName() );
                Main.printPadding( level + 1 );
                System.out.println( "URL pattern: " + s.getUrlPattern() );
                System.out.println();
            }
        }
    }

    private static void printListeners( final Listener[] listeners, final int level )
    {
        if ( listeners.length != 0 )
        {
            Main.printPadding( level );
            System.out.println( "Listeners: " );
            System.out.println();
            for ( int i = 0; i < listeners.length; i++ )
            {
                final Listener l = listeners[ i ];
                Main.printPadding( level + 1 );
                System.out.println( "Listener class: " + l.getListenerClass() );
                System.out.println();
            }
        }
    }

    private static void printPadding( final int level )
    {
        for ( int i = 0; i < level * Main.PADDING_SIZE; i++ )
        {
            System.out.print( ' ' );
        }
    }

    private static void printDescription( final Description desc, final int level )
    {
        if ( desc.getDescription() != null )
        {
            Main.printPadding( level );
            System.out.println( "Description: " + desc.getDescription() );
        }
        if ( desc.getDisplayName() != null )
        {
            Main.printPadding( level );
            System.out.println( "Display name: " + desc.getDisplayName() );
        }
        if ( desc.getIcon() != null )
        {
            Main.printPadding( level );
            System.out.println( "Icon: " + desc.getIcon() );
        }
    }

    private static void printFilters( final Filter[] filters, final int level )
    {
        if ( filters.length != 0 )
        {
            Main.printPadding( level );
            System.out.println( "Filters: " );
            System.out.println();
            for ( int i = 0; i < filters.length; i++ )
            {
                final Filter f = filters[ i ];
                Main.printDescription( f.getDescription(), level + 1 );
                Main.printPadding( level + 1 );
                System.out.println( "Filter name: " + f.getName() );
                Main.printPadding( level + 1 );
                System.out.println( "Filter class: " + f.getClassName() );
                Main.printParams( f.getInitParams(), level + 2 );
                System.out.println();
            }
        }
    }

    private static void printServlets( final Servlet[] servlets, final int level )
    {
        if ( servlets.length != 0 )
        {
            Main.printPadding( level );
            System.out.println( "Servlets: " );
            System.out.println();
            for ( int i = 0; i < servlets.length; i++ )
            {
                final Servlet s = servlets[ i ];
                Main.printPadding( level + 1 );
                System.out.println( "Servlet name: " + s.getName() );
                Main.printPadding( level + 1 );
                if ( s.getClassName() != null )
                {
                    System.out.println( "Servlet class: " + s.getClassName() );
                }
                else
                {
                    System.out.println( "Servlet JSP file: " + s.getJspFile() );
                }
                if ( s.getLoadOnStartup() != 0 )
                {
                    Main.printPadding( level + 1 );
                    System.out.println( "Load on startup: " + s.getLoadOnStartup() );
                }
                Main.printParams( s.getInitParams(), level + 2 );
                System.out.println();
            }
        }
    }

    private static void printFilterMappings( final FilterMapping[] filterMappings, final int level )
    {
        if ( filterMappings.length != 0 )
        {
            Main.printPadding( level );
            System.out.println( "Filter mappings: " );
            System.out.println();
            for ( int i = 0; i < filterMappings.length; i++ )
            {
                final FilterMapping f = filterMappings[ i ];
                Main.printPadding( level + 1 );
                System.out.println( "Filter name: " + f.getFilterName() );
                Main.printPadding( level + 1 );
                if ( f.getServletName() != null )
                {
                    System.out.println( "Applies to servlet: " + f.getServletName() );
                }
                else
                {
                    System.out.println( "Applies to URL pattern: " + f.getURLPattern() );
                }
                final Dispatcher[] dispatchers = f.getDispatchers();
                if ( dispatchers.length != 0 )
                {
                    Main.printPadding( level + 1 );
                    System.out.print( "Dispatchers: " );
                    for ( int j = 0; j < dispatchers.length; j++ )
                    {
                        System.out.print( dispatchers[ j ] + " " );
                    }
                    System.out.println();
                }
                System.out.println();
            }
        }
    }

    private static void printParams( final Parameter[] params, final int level )
    {
        for ( int i = 0; i < params.length; i++ )
        {
            System.out.println();
            final Parameter p = params[ i ];
            if ( p.getDescription() != null )
            {
                Main.printPadding( level );
                System.out.println( "Parameter description: " + p.getDescription() );
            }
            Main.printPadding( level );
            System.out.println( "Param name: " + p.getName() );
            Main.printPadding( level );
            System.out.println( "Param value: " + p.getValue() );
        }
    }

}
TOP

Related Classes of webapp.Main

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.