d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff/*
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * CDDL HEADER START
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff *
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * The contents of this file are subject to the terms of the
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * Common Development and Distribution License, Version 1.0 only
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * (the "License"). You may not use this file except in compliance
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * with the License.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff *
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * or http://forgerock.org/license/CDDLv1.0.html.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * See the License for the specific language governing permissions
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * and limitations under the License.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff *
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * When distributing Covered Code, include this CDDL HEADER in each
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * file and include the License file at legal-notices/CDDLv1_0.txt.
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * If applicable, add the following below this CDDL HEADER, with the
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * fields enclosed by brackets "[]" replaced with your own identifying
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * information:
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * Portions Copyright [yyyy] [name of copyright owner]
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff *
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * CDDL HEADER END
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff *
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff *
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara * Copyright 2008-2010 Sun Microsystems, Inc.
7907fb52f3af121d1337bab97f5b1aa1be7e186dludo * Portions Copyright 2011 ForgeRock AS
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff */
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffpackage org.opends.guitools.controlpanel;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
dfb68cb378eeec639f7901a708652cda4e60aa72jvergaraimport static org.opends.messages.AdminToolMessages.
dfb68cb378eeec639f7901a708652cda4e60aa72jvergara INFO_CONTROL_PANEL_LAUNCHER_USAGE_DESCRIPTION;
dfb68cb378eeec639f7901a708652cda4e60aa72jvergara
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergaraimport java.awt.Component;
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergaraimport java.awt.Container;
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergaraimport java.awt.event.ComponentAdapter;
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergaraimport java.awt.event.ComponentEvent;
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergaraimport java.awt.event.ComponentListener;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffimport java.awt.event.WindowAdapter;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffimport java.awt.event.WindowEvent;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffimport javax.swing.JFrame;
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergaraimport javax.swing.RootPaneContainer;
eb1e28ce9e69648d90e077edb7ee59d649a95c41jvergaraimport javax.swing.SwingUtilities;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffimport javax.swing.WindowConstants;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffimport org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffimport org.opends.guitools.controlpanel.ui.ControlCenterMainPane;
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergaraimport org.opends.guitools.controlpanel.ui.GenericFrame;
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergaraimport org.opends.guitools.controlpanel.ui.LocalOrRemotePanel;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffimport org.opends.guitools.controlpanel.ui.MainMenuBar;
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergaraimport org.opends.guitools.controlpanel.util.BlindApplicationTrustManager;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffimport org.opends.guitools.controlpanel.util.Utilities;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffimport org.opends.messages.AdminToolMessages;
b610c3e7694ee7d23d00c046d9cdc37989102492jvergaraimport org.opends.quicksetup.Installation;
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swiftimport org.opends.messages.Message;
d81f6d00c343633159fc5ea08599d145135612c0ludovicpimport org.opends.quicksetup.ui.UIFactory;
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swiftimport org.opends.quicksetup.util.Utils;
c611dc85abd824a20ba3d2bb345755cb0cc9cbdafguiguesimport org.opends.server.util.DynamicConstants;
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergaraimport org.opends.server.util.args.ArgumentException;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff/**
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * The class that is in charge of creating the main dialog of the ControlPanel
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * and the ControlCenterInfo (the data structure that is used by all the GUI
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * components and that contains information about the server status and server
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * configuration).
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff */
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffpublic class ControlPanel
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff{
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff private JFrame dlg;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff private ControlPanelInfo info;
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara private ControlPanelArgumentParser argParser;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff private ControlCenterMainPane controlCenterPane;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff /**
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * Main method that is used for testing purposes. The control-panel
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * command-line is launched through the ControlPanelLauncher (which displays
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * a splash screen and calls the <code>initialize</code> and
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * <code>createAndDisplayMethods</code>.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * @param args the arguments that are passed.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff */
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff public static void main(String[] args) {
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff try
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff {
eb1e28ce9e69648d90e077edb7ee59d649a95c41jvergara initLookAndFeel();
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff }
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff catch (Throwable t)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff {
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff t.printStackTrace();
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff }
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff final ControlPanel test = new ControlPanel();
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff test.initialize(args);
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff javax.swing.SwingUtilities.invokeLater(new Runnable() {
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff public void run() {
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff test.createAndDisplayGUI();
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff }
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff });
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff }
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff /**
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * Method that creates the ControlCenterInfo object that will be in all the
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara * control panel. Nothing is done here: the user must say whether the server
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara * is local or remote.
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara * @param args the arguments that are passed in the command line. The code
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara * assumes that the arguments have been already validated.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff */
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff public void initialize(String[] args)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff {
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff info = ControlPanelInfo.getInstance();
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara // Call Installation because the LocalOrRemotePanel uses it to check
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara // whether the server is running or not and to get the install path.
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara Installation.getLocal();
dfb68cb378eeec639f7901a708652cda4e60aa72jvergara argParser = new ControlPanelArgumentParser(ControlPanel.class.getName(),
dfb68cb378eeec639f7901a708652cda4e60aa72jvergara INFO_CONTROL_PANEL_LAUNCHER_USAGE_DESCRIPTION.get());
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara try
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara argParser.initializeArguments();
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara argParser.parseArguments(args);
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara catch (ArgumentException ae)
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara // Bug
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara throw new IllegalStateException("Arguments not correctly parsed: "+ae,
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara ae);
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara if (argParser.isTrustAll())
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara info.setTrustManager(new BlindApplicationTrustManager());
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
b138eb36479de1170a91322a845ad9e977c3af56ludovicp info.setConnectTimeout(argParser.getConnectTimeout());
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff }
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff /**
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff * Creates the main Control Panel dialog and displays it.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff */
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff public void createAndDisplayGUI()
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff {
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara LocalOrRemotePanel localOrRemotePanel = new LocalOrRemotePanel();
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara localOrRemotePanel.setInfo(info);
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara final GenericFrame localOrRemote = new GenericFrame(localOrRemotePanel);
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara localOrRemote.pack();
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara Utilities.centerOnScreen(localOrRemote);
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara
7907fb52f3af121d1337bab97f5b1aa1be7e186dludo if (argParser.isRemote())
7907fb52f3af121d1337bab97f5b1aa1be7e186dludo {
7907fb52f3af121d1337bab97f5b1aa1be7e186dludo updateLocalOrRemotePanel(localOrRemote);
7907fb52f3af121d1337bab97f5b1aa1be7e186dludo }
7907fb52f3af121d1337bab97f5b1aa1be7e186dludo
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara if (argParser.getBindPassword() != null)
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara updateLocalOrRemotePanel(localOrRemote);
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara getLocalOrRemotePanel(localOrRemote.getContentPane()).
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara setCallOKWhenVisible(true);
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara ComponentListener listener = new ComponentAdapter()
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara {
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara /**
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara * {@inheritDoc}
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara */
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara public void componentHidden(ComponentEvent e)
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara {
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara handleWindowClosed(localOrRemote, info);
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara }
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara };
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara localOrRemote.addComponentListener(listener);
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara localOrRemote.setVisible(true);
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara }
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara private void handleWindowClosed(GenericFrame localOrRemote,
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara final ControlPanelInfo info)
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara {
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara if (info.getServerDescriptor() == null)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff {
87bfada26034fcf233f266d7975df6d2d41ab149jvergara MainMenuBar menuBar = new MainMenuBar(info);
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara // Assume that the user decided to quit the application
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara menuBar.quitClicked();
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff }
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara updateSharedLocalOrRemotePanel(localOrRemote, info);
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara // To be sure that the dialog receives the new configuration event before
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara // calling pack.
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara SwingUtilities.invokeLater(new Runnable()
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara {
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara public void run()
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara {
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara // Create and set up the content pane.
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara controlCenterPane = new ControlCenterMainPane(info);
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara // Create and set up the window.
098e548e58d50f922236182f793a0ce65e56a247jvergara dlg = Utilities.createFrame();
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara dlg.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara final MainMenuBar menuBar = new MainMenuBar(info);
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara dlg.addWindowListener(new WindowAdapter() {
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara public void windowClosing(WindowEvent e) {
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara menuBar.quitClicked();
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara }
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara });
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara dlg.setJMenuBar(menuBar);
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara String title = Utils.getCustomizedObject(
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara "INFO_CONTROL_PANEL_TITLE",
c611dc85abd824a20ba3d2bb345755cb0cc9cbdafguigues AdminToolMessages.INFO_CONTROL_PANEL_TITLE.get(
c611dc85abd824a20ba3d2bb345755cb0cc9cbdafguigues DynamicConstants.PRODUCT_NAME),
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara Message.class).toString();
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara dlg.setTitle(title);
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara dlg.setContentPane(controlCenterPane);
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara dlg.pack();
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara Utilities.centerOnScreen(dlg);
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara dlg.setVisible(true);
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara }
b610c3e7694ee7d23d00c046d9cdc37989102492jvergara });
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff }
eb1e28ce9e69648d90e077edb7ee59d649a95c41jvergara
eb1e28ce9e69648d90e077edb7ee59d649a95c41jvergara private static void initLookAndFeel() throws Throwable
eb1e28ce9e69648d90e077edb7ee59d649a95c41jvergara {
5e521b4c6eb3c0b22eb6790f961392611caba9d6ludovicp UIFactory.initializeLookAndFeel();
eb1e28ce9e69648d90e077edb7ee59d649a95c41jvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara private void updateLocalOrRemotePanel(RootPaneContainer localOrRemote)
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara LocalOrRemotePanel panel =
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara getLocalOrRemotePanel(localOrRemote.getContentPane());
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara if (panel != null)
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
7907fb52f3af121d1337bab97f5b1aa1be7e186dludo if (argParser.isRemote())
7907fb52f3af121d1337bab97f5b1aa1be7e186dludo {
7907fb52f3af121d1337bab97f5b1aa1be7e186dludo panel.setRemote(true);
7907fb52f3af121d1337bab97f5b1aa1be7e186dludo }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara if (argParser.getExplicitHostName() != null)
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara panel.setHostName(argParser.getExplicitHostName());
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara panel.setRemote(true);
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara if (argParser.getExplicitPort() != -1)
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara panel.setPort(argParser.getExplicitPort());
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara panel.setRemote(true);
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara if (argParser.getExplicitBindDn() != null)
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara panel.setBindDN(argParser.getExplicitBindDn());
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara if (argParser.getBindPassword() != null)
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara panel.setBindPassword(argParser.getBindPassword().toCharArray());
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara /**
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara * A method used to update the contents of the dialog displayed when the user
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara * selects 'Server To Administer...'. This is done because this class
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara * displays a GenericFrame and in the rest of the UI a GenericDialog is
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara * shown.
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara * @param localOrRemote the frame displayed by this class.
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara * @param info the generic info.
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara */
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara private void updateSharedLocalOrRemotePanel(RootPaneContainer localOrRemote,
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara ControlPanelInfo info)
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara {
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara LocalOrRemotePanel panel =
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara getLocalOrRemotePanel(localOrRemote.getContentPane());
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara LocalOrRemotePanel panelToUpdate = getLocalOrRemotePanel(
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara ControlCenterMainPane.getLocalOrRemoteDialog(info));
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara if (panel != null && panelToUpdate != null)
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara {
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara panelToUpdate.setRemote(panel.isRemote());
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara if (panel.getHostName() != null)
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara {
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara panelToUpdate.setHostName(panel.getHostName());
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara }
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara if (panel.getPort() != -1)
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara {
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara panelToUpdate.setPort(panel.getPort());
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara }
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara if (panel.getBindDN() != null)
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara {
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara panelToUpdate.setBindDN(panel.getBindDN());
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara }
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara }
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara }
5d36d63aea1c7b88674a08b307ba24b69f6f37bejvergara
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara private LocalOrRemotePanel getLocalOrRemotePanel(Container c)
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara LocalOrRemotePanel panel = null;
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara if (c instanceof LocalOrRemotePanel)
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara panel = (LocalOrRemotePanel)c;
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara else
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara for (Component comp : c.getComponents())
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara if (comp instanceof Container)
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara panel = getLocalOrRemotePanel((Container)comp);
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara if (panel != null)
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara {
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara break;
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara return panel;
ef8adaa9b9e41f2998b8d1d5a043c2100f1e37acjvergara }
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff}