From ad538a4677b2acebc4b0968907c801172faa2d47 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)
---
opends/src/quicksetup/org/opends/quicksetup/util/Utils.java | 190 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 187 insertions(+), 3 deletions(-)
diff --git a/opends/src/quicksetup/org/opends/quicksetup/util/Utils.java b/opends/src/quicksetup/org/opends/quicksetup/util/Utils.java
index e1e2856..81feb79 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/util/Utils.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/util/Utils.java
@@ -61,9 +61,14 @@
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.TrustManager;
+import org.opends.admin.ads.SuffixDescriptor;
import org.opends.admin.ads.TopologyCacheException;
import org.opends.admin.ads.util.ConnectionUtils;
import org.opends.quicksetup.*;
+import org.opends.quicksetup.installer.DataReplicationOptions;
+import org.opends.quicksetup.installer.NewSuffixOptions;
+import org.opends.quicksetup.installer.SuffixesToReplicateOptions;
+import org.opends.quicksetup.ui.UIFactory;
import org.opends.server.util.SetupUtils;
import org.opends.messages.MessageBuilder;
@@ -1746,9 +1751,9 @@
try
{
LdapName jndiName = new LdapName("cn=monitor");
- NamingEnumeration listeners = ctx.search(jndiName, filter, ctls);
+ NamingEnumeration<?> listeners = ctx.search(jndiName, filter, ctls);
- while(listeners.hasMore())
+ while (listeners.hasMore())
{
SearchResult sr = (SearchResult)listeners.next();
@@ -1919,7 +1924,7 @@
{
try
{
- Class c = Class.forName(Utils.CUSTOMIZATION_CLASS_NAME);
+ Class<?> c = Class.forName(Utils.CUSTOMIZATION_CLASS_NAME);
Object obj = c.newInstance();
value = valueClass.cast(c.getField(fieldName).get(obj));
@@ -1969,6 +1974,185 @@
}
return sb.toString();
}
+
+
+
+ /**
+ * Returns the localized string describing the DataOptions chosen by the user.
+ * @param userInstallData the DataOptions of the user.
+ * @return the localized string describing the DataOptions chosen by the user.
+ */
+ public static String getDataDisplayString(UserData userInstallData)
+ {
+ Message msg;
+
+ boolean createSuffix = false;
+
+ DataReplicationOptions repl =
+ userInstallData.getReplicationOptions();
+
+ SuffixesToReplicateOptions suf =
+ userInstallData.getSuffixesToReplicateOptions();
+
+ createSuffix =
+ repl.getType() == DataReplicationOptions.Type.FIRST_IN_TOPOLOGY ||
+ repl.getType() == DataReplicationOptions.Type.STANDALONE ||
+ suf.getType() == SuffixesToReplicateOptions.Type.NEW_SUFFIX_IN_TOPOLOGY;
+
+ if (createSuffix)
+ {
+ Message arg2;
+
+ NewSuffixOptions options = userInstallData.getNewSuffixOptions();
+
+ switch (options.getType())
+ {
+ case CREATE_BASE_ENTRY:
+ arg2 = INFO_REVIEW_CREATE_BASE_ENTRY_LABEL.get(
+ options.getBaseDns().getFirst());
+
+ break;
+
+ case LEAVE_DATABASE_EMPTY:
+ arg2 = INFO_REVIEW_LEAVE_DATABASE_EMPTY_LABEL.get();
+ break;
+
+ case IMPORT_FROM_LDIF_FILE:
+ arg2 = INFO_REVIEW_IMPORT_LDIF.get(options.getLDIFPaths().getFirst());
+ break;
+
+ case IMPORT_AUTOMATICALLY_GENERATED_DATA:
+ arg2 = INFO_REVIEW_IMPORT_AUTOMATICALLY_GENERATED.get(
+ String.valueOf(options.getNumberEntries()));
+ break;
+
+ default:
+ throw new IllegalArgumentException("Unknown type: "+options.getType());
+ }
+
+ if (options.getBaseDns().isEmpty())
+ {
+ msg = INFO_REVIEW_CREATE_NO_SUFFIX.get();
+ }
+ else if (options.getBaseDns().size() > 1)
+ {
+ msg = INFO_REVIEW_CREATE_SUFFIX.get(
+ Utils.listToString(options.getBaseDns(), Constants.LINE_SEPARATOR),
+ arg2);
+ }
+ else
+ {
+ msg = INFO_REVIEW_CREATE_SUFFIX.get(options.getBaseDns().getFirst(),
+ arg2);
+ }
+ }
+ else
+ {
+ StringBuilder buf = new StringBuilder();
+ Set<SuffixDescriptor> suffixes = suf.getSuffixes();
+ for (SuffixDescriptor suffix : suffixes)
+ {
+ if (buf.length() > 0)
+ {
+ buf.append("\n");
+ }
+ buf.append(suffix.getDN());
+ }
+ msg = INFO_REVIEW_REPLICATE_SUFFIX.get(buf.toString());
+ }
+ return msg.toString();
+ }
+
+
+
+ /**
+ * Returns a localized String representation of the provided SecurityOptions
+ * object.
+ * @param ops the SecurityOptions object from which we want to obtain the
+ * String representation.
+ * @param html whether the resulting String must be in HTML or not.
+ * @return a localized String representation of the provided SecurityOptions
+ * object.
+ */
+ public static String getSecurityOptionsString(SecurityOptions ops,
+ boolean html)
+ {
+ StringBuilder buf = new StringBuilder();
+
+ if (ops.getCertificateType() ==
+ SecurityOptions.CertificateType.NO_CERTIFICATE)
+ {
+ buf.append(INFO_NO_SECURITY.get());
+ }
+ else
+ {
+ if (ops.getEnableStartTLS())
+ {
+ buf.append(INFO_ENABLE_STARTTLS.get());
+ }
+ if (ops.getEnableSSL())
+ {
+ if (buf.length() > 0)
+ {
+ if (html)
+ {
+ buf.append(Constants.HTML_LINE_BREAK);
+ }
+ else
+ {
+ buf.append("\n");
+ }
+ }
+ buf.append(INFO_ENABLE_SSL.get(String.valueOf(ops.getSslPort())));
+ }
+ if (html)
+ {
+ buf.append(Constants.HTML_LINE_BREAK);
+ }
+ else
+ {
+ buf.append("\n");
+ }
+ Message certMsg;
+ switch (ops.getCertificateType())
+ {
+ case SELF_SIGNED_CERTIFICATE:
+ certMsg = INFO_SELF_SIGNED_CERTIFICATE.get();
+ break;
+
+ case JKS:
+ certMsg = INFO_JKS_CERTIFICATE.get();
+ break;
+
+ case JCEKS:
+ certMsg = INFO_JCEKS_CERTIFICATE.get();
+ break;
+
+ case PKCS11:
+ certMsg = INFO_PKCS11_CERTIFICATE.get();
+ break;
+
+ case PKCS12:
+ certMsg = INFO_PKCS12_CERTIFICATE.get();
+ break;
+
+ default:
+ throw new IllegalStateException("Unknown certificate options type: "+
+ ops.getCertificateType());
+ }
+ buf.append(certMsg);
+ }
+
+ if (html)
+ {
+ return "<html>"+UIFactory.applyFontToHtml(buf.toString(),
+ UIFactory.SECONDARY_FIELD_VALID_FONT);
+ }
+ else
+ {
+ return buf.toString();
+ }
+ }
}
/**
--
Gitblit v1.10.0