Package com.sun.messaging.jmq.admin.apps.console

Source Code of com.sun.messaging.jmq.admin.apps.console.AdminConsole

/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 2000-2010 Oracle and/or its affiliates. All rights reserved.
*
* The contents of this file are subject to the terms of either the GNU
* General Public License Version 2 only ("GPL") or the Common Development
* and Distribution License("CDDL") (collectively, the "License").  You
* may not use this file except in compliance with the License.  You can
* obtain a copy of the License at
* https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
* or packager/legal/LICENSE.txt.  See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each
* file and include the License file at packager/legal/LICENSE.txt.
*
* GPL Classpath Exception:
* Oracle designates this particular file as subject to the "Classpath"
* exception as provided by Oracle in the GPL Version 2 section of the License
* file that accompanied this code.
*
* Modifications:
* If applicable, add the following below the License Header, with the fields
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyright [year] [name of copyright owner]"
*
* Contributor(s):
* If you wish your version of this file to be governed by only the CDDL or
* only the GPL Version 2, indicate your decision by adding "[Contributor]
* elects to include this software in this distribution under the [CDDL or GPL
* Version 2] license."  If you don't indicate a single choice of license, a
* recipient has the option to distribute your version of this file under
* either the CDDL, the GPL Version 2 or to extend the choice of license to
* its licensees as provided above.  However, if you add GPL Version 2 code
* and therefore, elected the GPL Version 2 license, then the option applies
* only if the new code is made subject to such option by the copyright
* holder.
*/

/*
* @(#)AdminConsole.java  1.39 06/27/07
*/

package com.sun.messaging.jmq.admin.apps.console;

import javax.swing.JFrame;
import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.JOptionPane;

import java.awt.Frame;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import com.sun.messaging.jmq.Version;
import com.sun.messaging.jmq.admin.util.Globals;
import com.sun.messaging.jmq.admin.bkrutil.BrokerAdmin;
import com.sun.messaging.jmq.admin.objstore.ObjStoreManager;
import com.sun.messaging.jmq.admin.resources.AdminResources;
import com.sun.messaging.jmq.admin.resources.AdminConsoleResources;

/**
* This is the main application for the JMQ Administration Console. It
* allows one to administer:
*
* <OL>
* <LI>JMS Objects in object stores
* <LI>JMQ Message brokers
* </OL>
*
* The user will execute this application by running a script.
*
*/
public class AdminConsole extends JFrame implements AdminApp {

    private static AdminConsoleResources acr = Globals.getAdminConsoleResources();
    private static AdminResources ar = Globals.getAdminResources();

    private AMenuBar    menuBar = null;
    private AToolBar    toolBar = null;
    private AExplorer    explorer = null;
    private AInspector    inspector = null;
    private AStatusArea    statusArea = null;
    private ActionManager  actionMgr = null;
    private AController    controller = null;
    private ObjStoreListCObj  oslCObj = null;
    private BrokerListCObj  blCObj = null;

    private ConsoleObj    selObj = null;

    public static final String CONSOLE_VERSION1 = "-v";
    public static final String CONSOLE_VERSION2 = "-version";
    public static final String OPTION_HELP1 = "-h";
    public static final String OPTION_HELP2 = "-help";
    public static final String OPTION_DEBUG  = "-debug";
    public static final String OPTION_VERBOSE  = "-verbose";
    public static final String OPTION_VARHOME  = "-varhome";
    public static final String OPTION_RECV_TIMEOUT  = "-rtm";
    public static final String OPTION_NUM_RETRIES  = "-rtr";
    public static final String OPTION_JAVAHOME  = "-javahome";

    private static String close[] = {acr.getString(acr.I_DIALOG_CLOSE)};

    /**
     * Constructor
     */
    public AdminConsole() {
  super("");
  setTitle(acr.getString(acr.I_ADMIN_CONSOLE,
    Globals.getVersion().getProductName()));

  initMgrs();
  initGui();
  controller.init();
    }

    /*
     * BEGIN INTERFACE AdminApp
     */
    public Frame getFrame()  {
  return ((Frame)this);
    }
    public AMenuBar getMenubar()  {
  return (menuBar);
    }
    public AToolBar getToolbar()  {
  return (toolBar);
    }
    public AExplorer getExplorer()  {
  return (explorer);
    }
    public AInspector getInspector()  {
  return (inspector);
    }
    public AStatusArea getStatusArea()  {
  return (statusArea);
    }
    public ActionManager getActionManager()  {
  return (actionMgr);
    }
    public ObjStoreListCObj getObjStoreListCObj()  {
        return (oslCObj);
    }
    public BrokerListCObj getBrokerListCObj()  {
        return (blCObj);
    }
    public void setSelectedObj(ConsoleObj obj)  {
  this.selObj = obj;
    }
    public ConsoleObj getSelectedObj()  {
  return (this.selObj);
    }
    public void setSelectedObjs(ConsoleObj obj[])  {
    }
    public ConsoleObj[] getSelectedObjs()  {
  return (null);
    }
    /*
     * END INTERFACE AdminApp
     */

    private void initMgrs()  {
        ConsoleObjStoreManager  osMgr;
  ConsoleBrokerAdminManager baMgr;

  osMgr = ConsoleObjStoreManager.getConsoleObjStoreManager();
  oslCObj = new ObjStoreListCObj(osMgr);

  baMgr = new ConsoleBrokerAdminManager();
        blCObj = new BrokerListCObj(baMgr);
    }

    private void initGui()  {
  /*
   * set layout to be border layout
   */
  getContentPane().setLayout(new BorderLayout());

  /*
   * Create all the UI components
   */
        actionMgr = new ActionManager();
  menuBar = new AMenuBar(actionMgr);
  toolBar = new AToolBar(actionMgr);
        explorer = new AExplorer(actionMgr, oslCObj, blCObj);
        inspector = new AInspector();
        statusArea = new AStatusArea();
        controller = new AController(this);

  /*
   * Hook up all components to send their
   * events to the controller.
   */
  explorer.addAdminEventListener(controller);
  inspector.addAdminEventListener(controller);
  actionMgr.addAdminEventListener(controller);

  actionMgr.setActiveActions(0);

  /*
   * Set the menubar of the application
   */
  setJMenuBar(menuBar);

  /*
   * Add the toolbar
   */
        getContentPane().add(toolBar, BorderLayout.NORTH);

  /*
   * Create a split pane for the explorer/inspector
   * pane
   */
        JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
        splitPane.setDividerLocation(200); //XXX: ignored in some releases
                                           //of Swing. bug 4101306
        splitPane.setOneTouchExpandable(true);
        splitPane.setPreferredSize(new Dimension(750, 450));
        splitPane.setTopComponent(explorer);
        splitPane.setBottomComponent(inspector);

  /*
   * Create another split pane containing the splitpane above
   * and the status area.
   */
        JSplitPane splitPane2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
        splitPane2.setOneTouchExpandable(true);
        splitPane2.setTopComponent(splitPane);
        splitPane2.setBottomComponent(statusArea);

  /*
   * Add splitpanes containing explorer, inspector and status area.
   */
        getContentPane().add(splitPane2, BorderLayout.CENTER);

  statusArea.appendText(acr.getString(acr.I_ADMIN_CONSOLE,
        Globals.getVersion().getProductName())
        + "\n");

  setIconImage(AGraphics.adminImages[AGraphics.DESKTOP_ICON].getImage());
    }

    private static void processCmdlineArgs(String args[]) {
        for (int i = 0; i < args.length; ++i)  {
            if (args[i].equals(CONSOLE_VERSION1) ||
                    args[i].equals(CONSOLE_VERSION2)) {
                printBanner();
                printVersion();
                System.exit(0);
            } else if (args[i].equals(OPTION_HELP1) ||
                    args[i].equals(OPTION_HELP2)) {
                printHelp();
                System.exit(0);
            } else if (args[i].equals(OPTION_DEBUG))  {
          BrokerAdmin.setDebug(true);
            } else if (args[i].equals(OPTION_RECV_TIMEOUT))  {
    if (i == (args.length - 1))  {
        Globals.stdErrPrintln(
      ar.getString(ar.I_ERROR_MESG),
      acr.getKString(acr.I_ARG_EXPECTED, args[i]), false);
                    System.exit(1);
    }

    ++i;

    String val = args[i];
    long longVal = 0;

    try  {
        longVal = Long.parseLong(val);
    } catch (Exception e) {
        Globals.stdErrPrintln(
      ar.getString(ar.I_ERROR_MESG),
      acr.getKString(acr.E_BAD_RECV_TIMEOUT_VAL, val), false);
                    System.exit(1);
    }

          BrokerAdmin.setDefaultTimeout(longVal * 1000);
            } else if (args[i].equals(OPTION_NUM_RETRIES))  {
    if (i == (args.length - 1))  {
        Globals.stdErrPrintln(
      ar.getString(ar.I_ERROR_MESG),
      acr.getKString(acr.I_ARG_EXPECTED, args[i]), false);
                    System.exit(1);
    }

    ++i;

    String val = args[i];
    int intVal = 0;

    try  {
        intVal = Integer.parseInt(val);
    } catch (Exception e) {
        Globals.stdErrPrintln(
      ar.getString(ar.I_ERROR_MESG),
      acr.getKString(acr.E_BAD_NUM_RETRIES_VAL, val), false);
                    System.exit(1);
    }

          BrokerAdmin.setDefaultNumRetries(intVal);
            } else if (args[i].equals(OPTION_JAVAHOME))  {
    if (i == (args.length - 1))  {
        Globals.stdErrPrintln(
      ar.getString(ar.I_ERROR_MESG),
      acr.getKString(acr.I_ARG_EXPECTED, args[i]), false);
                    System.exit(1);
    }

    ++i;
            } else if (args[i].equals(OPTION_VERBOSE))  {
    // ignore. -verbose is handled by wrapper script
            } else if (args[i].equals(OPTION_VARHOME))  {
    // ignore. -varhome is handled by wrapper script
    ++i;
      } else  {
    Globals.stdErrPrintln(
      ar.getString(ar.I_ERROR_MESG),
      acr.getKString(acr.I_UNRECOGNIZED_OPT, args[i]), false);

                System.exit(1);
      }
        }
    }

    private static void printVersion() {

        Version version = Globals.getVersion();
        Globals.stdOutPrintln(version.getVersion());
        Globals.stdOutPrintln(ar.getString(ar.I_JAVA_VERSION) +
            System.getProperty("java.version") + " " +
            System.getProperty("java.vendor") + " " +
            System.getProperty("java.home")
            );
        Globals.stdOutPrintln(ar.getString(ar.I_JAVA_CLASSPATH) +
            System.getProperty("java.class.path")
            );
    }

    private static void printHelp() {
        Globals.stdOutPrintln(acr.getString(acr.I_USAGE_HELP));
    }

    private static void printBanner() {
        Version version = new Version(false);
        Globals.stdOutPrintln(version.getBanner(false));
    }

    public static void main(String[] args)  {
        JFrame frame;

  processCmdlineArgs(args);

  AGraphics.loadImages();
  ConsoleHelp.loadHelp();

        frame = new AdminConsole();
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        })
        frame.pack();
        frame.setVisible(true);

  if (!ConsoleHelp.helpLoaded())  {
      String s1 = acr.getString(acr.E_ONLINE_HELP_INIT_FAILED);
      String s2 = acr.getString(acr.I_ONLINE_HELP_INIT) + ": " +
        acr.getString(acr.I_ERROR_CODE,
        AdminConsoleResources.E_ONLINE_HELP_INIT_FAILED);

      Exception e = ConsoleHelp.getHelpLoadException();
      if (e != null)  {
    s1 = s1 + "\n" + e.toString();
      }

      JOptionPane.showOptionDialog(frame,
    s1,
                s2,
    JOptionPane.YES_NO_OPTION,
    JOptionPane.ERROR_MESSAGE, null, close, close[0]);

  }
    }   

}
TOP

Related Classes of com.sun.messaging.jmq.admin.apps.console.AdminConsole

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.