mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

jvergara
29.26.2008 430d063aee2d08f8226131875ff23bc7652adc41
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 * add the following below this CDDL HEADER, with the fields enclosed
 * by brackets "[]" replaced with your own identifying information:
 *      Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 *
 *      Copyright 2008 Sun Microsystems, Inc.
 */
 
package org.opends.guitools.controlpanel;
 
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.WindowConstants;
 
import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
import org.opends.guitools.controlpanel.ui.ControlCenterMainPane;
import org.opends.guitools.controlpanel.ui.MainMenuBar;
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.messages.AdminToolMessages;
 
/**
 * The class that is in charge of creating the main dialog of the ControlPanel
 * and the ControlCenterInfo (the data structure that is used by all the GUI
 * components and that contains information about the server status and server
 * configuration).
 */
public class ControlPanel
{
  private JFrame dlg;
  private ControlPanelInfo info;
  private ControlCenterMainPane controlCenterPane;
 
  /**
   * Main method that is used for testing purposes.  The control-panel
   * command-line is launched through the ControlPanelLauncher (which displays
   * a splash screen and calls the <code>initialize</code> and
   * <code>createAndDisplayMethods</code>.
   * @param args the arguments that are passed.
   */
  public static void main(String[] args) {
    try
    {
      UIManager.setLookAndFeel(
          UIManager.getSystemLookAndFeelClassName());
    }
    catch (Throwable t)
    {
      t.printStackTrace();
    }
    final ControlPanel test = new ControlPanel();
    test.initialize(args);
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        test.createAndDisplayGUI();
      }
    });
  }
 
  /**
   * Method that creates the ControlCenterInfo object that will be in all the
   * control panel.  Here it basically reads the configuration of the
   * configuration file.
   * @param args the arguments that are passed in the command line.
   */
  public void initialize(String[] args)
  {
    info = ControlPanelInfo.getInstance();
    info.regenerateDescriptor();
    info.startPooling(ControlPanelInfo.DEFAULT_POOLING);
  }
 
  /**
   * Creates the main Control Panel dialog and displays it.
   */
  public void createAndDisplayGUI()
  {
//  Create and set up the content pane.
    controlCenterPane = new ControlCenterMainPane(info);
    //  Create and set up the window.
    dlg = new JFrame();
    dlg.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
    final MainMenuBar menuBar = new MainMenuBar(info);
    dlg.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        menuBar.quitClicked();
      }
    });
    dlg.setJMenuBar(menuBar);
    dlg.setTitle(AdminToolMessages.INFO_CONTROL_PANEL_TITLE.get().toString());
    dlg.setContentPane(controlCenterPane);
 
    dlg.pack();
    Utilities.centerOnScreen(dlg);
    dlg.setVisible(true);
    if (info.getServerDescriptor().getStatus() ==
      ServerDescriptor.ServerStatus.STARTED)
    {
      controlCenterPane.getLoginDialog().setVisible(true);
      controlCenterPane.getLoginDialog().toFront();
    }
  }
}