From 3c28585f6ae5106b114679a1f9414b6d2fcba159 Mon Sep 17 00:00:00 2001
From: Yannick Lecaillez <yannick.lecaillez@forgerock.com>
Date: Fri, 22 May 2015 16:18:14 +0000
Subject: [PATCH] OPENDJ-2032: dbtest tool should return more accurate message when running against persistit backend.
---
opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/DBTest.java | 40 ++++++++++++++++++++++++++--------------
1 files changed, 26 insertions(+), 14 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/DBTest.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/DBTest.java
index f4ab9fb..cc74cac 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/DBTest.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/DBTest.java
@@ -558,7 +558,7 @@
private int listRootContainers()
{
- Map<LocalDBBackendCfg, BackendImpl> jeBackends = getJEBackends();
+ final Map<LocalDBBackendCfg, BackendImpl> jeBackends = getJEBackends(null);
int count = 0;
// Create a table of their properties.
@@ -588,7 +588,6 @@
BackendImpl backend = getBackendById(backendID);
if(backend == null)
{
- printMessage(ERR_DBTEST_NO_BACKENDS_FOR_ID.get(backendID.getValue()));
return 1;
}
@@ -665,7 +664,6 @@
BackendImpl backend = getBackendById(backendID);
if(backend == null)
{
- printMessage(ERR_DBTEST_NO_BACKENDS_FOR_ID.get(backendID.getValue()));
return 1;
}
@@ -815,15 +813,28 @@
private BackendImpl getBackendById(Argument backendId)
{
- Collection<BackendImpl> backends = getJEBackends().values();
- String backendID = backendId.getValue();
- for (BackendImpl b : backends)
+ final String backendID = backendId.getValue();
+ final List<Backend<?>> otherBackends = new ArrayList<>();
+ final Map<LocalDBBackendCfg, BackendImpl> jeBackends = getJEBackends(otherBackends);
+
+ for (BackendImpl b : jeBackends.values())
{
if (b.getBackendID().equalsIgnoreCase(backendID))
{
return b;
}
}
+
+ for (Backend<?> b : otherBackends)
+ {
+ if (b.getBackendID().equalsIgnoreCase(backendID))
+ {
+ printMessage(ERR_DBTEST_NOT_JE_BACKEND.get(backendID));
+ return null;
+ }
+ }
+
+ printMessage(ERR_DBTEST_NO_BACKENDS_FOR_ID.get(backendID));
return null;
}
@@ -832,7 +843,6 @@
BackendImpl backend = getBackendById(backendID);
if(backend == null)
{
- printMessage(ERR_DBTEST_NO_BACKENDS_FOR_ID.get(backendID.getValue()));
return 1;
}
@@ -1038,7 +1048,6 @@
BackendImpl backend = getBackendById(backendID);
if(backend == null)
{
- printMessage(ERR_DBTEST_NO_BACKENDS_FOR_ID.get(backendID.getValue()));
return 1;
}
@@ -1507,15 +1516,14 @@
}
}
- private Map<LocalDBBackendCfg, BackendImpl> getJEBackends()
+ private static Map<LocalDBBackendCfg, BackendImpl> getJEBackends(Collection<Backend<?>> otherBackends)
{
- ArrayList<Backend> backendList = new ArrayList<Backend>();
- ArrayList<BackendCfg> entryList = new ArrayList<BackendCfg>();
- ArrayList<List<DN>> dnList = new ArrayList<List<DN>>();
+ ArrayList<Backend> backendList = new ArrayList<>();
+ ArrayList<BackendCfg> entryList = new ArrayList<>();
+ ArrayList<List<DN>> dnList = new ArrayList<>();
BackendToolUtils.getBackends(backendList, entryList, dnList);
- LinkedHashMap<LocalDBBackendCfg, BackendImpl> jeBackends =
- new LinkedHashMap<LocalDBBackendCfg, BackendImpl>();
+ final Map<LocalDBBackendCfg, BackendImpl> jeBackends = new LinkedHashMap<>();
for(int i = 0; i < backendList.size(); i++)
{
Backend<?> backend = backendList.get(i);
@@ -1524,6 +1532,10 @@
jeBackends.put((LocalDBBackendCfg)entryList.get(i),
(BackendImpl)backend);
}
+ else if (otherBackends != null)
+ {
+ otherBackends.add(backend);
+ }
}
return jeBackends;
}
--
Gitblit v1.10.0