From bc09e934b9ef38957f563f7b34da85e8b2872860 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 04 Nov 2014 15:39:08 +0000
Subject: [PATCH] LocalBackend*Operation.java: Replaced use of BooleanHolder with AtomicBoolean (there is no penalty since there is no concurrency involved).
---
opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java | 9 ++--
/dev/null | 56 ----------------------------
opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java | 9 ++--
opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendDeleteOperation.java | 9 ++--
opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendCompareOperation.java | 9 ++--
opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyDNOperation.java | 9 ++--
opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java | 9 ++--
7 files changed, 30 insertions(+), 80 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/BooleanHolder.java b/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/BooleanHolder.java
deleted file mode 100644
index eaf9cda..0000000
--- a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/BooleanHolder.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
- * or http://forgerock.org/license/CDDLv1.0.html.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at legal-notices/CDDLv1_0.txt.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information:
- * Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- *
- *
- * Copyright 2013 ForgeRock AS
- */
-package org.opends.server.workflowelement.localbackend;
-
-/**
- * This class holds a boolean value. Allow to use in/out boolean parameters,
- * which contain data to pass into the method like a regular parameter, but can
- * also be used to return data from the method.
- */
-class BooleanHolder
-{
-
- /** The boolean value held in this class. */
- boolean value;
-
- /**
- * Default ctor.
- *
- * @param defaultValue
- * the default value for this object
- */
- public BooleanHolder(boolean defaultValue)
- {
- this.value = defaultValue;
- }
-
- /** {@inheritDoc} */
- @Override
- public String toString()
- {
- return Boolean.toString(this.value);
- }
-}
diff --git a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java b/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
index 639a926..a8b80c5 100644
--- a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
+++ b/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
@@ -30,6 +30,7 @@
import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.Lock;
import org.forgerock.i18n.LocalizableMessage;
@@ -172,7 +173,7 @@
try
{
- BooleanHolder executePostOpPlugins = new BooleanHolder(false);
+ AtomicBoolean executePostOpPlugins = new AtomicBoolean(false);
processAdd(clientConnection, executePostOpPlugins);
PluginConfigManager pluginConfigManager =
@@ -186,7 +187,7 @@
pluginConfigManager.invokePostSynchronizationAddPlugins(this);
}
}
- else if (executePostOpPlugins.value)
+ else if (executePostOpPlugins.get())
{
// FIXME -- Should this also be done while holding the locks?
PluginResult.PostOperation postOpResult =
@@ -225,7 +226,7 @@
}
private void processAdd(ClientConnection clientConnection,
- BooleanHolder executePostOpPlugins) throws CanceledOperationException
+ AtomicBoolean executePostOpPlugins) throws CanceledOperationException
{
// Process the entry DN and set of attributes to convert them from their
// raw forms as provided by the client to the forms required for the rest
@@ -452,7 +453,7 @@
// Invoke the pre-operation add plugins.
if (!isSynchronizationOperation())
{
- executePostOpPlugins.value = true;
+ executePostOpPlugins.set(true);
PluginResult.PreOperation preOpResult =
DirectoryServer.getPluginConfigManager()
.invokePreOperationAddPlugins(this);
diff --git a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendCompareOperation.java b/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendCompareOperation.java
index 311b145..813514d 100644
--- a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendCompareOperation.java
+++ b/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendCompareOperation.java
@@ -28,6 +28,7 @@
import java.util.List;
import java.util.Set;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.Lock;
import org.forgerock.i18n.LocalizableMessage;
@@ -132,14 +133,14 @@
try
{
- BooleanHolder executePostOpPlugins = new BooleanHolder(false);
+ AtomicBoolean executePostOpPlugins = new AtomicBoolean(false);
processCompare(executePostOpPlugins);
// Check for a request to cancel this operation.
checkIfCanceled(false);
// Invoke the post-operation compare plugins.
- if (executePostOpPlugins.value)
+ if (executePostOpPlugins.get())
{
PluginResult.PostOperation postOpResult =
DirectoryServer.getPluginConfigManager()
@@ -159,7 +160,7 @@
}
}
- private void processCompare(BooleanHolder executePostOpPlugins)
+ private void processCompare(AtomicBoolean executePostOpPlugins)
throws CanceledOperationException
{
// Process the entry DN to convert it from the raw form to the form
@@ -257,7 +258,7 @@
// Invoke the pre-operation compare plugins.
- executePostOpPlugins.value = true;
+ executePostOpPlugins.set(true);
PluginResult.PreOperation preOpResult =
DirectoryServer.getPluginConfigManager()
.invokePreOperationComparePlugins(this);
diff --git a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendDeleteOperation.java b/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendDeleteOperation.java
index a77181c..96ba7b2 100644
--- a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendDeleteOperation.java
+++ b/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendDeleteOperation.java
@@ -27,6 +27,7 @@
package org.opends.server.workflowelement.localbackend;
import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.Lock;
import org.forgerock.i18n.LocalizableMessage;
@@ -145,7 +146,7 @@
try
{
- BooleanHolder executePostOpPlugins = new BooleanHolder(false);
+ AtomicBoolean executePostOpPlugins = new AtomicBoolean(false);
processDelete(executePostOpPlugins);
// Invoke the post-operation or post-synchronization delete plugins.
@@ -158,7 +159,7 @@
pluginConfigManager.invokePostSynchronizationDeletePlugins(this);
}
}
- else if (executePostOpPlugins.value)
+ else if (executePostOpPlugins.get())
{
PluginResult.PostOperation postOpResult =
pluginConfigManager.invokePostOperationDeletePlugins(this);
@@ -195,7 +196,7 @@
}
}
- private void processDelete(BooleanHolder executePostOpPlugins)
+ private void processDelete(AtomicBoolean executePostOpPlugins)
throws CanceledOperationException
{
// Process the entry DN to convert it from its raw form as provided by the
@@ -272,7 +273,7 @@
// invoke the pre-delete plugins.
if (!isSynchronizationOperation())
{
- executePostOpPlugins.value = true;
+ executePostOpPlugins.set(true);
PluginResult.PreOperation preOpResult =
DirectoryServer.getPluginConfigManager()
.invokePreOperationDeletePlugins(this);
diff --git a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyDNOperation.java b/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyDNOperation.java
index ede3a9c..4a27b6b 100644
--- a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyDNOperation.java
+++ b/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyDNOperation.java
@@ -29,6 +29,7 @@
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.Lock;
import org.forgerock.i18n.LocalizableMessage;
@@ -184,7 +185,7 @@
try
{
- BooleanHolder executePostOpPlugins = new BooleanHolder(false);
+ AtomicBoolean executePostOpPlugins = new AtomicBoolean(false);
processModifyDN(executePostOpPlugins);
// Invoke the post-operation or post-synchronization modify DN plugins.
@@ -197,7 +198,7 @@
pluginConfigManager.invokePostSynchronizationModifyDNPlugins(this);
}
}
- else if (executePostOpPlugins.value)
+ else if (executePostOpPlugins.get())
{
PluginResult.PostOperation postOpResult =
pluginConfigManager.invokePostOperationModifyDNPlugins(this);
@@ -234,7 +235,7 @@
}
}
- private void processModifyDN(BooleanHolder executePostOpPlugins)
+ private void processModifyDN(AtomicBoolean executePostOpPlugins)
throws CanceledOperationException
{
// Process the entry DN, newRDN, and newSuperior elements from their raw
@@ -423,7 +424,7 @@
// to identify which changes were made after they're done.
int modCount = modifications.size();
- executePostOpPlugins.value = true;
+ executePostOpPlugins.set(true);
PluginResult.PreOperation preOpResult =
DirectoryServer.getPluginConfigManager()
.invokePreOperationModifyDNPlugins(this);
diff --git a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java b/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
index d32f87f..e8bdd16 100644
--- a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
+++ b/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
@@ -30,6 +30,7 @@
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.Lock;
import org.forgerock.i18n.LocalizableMessage;
@@ -304,7 +305,7 @@
try
{
- BooleanHolder executePostOpPlugins = new BooleanHolder(false);
+ AtomicBoolean executePostOpPlugins = new AtomicBoolean(false);
processModify(executePostOpPlugins);
// If the password policy request control was included, then make sure we
@@ -325,7 +326,7 @@
pluginConfigManager.invokePostSynchronizationModifyPlugins(this);
}
}
- else if (executePostOpPlugins.value)
+ else if (executePostOpPlugins.get())
{
// FIXME -- Should this also be done while holding the locks?
PluginResult.PostOperation postOpResult =
@@ -365,7 +366,7 @@
}
- private void processModify(BooleanHolder executePostOpPlugins)
+ private void processModify(AtomicBoolean executePostOpPlugins)
throws CanceledOperationException
{
entryDN = getEntryDN();
@@ -537,7 +538,7 @@
// Invoke the pre-operation modify plugins.
if (!isSynchronizationOperation())
{
- executePostOpPlugins.value = true;
+ executePostOpPlugins.set(true);
PluginResult.PreOperation preOpResult =
DirectoryServer.getPluginConfigManager()
.invokePreOperationModifyPlugins(this);
diff --git a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java b/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java
index a62b57d..8f1299e 100644
--- a/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java
+++ b/opendj3-server-dev/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java
@@ -27,6 +27,7 @@
package org.opends.server.workflowelement.localbackend;
import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.opends.server.api.Backend;
@@ -104,14 +105,14 @@
try
{
- BooleanHolder executePostOpPlugins = new BooleanHolder(false);
+ AtomicBoolean executePostOpPlugins = new AtomicBoolean(false);
processSearch(executePostOpPlugins);
// Check for a request to cancel this operation.
checkIfCanceled(false);
// Invoke the post-operation search plugins.
- if (executePostOpPlugins.value)
+ if (executePostOpPlugins.get())
{
PluginResult.PostOperation postOpResult =
DirectoryServer.getPluginConfigManager()
@@ -131,7 +132,7 @@
}
}
- private void processSearch(BooleanHolder executePostOpPlugins) throws CanceledOperationException
+ private void processSearch(AtomicBoolean executePostOpPlugins) throws CanceledOperationException
{
// Process the search base and filter to convert them from their raw forms
// as provided by the client to the forms required for the rest of the
@@ -187,7 +188,7 @@
// Invoke the pre-operation search plugins.
- executePostOpPlugins.value = true;
+ executePostOpPlugins.set(true);
PluginResult.PreOperation preOpResult =
DirectoryServer.getPluginConfigManager()
.invokePreOperationSearchPlugins(this);
--
Gitblit v1.10.0