From c8447177b6c9d155ea48009583a20ecce7ffd8c6 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Mon, 18 Jan 2010 22:27:40 +0000
Subject: [PATCH] Fix for issue 3901 (Setup fails when inserting a server in a replication topology with large umount of data) - Add a 'Runtime Options' step in the wizard. By default this will contain just two labels and two buttons: Server Runtime Options: Use Default <button to change> Import Options: Use Default <button to change>
---
opends/src/quicksetup/org/opends/quicksetup/installer/ui/InstallReviewPanel.java | 131 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 128 insertions(+), 3 deletions(-)
diff --git a/opends/src/quicksetup/org/opends/quicksetup/installer/ui/InstallReviewPanel.java b/opends/src/quicksetup/org/opends/quicksetup/installer/ui/InstallReviewPanel.java
index a138bf0..4c73132 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/installer/ui/InstallReviewPanel.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/installer/ui/InstallReviewPanel.java
@@ -33,12 +33,14 @@
import org.opends.admin.ads.ServerDescriptor;
import org.opends.quicksetup.Installation;
+import org.opends.quicksetup.JavaArguments;
import org.opends.quicksetup.UserData;
import org.opends.quicksetup.installer.AuthenticationData;
import org.opends.quicksetup.installer.DataReplicationOptions;
import org.opends.quicksetup.installer.SuffixesToReplicateOptions;
import org.opends.quicksetup.ui.*;
import org.opends.quicksetup.util.HtmlProgressMessageFormatter;
+import org.opends.quicksetup.util.ProgressMessageFormatter;
import org.opends.quicksetup.util.Utils;
import javax.swing.*;
@@ -141,6 +143,9 @@
getField(FieldName.REPLICATION_PORT).setVisible(true);
getLabel(FieldName.REPLICATION_PORT).setVisible(true);
}
+
+ setFieldValue(FieldName.SERVER_JAVA_ARGUMENTS, getRuntimeString(userData));
+
checkStartWarningLabel();
updateEquivalentCommand(userData);
@@ -329,6 +334,11 @@
LabelFieldDescriptor.FieldType.READ_ONLY,
LabelFieldDescriptor.LabelType.PRIMARY, 0));
+ hm.put(FieldName.SERVER_JAVA_ARGUMENTS, new LabelFieldDescriptor(
+ INFO_RUNTIME_OPTIONS_LABEL.get(), null,
+ LabelFieldDescriptor.FieldType.READ_ONLY,
+ LabelFieldDescriptor.LabelType.PRIMARY, 0));
+
for (FieldName fieldName : hm.keySet())
{
LabelFieldDescriptor desc = hm.get(fieldName);
@@ -378,7 +388,7 @@
/**
* Returns the String representing the replication port configuration.
- * @param userInstallData the DataOptions of the user.
+ * @param userInstallData the install data provided of the user.
* @return the localized string describing the Replication Ports chosen by
* the user.
*/
@@ -460,6 +470,53 @@
}
return buf.toString();
}
+
+ /**
+ * Returns the String representing the runtime configuration.
+ * @param userData the DataOptions of the user.
+ * @return the localized string describing the runtime options chosen by the
+ * user.
+ */
+ private String getRuntimeString(UserData userData)
+ {
+ String s;
+ JavaArguments serverArguments =
+ userData.getJavaArguments(UserData.SERVER_SCRIPT_NAME);
+ JavaArguments importArguments =
+ userData.getJavaArguments(UserData.IMPORT_SCRIPT_NAME);
+
+
+ boolean defaultServer =
+ userData.getDefaultJavaArguments(UserData.SERVER_SCRIPT_NAME).equals(
+ serverArguments);
+ boolean defaultImport =
+ userData.getDefaultJavaArguments(UserData.IMPORT_SCRIPT_NAME).equals(
+ importArguments);
+
+ if (defaultServer && defaultImport)
+ {
+ s = INFO_DEFAULT_JAVA_ARGUMENTS.get().toString();
+ }
+ else if (defaultServer)
+ {
+ s = INFO_USE_CUSTOM_IMPORT_RUNTIME.get(
+ importArguments.getStringArguments()).toString();
+ }
+ else if (defaultImport)
+ {
+ s = INFO_USE_CUSTOM_SERVER_RUNTIME.get(
+ serverArguments.getStringArguments()).toString();
+ }
+ else
+ {
+ s = INFO_USE_CUSTOM_SERVER_RUNTIME.get(
+ serverArguments.getStringArguments())+"\n"+
+ INFO_USE_CUSTOM_IMPORT_RUNTIME.get(
+ importArguments.getStringArguments());
+ }
+ return s;
+ }
+
/**
* Returns and creates the fields panel.
* @return the fields panel.
@@ -521,7 +578,8 @@
FieldName.SERVER_PORT, FieldName.ADMIN_CONNECTOR_PORT,
FieldName.SECURITY_OPTIONS,
FieldName.DIRECTORY_MANAGER_DN, FieldName.GLOBAL_ADMINISTRATOR_UID,
- FieldName.DATA_OPTIONS, FieldName.REPLICATION_PORT
+ FieldName.DATA_OPTIONS, FieldName.REPLICATION_PORT,
+ FieldName.SERVER_JAVA_ARGUMENTS
};
}
else
@@ -533,7 +591,7 @@
FieldName.ADMIN_CONNECTOR_PORT,
FieldName.SECURITY_OPTIONS, FieldName.DIRECTORY_MANAGER_DN,
FieldName.GLOBAL_ADMINISTRATOR_UID, FieldName.DATA_OPTIONS,
- FieldName.REPLICATION_PORT
+ FieldName.REPLICATION_PORT, FieldName.SERVER_JAVA_ARGUMENTS
};
}
@@ -696,6 +754,14 @@
HtmlProgressMessageFormatter formatter =
new HtmlProgressMessageFormatter();
StringBuilder sb = new StringBuilder();
+
+ String s = getEquivalentJavaPropertiesProcedure(userData, formatter);
+ if (s != null && s.length() > 0)
+ {
+ sb.append(s);
+ sb.append(formatter.getTaskSeparator());
+ }
+
sb.append(formatter.getFormattedProgress(
INFO_INSTALL_SETUP_EQUIVALENT_COMMAND_LINE.get()));
sb.append(formatter.getLineBreak());
@@ -780,4 +846,63 @@
}
equivalentCommandPane.setText(sb.toString());
}
+
+ private String getEquivalentJavaPropertiesProcedure(
+ UserData userData,
+ ProgressMessageFormatter formatter)
+ {
+ StringBuilder sb = new StringBuilder();
+ JavaArguments serverArguments =
+ userData.getJavaArguments(UserData.SERVER_SCRIPT_NAME);
+ JavaArguments importArguments =
+ userData.getJavaArguments(UserData.IMPORT_SCRIPT_NAME);
+
+ ArrayList<String> linesToAdd = new ArrayList<String>();
+
+ boolean defaultServer =
+ userData.getDefaultJavaArguments(UserData.SERVER_SCRIPT_NAME).equals(
+ serverArguments);
+ boolean defaultImport =
+ userData.getDefaultJavaArguments(UserData.IMPORT_SCRIPT_NAME).equals(
+ importArguments);
+
+ if (!defaultServer)
+ {
+ linesToAdd.add(UserData.SERVER_SCRIPT_NAME+": "+
+ serverArguments.getStringArguments());
+ }
+ if (!defaultImport)
+ {
+ linesToAdd.add(UserData.IMPORT_SCRIPT_NAME+": "+
+ importArguments.getStringArguments());
+ }
+
+ if (linesToAdd.size() == 1)
+ {
+ String arg0 = getJavaPropertiesFilePath(userData);
+ String arg1 = linesToAdd.get(0);
+ sb.append(formatter.getFormattedProgress(
+ INFO_EDIT_JAVA_PROPERTIES_LINE.get(arg0, arg1)));
+ }
+ else if (linesToAdd.size() > 1)
+ {
+ String arg0 = getJavaPropertiesFilePath(userData);
+ String arg1 = Utils.getStringFromCollection(linesToAdd, "\n");
+ sb.append(
+ formatter.getFormattedProgress(INFO_EDIT_JAVA_PROPERTIES_LINES.get(
+ arg0, arg1)));
+ }
+
+ return sb.toString();
+ }
+
+ private String getJavaPropertiesFilePath(UserData userData)
+ {
+ String configDir = Utils.getPath(Utils
+ .getInstancePathFromInstallPath(userData.getServerLocation()),
+ Installation.CONFIG_PATH_RELATIVE);
+ String propertiesFile = Utils.getPath(
+ configDir, Installation.DEFAULT_JAVA_PROPERTIES_FILE);
+ return propertiesFile;
+ }
}
--
Gitblit v1.10.0