Package org.apache.excalibur.instrument.client

Source Code of org.apache.excalibur.instrument.client.Main

/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements.  See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License.  You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed  under the  License is distributed on an "AS IS" BASIS,
* WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
* implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.apache.excalibur.instrument.client;

import java.io.File;

import org.apache.avalon.framework.logger.ConsoleLogger;

/**
*
* @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version CVS $Revision: 1.4 $ $Date: 2004/02/28 11:47:23 $
* @since 4.1
*/
public class Main
{
    /*---------------------------------------------------------------
     * Methods
     *-------------------------------------------------------------*/
    private static void showUsage()
    {
        System.out.println( "Usage:");
        System.out.println( "java -classpath {classpath} org.apache.excalibur.instrument.client.Main [-debug] [state file]" );
        System.out.println();
        System.out.println( "    -debug     - Enables debug output." );
        System.out.println( "    state file - Name of a state file to read at startup.  Defaults to: ../conf/default.desktop" );
        System.out.println();
    }
   
   
    /*---------------------------------------------------------------
     * Main Method
     *-------------------------------------------------------------*/
    /**
     * Main method used to lauch an InstrumentClient application.
     */
    public static void main( String args[] )
    {
        // Parse the command line.  Want to replace this with something more powerful later.
        boolean debug = false;
        String defaultStateFileName = "../conf/default.desktop";
        switch( args.length )
        {
        case 0:
            break;
           
        case 1:
            if ( args[0].equalsIgnoreCase( "-debug" ) )
            {
                debug = true;
            }
            else
            {
                defaultStateFileName = args[0];
            }
            break;
           
        case 2:
            if ( args[0].equalsIgnoreCase( "-debug" ) )
            {
                debug = true;
            }
            else
            {
                showUsage();
                System.exit( 1 );
            }
            defaultStateFileName = args[1];
            break;
           
        default:
            showUsage();
            System.exit( 1 );
        }
       
        File defaultStateFile = new File( defaultStateFileName );
       
        InstrumentClientFrame client = new InstrumentClientFrame( "Instrument Client" );
        int logLevel = ( debug ? ConsoleLogger.LEVEL_DEBUG : ConsoleLogger.LEVEL_INFO );
        client.enableLogging( new ConsoleLogger( logLevel ) );
        client.initialize();
        client.setDefaultStateFile( defaultStateFile );
        client.show();
    }
}
TOP

Related Classes of org.apache.excalibur.instrument.client.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.