From c3c61f8a3b4ba1e737253efce1699d0daece0273 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 20 May 2015 11:53:36 +0000
Subject: [PATCH] OPENDJ-1936 - don't allow users to configure a JE backend if it is unsupported
---
opendj-server-legacy/src/main/java/org/opends/server/tools/BackendTypeHelper.java | 20 +++++++++++++-------
opendj-server-legacy/src/main/java/org/opends/server/tools/InstallDSArgumentParser.java | 5 ++---
2 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/BackendTypeHelper.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/BackendTypeHelper.java
index 9fcd48c..f4c215f 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/BackendTypeHelper.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/BackendTypeHelper.java
@@ -139,20 +139,26 @@
}
}
- private List<ManagedObjectDefinition<? extends BackendCfgClient, ? extends BackendCfg>> backends;
+ private final List<ManagedObjectDefinition<? extends BackendCfgClient, ? extends BackendCfg>> backends;
/** Creates a new backend type helper. */
+ @SuppressWarnings("unchecked")
public BackendTypeHelper()
{
Utilities.initializeConfigurationFramework();
- createAvailableBackendsList();
- }
- @SuppressWarnings("unchecked")
- private void createAvailableBackendsList()
- {
backends = new LinkedList<>();
- backends.add(LocalDBBackendCfgDefn.getInstance());
+
+ // Add the JE backend if it is supported in this release.
+ try
+ {
+ Class.forName("org.opends.server.backends.jeb.BackendImpl");
+ backends.add(LocalDBBackendCfgDefn.getInstance());
+ }
+ catch (ClassNotFoundException ignored)
+ {
+ // Ignore: JE backend not supported.
+ }
for (AbstractManagedObjectDefinition<?, ?> backendType : PluggableBackendCfgDefn.getInstance().getAllChildren())
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/InstallDSArgumentParser.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/InstallDSArgumentParser.java
index 9623526..4fc4a1e 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/InstallDSArgumentParser.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/InstallDSArgumentParser.java
@@ -39,7 +39,6 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.LocalizableMessageDescriptor.Arg1;
import org.forgerock.i18n.slf4j.LocalizedLogger;
-import org.forgerock.opendj.server.config.meta.LocalDBBackendCfgDefn;
import org.opends.quicksetup.Constants;
import org.opends.quicksetup.Installation;
import org.opends.quicksetup.UserData;
@@ -399,12 +398,12 @@
OPTION_LONG_BACKEND_TYPE.toLowerCase(),
OPTION_SHORT_BACKEND_TYPE, OPTION_LONG_BACKEND_TYPE,
false, false, true, INFO_INSTALLDS_BACKEND_TYPE_PLACEHOLDER.get(),
- BackendTypeHelper.filterSchemaBackendName(LocalDBBackendCfgDefn.getInstance().getName()),
+ BackendTypeHelper.filterSchemaBackendName(
+ new BackendTypeHelper().getBackendTypes().get(0).getName()),
OPTION_LONG_BACKEND_TYPE,
INFO_INSTALLDS_DESCRIPTION_BACKEND_TYPE.get()
);
addArgument(backendTypeArg);
-
}
/**
--
Gitblit v1.10.0