From d491fe177f1740e7b5882569d51987a15662fc85 Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Thu, 12 Jul 2007 09:30:40 +0000
Subject: [PATCH] fix for 1887 : Define new interfaces used by the synchronization provider so that LocalBackend operations are not exposed
---
opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java | 44 +++++++++++++++++++++++++++-----------------
1 files changed, 27 insertions(+), 17 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java b/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
index 5c02af2..e21ca23 100644
--- a/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
+++ b/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
@@ -42,7 +42,6 @@
import org.opends.server.api.SynchronizationProvider;
import org.opends.server.config.ConfigException;
import org.opends.server.core.DirectoryServer;
-import org.opends.server.core.ModifyDNOperation;
import org.opends.server.types.BackupConfig;
import org.opends.server.types.ConfigChangeResult;
import org.opends.server.types.DN;
@@ -55,7 +54,16 @@
import org.opends.server.types.RestoreConfig;
import org.opends.server.types.ResultCode;
import org.opends.server.types.SynchronizationProviderResult;
-import org.opends.server.workflowelement.localbackend.*;
+import org.opends.server.types.operation.PluginOperation;
+import org.opends.server.types.operation.PostOperationAddOperation;
+import org.opends.server.types.operation.PostOperationDeleteOperation;
+import org.opends.server.types.operation.PostOperationModifyDNOperation;
+import org.opends.server.types.operation.PostOperationModifyOperation;
+import org.opends.server.types.operation.PostOperationOperation;
+import org.opends.server.types.operation.PreOperationAddOperation;
+import org.opends.server.types.operation.PreOperationDeleteOperation;
+import org.opends.server.types.operation.PreOperationModifyDNOperation;
+import org.opends.server.types.operation.PreOperationModifyOperation;
import static org.opends.server.messages.ReplicationMessages.*;
@@ -87,13 +95,14 @@
* Can be null is the request has no associated operation.
* @return The domain for this DN.
*/
- public static ReplicationDomain findDomain(DN dn, Operation op)
+ public static ReplicationDomain findDomain(DN dn, PluginOperation op)
{
/*
* Don't run the special replication code on Operation that are
* specifically marked as don't synchronize.
*/
- if ((op != null) && op.dontSynchronize())
+ if ((op != null) && (op instanceof Operation) &&
+ (((Operation) op).dontSynchronize()))
return null;
ReplicationDomain domain = null;
@@ -212,7 +221,7 @@
* {@inheritDoc}
*/
@Override
- public void doPostOperation(LocalBackendAddOperation addOperation)
+ public void doPostOperation(PostOperationAddOperation addOperation)
{
DN dn = addOperation.getEntryDN();
genericPostOperation(addOperation, dn);
@@ -223,7 +232,7 @@
* {@inheritDoc}
*/
@Override
- public void doPostOperation(LocalBackendDeleteOperation deleteOperation)
+ public void doPostOperation(PostOperationDeleteOperation deleteOperation)
{
DN dn = deleteOperation.getEntryDN();
genericPostOperation(deleteOperation, dn);
@@ -233,7 +242,7 @@
* {@inheritDoc}
*/
@Override
- public void doPostOperation(ModifyDNOperation modifyDNOperation)
+ public void doPostOperation(PostOperationModifyDNOperation modifyDNOperation)
{
DN dn = modifyDNOperation.getEntryDN();
genericPostOperation(modifyDNOperation, dn);
@@ -243,7 +252,7 @@
* {@inheritDoc}
*/
@Override
- public void doPostOperation(LocalBackendModifyOperation modifyOperation)
+ public void doPostOperation(PostOperationModifyOperation modifyOperation)
{
DN dn = modifyOperation.getEntryDN();
genericPostOperation(modifyOperation, dn);
@@ -254,7 +263,7 @@
*/
@Override
public SynchronizationProviderResult handleConflictResolution(
- LocalBackendModifyOperation modifyOperation)
+ PreOperationModifyOperation modifyOperation)
{
ReplicationDomain domain =
findDomain(modifyOperation.getEntryDN(), modifyOperation);
@@ -269,7 +278,7 @@
*/
@Override
public SynchronizationProviderResult handleConflictResolution(
- LocalBackendAddOperation addOperation) throws DirectoryException
+ PreOperationAddOperation addOperation) throws DirectoryException
{
ReplicationDomain domain =
findDomain(addOperation.getEntryDN(), addOperation);
@@ -284,7 +293,7 @@
*/
@Override
public SynchronizationProviderResult handleConflictResolution(
- LocalBackendDeleteOperation deleteOperation) throws DirectoryException
+ PreOperationDeleteOperation deleteOperation) throws DirectoryException
{
ReplicationDomain domain =
findDomain(deleteOperation.getEntryDN(), deleteOperation);
@@ -299,7 +308,7 @@
*/
@Override
public SynchronizationProviderResult handleConflictResolution(
- ModifyDNOperation modifyDNOperation) throws DirectoryException
+ PreOperationModifyDNOperation modifyDNOperation) throws DirectoryException
{
ReplicationDomain domain =
findDomain(modifyDNOperation.getEntryDN(), modifyDNOperation);
@@ -314,7 +323,7 @@
*/
@Override
public SynchronizationProviderResult
- doPreOperation(LocalBackendModifyOperation modifyOperation)
+ doPreOperation(PreOperationModifyOperation modifyOperation)
{
DN operationDN = modifyOperation.getEntryDN();
ReplicationDomain domain = findDomain(operationDN, modifyOperation);
@@ -341,7 +350,7 @@
*/
@Override
public SynchronizationProviderResult doPreOperation(
- LocalBackendDeleteOperation deleteOperation) throws DirectoryException
+ PreOperationDeleteOperation deleteOperation) throws DirectoryException
{
return new SynchronizationProviderResult(true);
}
@@ -351,7 +360,8 @@
*/
@Override
public SynchronizationProviderResult doPreOperation(
- ModifyDNOperation modifyDNOperation) throws DirectoryException
+ PreOperationModifyDNOperation modifyDNOperation)
+ throws DirectoryException
{
return new SynchronizationProviderResult(true);
}
@@ -361,7 +371,7 @@
*/
@Override
public SynchronizationProviderResult doPreOperation(
- LocalBackendAddOperation addOperation)
+ PreOperationAddOperation addOperation)
{
ReplicationDomain domain =
findDomain(addOperation.getEntryDN(), addOperation);
@@ -550,7 +560,7 @@
* @param operation The Operation for which the post-operation is called.
* @param dn The Dn for which the post-operation is called.
*/
- private void genericPostOperation(Operation operation, DN dn)
+ private void genericPostOperation(PostOperationOperation operation, DN dn)
{
ReplicationDomain domain = findDomain(dn, operation);
if (domain == null)
--
Gitblit v1.10.0