From 56f7fa2950663b0e26943b3f4460b33118fcd4f7 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Thu, 18 Oct 2007 23:02:53 +0000
Subject: [PATCH] Fix for issue 2452: Missing "rejected file" when importing data from LDIF
---
opends/src/server/org/opends/server/tools/InstallDS.java | 116 ++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 88 insertions(+), 28 deletions(-)
diff --git a/opends/src/server/org/opends/server/tools/InstallDS.java b/opends/src/server/org/opends/server/tools/InstallDS.java
index 77c31ac..121a1ad 100644
--- a/opends/src/server/org/opends/server/tools/InstallDS.java
+++ b/opends/src/server/org/opends/server/tools/InstallDS.java
@@ -617,25 +617,40 @@
errorMessages.add(ERR_INSTALLDS_NO_SUCH_LDIF_FILE.get(
Utils.getStringFromCollection(nonExistingFiles, ", ")));
}
- dataOptions = new NewSuffixOptions(
- NewSuffixOptions.Type.IMPORT_FROM_LDIF_FILE, baseDNs,
- argParser.importLDIFArg.getValues());
+ String rejectedFile = argParser.rejectedImportFileArg.getValue();
+ if (rejectedFile != null)
+ {
+ if (!Utils.canWrite(rejectedFile))
+ {
+ errorMessages.add(
+ ERR_INSTALLDS_CANNOT_WRITE_REJECTED.get(rejectedFile));
+ }
+ }
+ String skippedFile = argParser.skippedImportFileArg.getValue();
+ if (skippedFile != null)
+ {
+ if (!Utils.canWrite(skippedFile))
+ {
+ errorMessages.add(ERR_INSTALLDS_CANNOT_WRITE_SKIPPED.get(
+ skippedFile));
+ }
+ }
+ dataOptions = NewSuffixOptions.createImportFromLDIF(baseDNs,
+ argParser.importLDIFArg.getValues(),
+ rejectedFile, skippedFile);
}
else if (argParser.addBaseEntryArg.isPresent())
{
- dataOptions = new NewSuffixOptions(
- NewSuffixOptions.Type.CREATE_BASE_ENTRY, baseDNs);
+ dataOptions = NewSuffixOptions.createBaseEntry(baseDNs);
}
else if (argParser.sampleDataArg.isPresent())
{
- dataOptions = new NewSuffixOptions(
- NewSuffixOptions.Type.IMPORT_AUTOMATICALLY_GENERATED_DATA, baseDNs,
+ dataOptions = NewSuffixOptions.createAutomaticallyGenerated(baseDNs,
new Integer(argParser.sampleDataArg.getValue()));
}
else
{
- dataOptions = new NewSuffixOptions(
- NewSuffixOptions.Type.LEAVE_DATABASE_EMPTY, baseDNs);
+ dataOptions = NewSuffixOptions.createEmpty(baseDNs);
}
uData.setNewSuffixOptions(dataOptions);
@@ -1021,15 +1036,39 @@
importLDIFFiles.add(path);
}
}
- dataOptions = new NewSuffixOptions(
- NewSuffixOptions.Type.IMPORT_FROM_LDIF_FILE,
- baseDNs, importLDIFFiles);
+ String rejectedFile = argParser.rejectedImportFileArg.getValue();
+ if (rejectedFile != null)
+ {
+ while (!Utils.canWrite(rejectedFile))
+ {
+ printLineBreak();
+ printErrorMessage(ERR_INSTALLDS_CANNOT_WRITE_REJECTED.get(
+ rejectedFile));
+ printLineBreak();
+ rejectedFile =
+ promptForString(INFO_INSTALLDS_PROMPT_REJECTED_FILE.get(), null);
+ }
+ }
+ String skippedFile = argParser.skippedImportFileArg.getValue();
+ if (skippedFile != null)
+ {
+ while (!Utils.canWrite(skippedFile))
+ {
+ printLineBreak();
+ printErrorMessage(
+ ERR_INSTALLDS_CANNOT_WRITE_SKIPPED.get(skippedFile));
+ printLineBreak();
+ skippedFile =
+ promptForString(INFO_INSTALLDS_PROMPT_SKIPPED_FILE.get(), null);
+ }
+ }
+
+ dataOptions = NewSuffixOptions.createImportFromLDIF(baseDNs,
+ importLDIFFiles, rejectedFile, skippedFile);
}
else if (argParser.addBaseEntryArg.isPresent())
{
- dataOptions = new NewSuffixOptions(
- NewSuffixOptions.Type.CREATE_BASE_ENTRY,
- baseDNs);
+ dataOptions = NewSuffixOptions.createBaseEntry(baseDNs);
}
else if (argParser.sampleDataArg.isPresent())
{
@@ -1045,9 +1084,8 @@
Message message = INFO_INSTALLDS_PROMPT_NUM_ENTRIES.get();
numUsers = promptForInteger(message, 2000, 0, Integer.MAX_VALUE);
}
- dataOptions = new NewSuffixOptions(
- NewSuffixOptions.Type.IMPORT_AUTOMATICALLY_GENERATED_DATA,
- baseDNs, numUsers);
+ dataOptions = NewSuffixOptions.createAutomaticallyGenerated(baseDNs,
+ numUsers);
}
else
{
@@ -1093,28 +1131,50 @@
printErrorMessage(message);
}
}
- dataOptions = new NewSuffixOptions(
- NewSuffixOptions.Type.IMPORT_FROM_LDIF_FILE,
- baseDNs, importLDIFFiles);
+ String rejectedFile = argParser.rejectedImportFileArg.getValue();
+ if (rejectedFile != null)
+ {
+ while (!Utils.canWrite(rejectedFile))
+ {
+ printLineBreak();
+ printErrorMessage(
+ ERR_INSTALLDS_CANNOT_WRITE_REJECTED.get(rejectedFile));
+ printLineBreak();
+ rejectedFile =
+ promptForString(INFO_INSTALLDS_PROMPT_REJECTED_FILE.get(), null);
+ }
+ }
+ String skippedFile = argParser.skippedImportFileArg.getValue();
+ if (skippedFile != null)
+ {
+ while (!Utils.canWrite(skippedFile))
+ {
+ printLineBreak();
+ printErrorMessage(
+ ERR_INSTALLDS_CANNOT_WRITE_SKIPPED.get(skippedFile));
+ printLineBreak();
+ skippedFile =
+ promptForString(INFO_INSTALLDS_PROMPT_SKIPPED_FILE.get(), null);
+ }
+ }
+ dataOptions = NewSuffixOptions.createImportFromLDIF(baseDNs,
+ importLDIFFiles, rejectedFile, skippedFile);
}
else if (populateType == POPULATE_TYPE_GENERATE_SAMPLE_DATA)
{
Message message = INFO_INSTALLDS_PROMPT_NUM_ENTRIES.get();
int numUsers = promptForInteger(message, 2000, 0, Integer.MAX_VALUE);
- dataOptions = new NewSuffixOptions(
- NewSuffixOptions.Type.IMPORT_AUTOMATICALLY_GENERATED_DATA,
- baseDNs, numUsers);
+ dataOptions = NewSuffixOptions.createAutomaticallyGenerated(baseDNs,
+ numUsers);
}
else if (populateType == POPULATE_TYPE_LEAVE_EMPTY)
{
- dataOptions = new NewSuffixOptions(
- NewSuffixOptions.Type.LEAVE_DATABASE_EMPTY, baseDNs);
+ dataOptions = NewSuffixOptions.createEmpty(baseDNs);
}
else if (populateType == POPULATE_TYPE_BASE_ONLY)
{
- dataOptions = new NewSuffixOptions(
- NewSuffixOptions.Type.CREATE_BASE_ENTRY, baseDNs);
+ dataOptions = NewSuffixOptions.createBaseEntry(baseDNs);
}
else
{
--
Gitblit v1.10.0