From 14f210825823c17cff84d9221fa76673cbe27aa9 Mon Sep 17 00:00:00 2001
From: kenneth_suter <kenneth_suter@localhost>
Date: Mon, 23 Apr 2007 00:29:32 +0000
Subject: [PATCH] The commit contains code for the following:

---
 opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/ui/WelcomePanel.java |  123 +++++++++++++++++++++++++++-------------
 1 files changed, 82 insertions(+), 41 deletions(-)

diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/ui/WelcomePanel.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/ui/WelcomePanel.java
index 7944998..3a245ce 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/ui/WelcomePanel.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/ui/WelcomePanel.java
@@ -27,12 +27,10 @@
 
 package org.opends.quicksetup.upgrader.ui;
 
-import org.opends.quicksetup.ui.QuickSetupStepPanel;
-import org.opends.quicksetup.ui.UIFactory;
-import org.opends.quicksetup.ui.Utilities;
-import org.opends.quicksetup.ui.LabelFieldDescriptor;
+import org.opends.quicksetup.ui.*;
 import org.opends.quicksetup.util.Utils;
 import org.opends.quicksetup.Installation;
+import org.opends.quicksetup.UserData;
 import org.opends.quicksetup.event.BrowseActionListener;
 import org.opends.quicksetup.upgrader.Upgrader;
 
@@ -42,12 +40,18 @@
 import java.util.ArrayList;
 
 /**
- * This panel is used to show a welcome message.
+ * This panel is used to show a welcome message.  If this is the WebStart,
+ * allows the user to select a build to upgrade.  Otherwise shows the user
+ * some readonly information about the current build.
  */
 public class WelcomePanel extends QuickSetupStepPanel {
 
   private static final long serialVersionUID = 8695606871542491768L;
 
+  private JTextComponent tcServerLocation;
+
+  private JTextComponent tcCurrentServerBuildNumber;
+
   /**
    * Default constructor.
    * @param application Upgrader application
@@ -59,6 +63,25 @@
   /**
    * {@inheritDoc}
    */
+  public void beginDisplay(UserData data) {
+    super.beginDisplay(data);
+    tcServerLocation.setText(data.getServerLocation());
+  }
+
+  /**
+   * {@inheritDoc}
+   */
+  public Object getFieldValue(FieldName fieldName) {
+    Object v = null;
+    if (FieldName.SERVER_LOCATION.equals(fieldName)) {
+      v = tcServerLocation.getText();
+    }
+    return v;
+  }
+
+  /**
+   * {@inheritDoc}
+   */
   protected String getTitle() {
     return getMsg("upgrade-welcome-panel-title");
   }
@@ -91,43 +114,65 @@
   protected Component createInputPanel() {
     Component c;
 
-    JPanel pnlBuildInfo = new JPanel();
+    LabelFieldDescriptor serverLocationDescriptor =
+            new LabelFieldDescriptor(getMsg("upgrade-location-label"),
+                    getMsg("upgrade-location-tooltip"),
+                    LabelFieldDescriptor.FieldType.TEXTFIELD,
+                    LabelFieldDescriptor.LabelType.PRIMARY,
+                    UIFactory.PATH_FIELD_SIZE);
+
+    LabelFieldDescriptor serverLocationDescriptorRO =
+            new LabelFieldDescriptor(getMsg("upgrade-location-label"),
+                    getMsg("upgrade-location-tooltip"),
+                    LabelFieldDescriptor.FieldType.READ_ONLY,
+                    LabelFieldDescriptor.LabelType.PRIMARY,
+                    UIFactory.PATH_FIELD_SIZE);
+
+    LabelFieldDescriptor serverBuildDescriptorRO =
+            new LabelFieldDescriptor(getMsg("upgrade-build-id-label"),
+                    getMsg("upgrade-build-id-tooltip"),
+                    LabelFieldDescriptor.FieldType.READ_ONLY,
+                    LabelFieldDescriptor.LabelType.PRIMARY,
+                    UIFactory.PATH_FIELD_SIZE);
+
+    JPanel pnlBuildInfo = UIFactory.makeJPanel();
     pnlBuildInfo.setLayout(new GridBagLayout());
     GridBagConstraints gbc = new GridBagConstraints();
 
+    UserData userData = getApplication().getUserData();
+
     // The WebStart version of this tool allows the user to
     // select a build to upgrade.  Running the tool from the
     // command line implies a build.
-    if (!Utils.isWebStart()) {
+    if (Utils.isWebStart()) {
 
-      LabelFieldDescriptor serverLocationDescriptor =
-              new LabelFieldDescriptor(getMsg("upgrade-location-label"),
-                      getMsg("upgrade-location-tooltip"),
-                      LabelFieldDescriptor.FieldType.TEXTFIELD,
-                      LabelFieldDescriptor.LabelType.PRIMARY,
-                      UIFactory.PATH_FIELD_SIZE);
-
-      JTextComponent tfBuild =
-              UIFactory.makeJTextComponent(serverLocationDescriptor, null);
+      tcServerLocation =
+              UIFactory.makeJTextComponent(serverLocationDescriptor,
+                      userData.getServerLocation());
 
       JButton butBrowse =
               UIFactory.makeJButton(getMsg("browse-button-label"),
                       getMsg("browse-button-tooltip"));
 
       BrowseActionListener l =
-              new BrowseActionListener(tfBuild,
+              new BrowseActionListener(tcServerLocation,
                       BrowseActionListener.BrowseType.LOCATION_DIRECTORY,
                       getMainWindow());
       butBrowse.addActionListener(l);
 
       JPanel pnlBrowser = Utilities.createBrowseButtonPanel(
               UIFactory.makeJLabel(serverLocationDescriptor),
-              tfBuild,
+              tcServerLocation,
               butBrowse);
-      // pnlBrowser.setBorder(BorderFactory.createLineBorder(Color.GREEN));
+      pnlBrowser.setOpaque(false);
+
+      //pnlBrowser.setBorder(BorderFactory.createLineBorder(Color.GREEN));
       gbc.insets.top = 15; // non-standard but looks better
       gbc.insets.left = UIFactory.LEFT_INSET_PRIMARY_FIELD;
       gbc.anchor = GridBagConstraints.FIRST_LINE_START;
+      gbc.gridwidth = GridBagConstraints.REMAINDER;
+      gbc.weightx = 1.0;
+      gbc.fill = GridBagConstraints.BOTH;
       pnlBuildInfo.add(pnlBrowser, gbc);
 
       gbc.gridy = 1;
@@ -135,25 +180,26 @@
       gbc.weightx = 1.0;
       gbc.fill = GridBagConstraints.BOTH;
       gbc.anchor = GridBagConstraints.LINE_START;
-      JPanel fill = new JPanel();
+      JPanel fill = UIFactory.makeJPanel();
       // fill.setBorder(BorderFactory.createLineBorder(Color.BLUE));
       pnlBuildInfo.add(fill, gbc);
 
     } else {
 
-      LabelFieldDescriptor serverLocationDescriptorRO =
-              new LabelFieldDescriptor(getMsg("upgrade-location-label"),
-                      getMsg("upgrade-location-tooltip"),
-                      LabelFieldDescriptor.FieldType.READ_ONLY,
-                      LabelFieldDescriptor.LabelType.PRIMARY,
-                      UIFactory.PATH_FIELD_SIZE);
+      tcServerLocation = UIFactory.makeJTextComponent(
+                       serverLocationDescriptorRO, null);
 
-      LabelFieldDescriptor serverBuildDescriptorRO =
-              new LabelFieldDescriptor(getMsg("upgrade-build-id-label"),
-                      getMsg("upgrade-build-id-tooltip"),
-                      LabelFieldDescriptor.FieldType.READ_ONLY,
-                      LabelFieldDescriptor.LabelType.PRIMARY,
-                      UIFactory.PATH_FIELD_SIZE);
+      String buildId = null;
+      Installation installation = getApplication().getInstallation();
+      try {
+        buildId = installation.getBuildId();
+      } catch (Exception e) {
+        buildId = getMsg("upgrade-build-id-unknown");
+      }
+
+      tcCurrentServerBuildNumber = UIFactory.makeJTextComponent(
+                        serverBuildDescriptorRO,
+                        buildId);
 
       gbc.gridx = 0;
       gbc.gridy = 0;
@@ -162,17 +208,14 @@
       gbc.insets.left = UIFactory.LEFT_INSET_PRIMARY_FIELD;
       pnlBuildInfo.add(UIFactory.makeJLabel(serverLocationDescriptorRO), gbc);
 
+
       gbc.gridx = 1;
       gbc.gridy = 0;
       gbc.weightx = 1.0;
       gbc.insets.left = UIFactory.LEFT_INSET_PRIMARY_FIELD;
       gbc.fill = GridBagConstraints.HORIZONTAL;
       gbc.anchor = GridBagConstraints.PAGE_START;
-      String installLocation = Utils.getPath(
-              getApplication().getInstallation().getRootDirectory());
-      pnlBuildInfo.add(
-              UIFactory.makeJTextComponent(
-                      serverLocationDescriptorRO, installLocation), gbc);
+      pnlBuildInfo.add(tcServerLocation, gbc);
 
       gbc.gridx = 0;
       gbc.gridy = 1;
@@ -185,16 +228,14 @@
       gbc.gridy = 1;
       gbc.insets.left = UIFactory.LEFT_INSET_PRIMARY_FIELD;
       gbc.fill = GridBagConstraints.HORIZONTAL;
-      pnlBuildInfo.add(UIFactory.makeJTextComponent(
-              serverBuildDescriptorRO,
-              org.opends.server.util.DynamicConstants.BUILD_ID), gbc);
+      pnlBuildInfo.add(tcCurrentServerBuildNumber, gbc);
 
       gbc.gridy = 2;
       gbc.weighty = 1.0;
       gbc.weightx = 1.0;
       gbc.fill = GridBagConstraints.BOTH;
       gbc.anchor = GridBagConstraints.LINE_START;
-      JPanel fill = new JPanel();
+      JPanel fill = UIFactory.makeJPanel();
       //fill.setBorder(BorderFactory.createLineBorder(Color.BLUE));
       pnlBuildInfo.add(fill, gbc);
     }

--
Gitblit v1.10.0