From 32c6de9ab11bbfbea1c05401abf73454961418c9 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Fri, 30 Oct 2009 22:51:47 +0000
Subject: [PATCH] Fix for issue 4326 (Allow setup of a Server without Data suffix)
---
opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java | 88 +++++++++++++++++++++++++++----------------
1 files changed, 55 insertions(+), 33 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java b/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java
index 86a5a19..08fe1c8 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java
@@ -59,8 +59,6 @@
import org.opends.quicksetup.event.ProgressUpdateListener;
import org.opends.quicksetup.installer.NewSuffixOptions;
import org.opends.quicksetup.installer.offline.OfflineInstaller;
-import org.opends.quicksetup.installer.ui.InstallReviewPanel;
-import org.opends.quicksetup.ui.QuickSetupStepPanel;
import org.opends.quicksetup.util.IncompatibleVersionException;
import org.opends.quicksetup.util.PlainTextProgressMessageFormatter;
import org.opends.quicksetup.util.Utils;
@@ -771,10 +769,6 @@
// Check the validity of the base DNs
LinkedList<String> baseDNs = argParser.baseDNArg.getValues();
- if (baseDNs.isEmpty())
- {
- baseDNs.add(argParser.baseDNArg.getDefaultValue());
- }
for (String baseDN : baseDNs)
{
try
@@ -1338,10 +1332,39 @@
private void promptIfRequiredForImportData(UserData uData)
throws UserDataException
{
- // Check the validity of the base DNs
- LinkedList<String> baseDNs = promptIfRequiredForDNs(
- argParser.baseDNArg, INFO_INSTALLDS_PROMPT_BASEDN.get(), true);
+ boolean prompt = true;
+ if (!argParser.baseDNArg.isPresent())
+ {
+ try
+ {
+ prompt = confirmAction(INFO_INSTALLDS_PROVIDE_BASE_DN_PROMPT.get(),
+ true);
+ }
+ catch (CLIException ce)
+ {
+ prompt = true;
+ LOG.log(Level.WARNING, "Error reading input: "+ce, ce);
+ }
+ }
+ NewSuffixOptions dataOptions;
+ if (!prompt)
+ {
+ LinkedList<String> baseDNs = new LinkedList<String>();
+ dataOptions = NewSuffixOptions.createEmpty(baseDNs);
+ }
+ else
+ {
+ // Check the validity of the base DNs
+ LinkedList<String>baseDNs = promptIfRequiredForDNs(
+ argParser.baseDNArg, INFO_INSTALLDS_PROMPT_BASEDN.get(), true);
+ dataOptions = promptIfRequiredForDataOptions(baseDNs);
+ }
+ uData.setNewSuffixOptions(dataOptions);
+ }
+ private NewSuffixOptions promptIfRequiredForDataOptions(
+ LinkedList<String> baseDNs)
+ {
NewSuffixOptions dataOptions;
if (argParser.importLDIFArg.isPresent())
{
@@ -1466,7 +1489,7 @@
INFO_INSTALLDS_POPULATE_OPTION_LEAVE_EMPTY.get(),
INFO_INSTALLDS_POPULATE_OPTION_IMPORT_LDIF.get(),
INFO_INSTALLDS_POPULATE_OPTION_GENERATE_SAMPLE.get()
- };
+ };
MenuBuilder<Integer> builder = new MenuBuilder<Integer>(this);
builder.setPrompt(INFO_INSTALLDS_HEADER_POPULATE_TYPE.get());
@@ -1479,32 +1502,32 @@
if (lastResetPopulateOption == null)
{
builder.setDefault(Message.raw(
- String.valueOf(POPULATE_TYPE_BASE_ONLY)),
- MenuResult.success(POPULATE_TYPE_BASE_ONLY));
+ String.valueOf(POPULATE_TYPE_BASE_ONLY)),
+ MenuResult.success(POPULATE_TYPE_BASE_ONLY));
}
else
{
switch (lastResetPopulateOption)
{
- case LEAVE_DATABASE_EMPTY:
- builder.setDefault(Message.raw(
+ case LEAVE_DATABASE_EMPTY:
+ builder.setDefault(Message.raw(
String.valueOf(POPULATE_TYPE_LEAVE_EMPTY)),
MenuResult.success(POPULATE_TYPE_LEAVE_EMPTY));
- break;
- case IMPORT_FROM_LDIF_FILE:
- builder.setDefault(Message.raw(
- String.valueOf(POPULATE_TYPE_IMPORT_FROM_LDIF)),
- MenuResult.success(POPULATE_TYPE_IMPORT_FROM_LDIF));
- break;
- case IMPORT_AUTOMATICALLY_GENERATED_DATA:
- builder.setDefault(Message.raw(
- String.valueOf(POPULATE_TYPE_GENERATE_SAMPLE_DATA)),
- MenuResult.success(POPULATE_TYPE_GENERATE_SAMPLE_DATA));
- break;
- default:
- builder.setDefault(Message.raw(
- String.valueOf(POPULATE_TYPE_BASE_ONLY)),
- MenuResult.success(POPULATE_TYPE_BASE_ONLY));
+ break;
+ case IMPORT_FROM_LDIF_FILE:
+ builder.setDefault(Message.raw(
+ String.valueOf(POPULATE_TYPE_IMPORT_FROM_LDIF)),
+ MenuResult.success(POPULATE_TYPE_IMPORT_FROM_LDIF));
+ break;
+ case IMPORT_AUTOMATICALLY_GENERATED_DATA:
+ builder.setDefault(Message.raw(
+ String.valueOf(POPULATE_TYPE_GENERATE_SAMPLE_DATA)),
+ MenuResult.success(POPULATE_TYPE_GENERATE_SAMPLE_DATA));
+ break;
+ default:
+ builder.setDefault(Message.raw(
+ String.valueOf(POPULATE_TYPE_BASE_ONLY)),
+ MenuResult.success(POPULATE_TYPE_BASE_ONLY));
}
}
@@ -1629,7 +1652,7 @@
populateType);
}
}
- uData.setNewSuffixOptions(dataOptions);
+ return dataOptions;
}
/**
@@ -2509,10 +2532,9 @@
Message.raw(String.valueOf(uData.getAdminConnectorPort())),
Message.raw(jmxPort != -1 ? String.valueOf(jmxPort) : null),
Message.raw(
- QuickSetupStepPanel.getSecurityOptionsString(
- uData.getSecurityOptions(), false)),
+ Utils.getSecurityOptionsString(uData.getSecurityOptions(), false)),
Message.raw(uData.getDirectoryManagerDn()),
- Message.raw(InstallReviewPanel.getDataDisplayString(uData)),
+ Message.raw(Utils.getDataDisplayString(uData)),
};
int maxWidth = 0;
for (Message l : labels)
--
Gitblit v1.10.0