diff options
9 files changed, 62 insertions, 27 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOViewImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOViewImpl.java index 60c432389b..4cc0fe40ac 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOViewImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOViewImpl.java @@ -129,7 +129,7 @@ public class CDOViewImpl extends org.eclipse.net4j.util.event.Notifier implement private ChangeSubscriptionManager changeSubscriptionManager = createChangeSubscriptionManager(); - private ViewAdapterManager adapterPolicyManager = createAdapterManager(); + private AdapterManager adapterPolicyManager = createAdapterManager(); private CDOAdapterPolicy changeSubscriptionPolicy = CDOAdapterPolicy.NONE; @@ -1287,7 +1287,7 @@ public class CDOViewImpl extends org.eclipse.net4j.util.event.Notifier implement /** * @since 2.0 */ - public ViewAdapterManager getAdapterManager() + public AdapterManager getAdapterManager() { return adapterPolicyManager; } @@ -1295,9 +1295,9 @@ public class CDOViewImpl extends org.eclipse.net4j.util.event.Notifier implement /** * @since 2.0 */ - protected ViewAdapterManager createAdapterManager() + protected AdapterManager createAdapterManager() { - return new ViewAdapterManager(); + return new AdapterManager(); } /** @@ -1568,13 +1568,9 @@ public class CDOViewImpl extends org.eclipse.net4j.util.event.Notifier implement * @author Simon McDuff * @since 2.0 */ - protected class ViewAdapterManager + protected class AdapterManager { - protected Set<CDOObject> objects = new HashBag<CDOObject>(); - - public ViewAdapterManager() - { - } + private Set<CDOObject> objects = new HashBag<CDOObject>(); public void committedTransaction(CDOTransaction transaction, CDOCommitContext commitContext) { diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOXATransactionCommitContext.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOXATransactionCommitContext.java index 13fd393013..3daa8f47ce 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOXATransactionCommitContext.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOXATransactionCommitContext.java @@ -38,7 +38,7 @@ import java.util.concurrent.Callable; * @author Simon McDuff * @since 2.0 */ -public class CDOXATransactionCommitContext implements Callable<Object>, CDOIDProvider, CDOCommitContext +public class CDOXATransactionCommitContext implements Callable<Object>, CDOIDProvider, InternalCDOCommitContext { private CDOXATransactionImpl transactionManager; @@ -48,13 +48,13 @@ public class CDOXATransactionCommitContext implements Callable<Object>, CDOIDPro private CommitTransactionResult result; - private CDOCommitContext delegateCommitContext; + private InternalCDOCommitContext delegateCommitContext; private Map<CDOIDExternalTempImpl, InternalCDOTransaction> requestedIDs = new HashMap<CDOIDExternalTempImpl, InternalCDOTransaction>(); private Map<InternalCDOObject, CDOIDExternalTempImpl> objectToID = new HashMap<InternalCDOObject, CDOIDExternalTempImpl>(); - public CDOXATransactionCommitContext(CDOXATransactionImpl manager, CDOCommitContext commitContext) + public CDOXATransactionCommitContext(CDOXATransactionImpl manager, InternalCDOCommitContext commitContext) { transactionManager = manager; delegateCommitContext = commitContext; diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOXATransactionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOXATransactionImpl.java index 5ed76bd4e2..7c713ea651 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOXATransactionImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOXATransactionImpl.java @@ -257,7 +257,7 @@ public class CDOXATransactionImpl implements CDOXATransaction for (InternalCDOTransaction transaction : transactions) { - CDOCommitContext context = transaction.createCommitContext(); + InternalCDOCommitContext context = transaction.createCommitContext(); CDOXATransactionCommitContext xaContext = new CDOXATransactionCommitContext(this, context); xaContext.setState(CDOXAPhase1State.INSTANCE); activeContext.put(transaction, xaContext); diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/InternalCDOCommitContext.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/InternalCDOCommitContext.java new file mode 100644 index 0000000000..1b95625f49 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/InternalCDOCommitContext.java @@ -0,0 +1,31 @@ +/*************************************************************************** + * Copyright (c) 2004 - 2008 Eike Stepper, Germany. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Simon McDuff - initial API and implementation + * Eike Stepper - maintenance + **************************************************************************/ +package org.eclipse.emf.internal.cdo; + +import org.eclipse.emf.cdo.CDOCommitContext; + +import org.eclipse.emf.internal.cdo.protocol.CommitTransactionResult; + +/** + * Provides a context for a commit operation. + * + * @author Simon McDuff + * @since 2.0 + */ +public interface InternalCDOCommitContext extends CDOCommitContext +{ + public InternalCDOTransaction getTransaction(); + + public void preCommit(); + + public void postCommit(CommitTransactionResult result); +} diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/InternalCDOTransaction.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/InternalCDOTransaction.java index 76e82bb391..9d2b3dadee 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/InternalCDOTransaction.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/InternalCDOTransaction.java @@ -25,7 +25,7 @@ import java.util.List; */ public interface InternalCDOTransaction extends CDOTransaction, InternalCDOView { - public CDOCommitContext createCommitContext(); + public InternalCDOCommitContext createCommitContext(); public void handleRollback(CDOSavepoint savepoint); diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/InternalCDOView.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/InternalCDOView.java index ff470b5349..5dc845fb60 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/InternalCDOView.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/InternalCDOView.java @@ -78,6 +78,10 @@ public interface InternalCDOView extends CDOView, CDOIDProvider public boolean isLocked(CDOObject object, RWLockManager.LockType lockType); + public void handleAddAdapter(InternalCDOObject eObject, Adapter adapter); + + public void handleRemoveAdapter(InternalCDOObject eObject, Adapter adapter); + public void subscribe(EObject eObject, Adapter adapter); public void unsubscribe(EObject eObject, Adapter adapter); diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionRequest.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionRequest.java index 758e593f18..f363d083ec 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionRequest.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionRequest.java @@ -37,7 +37,7 @@ import org.eclipse.emf.cdo.internal.common.CDODataInputImpl; import org.eclipse.emf.cdo.internal.common.CDODataOutputImpl; import org.eclipse.emf.cdo.spi.common.InternalCDOPackage; -import org.eclipse.emf.internal.cdo.CDOCommitContext; +import org.eclipse.emf.internal.cdo.InternalCDOCommitContext; import org.eclipse.emf.internal.cdo.InternalCDOSession; import org.eclipse.emf.internal.cdo.bundle.OM; import org.eclipse.emf.internal.cdo.revision.CDOListWithElementProxiesImpl; @@ -61,20 +61,20 @@ public class CommitTransactionRequest extends RequestWithMonitoring<CommitTransa private static final ContextTracer PROTOCOL_TRACER = new ContextTracer(OM.DEBUG_PROTOCOL, CommitTransactionRequest.class); - protected CDOCommitContext commitContext; + protected InternalCDOCommitContext commitContext; - public CommitTransactionRequest(CDOClientProtocol protocol, CDOCommitContext commitContext) + public CommitTransactionRequest(CDOClientProtocol protocol, InternalCDOCommitContext commitContext) { this(protocol, CDOProtocolConstants.SIGNAL_COMMIT_TRANSACTION, commitContext); } - public CommitTransactionRequest(CDOClientProtocol protocol, short signalID, CDOCommitContext commitContext) + public CommitTransactionRequest(CDOClientProtocol protocol, short signalID, InternalCDOCommitContext commitContext) { super(protocol, signalID); this.commitContext = commitContext; } - protected CDOCommitContext getCommitContext() + protected InternalCDOCommitContext getCommitContext() { return commitContext; } diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionResult.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionResult.java index eeb7e4e0b0..a6e61d1a67 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionResult.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionResult.java @@ -15,7 +15,7 @@ import org.eclipse.emf.cdo.common.id.CDOIDTemp; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.cdo.internal.common.revision.CDOIDMapper; -import org.eclipse.emf.internal.cdo.CDOCommitContext; +import org.eclipse.emf.internal.cdo.InternalCDOCommitContext; import org.eclipse.emf.internal.cdo.revision.CDOPostCommitReferenceAdjuster; import java.util.HashMap; @@ -26,7 +26,6 @@ import java.util.Map; */ public final class CommitTransactionResult { - private String rollbackMessage; private long timeStamp; @@ -35,15 +34,15 @@ public final class CommitTransactionResult private CDOReferenceAdjuster referenceAdjuster; - private CDOCommitContext commitContext; + private InternalCDOCommitContext commitContext; - public CommitTransactionResult(CDOCommitContext commitContext, String rollbackMessage) + public CommitTransactionResult(InternalCDOCommitContext commitContext, String rollbackMessage) { this.rollbackMessage = rollbackMessage; this.commitContext = commitContext; } - public CommitTransactionResult(CDOCommitContext commitContext, long timeStamp) + public CommitTransactionResult(InternalCDOCommitContext commitContext, long timeStamp) { this.timeStamp = timeStamp; this.commitContext = commitContext; @@ -65,7 +64,7 @@ public final class CommitTransactionResult this.referenceAdjuster = referenceAdjuster; } - public CDOCommitContext getCommitContext() + public InternalCDOCommitContext getCommitContext() { return commitContext; } diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CDOPackageRegistryImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CDOPackageRegistryImpl.java index 5759b847a6..0f2218cd97 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CDOPackageRegistryImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CDOPackageRegistryImpl.java @@ -11,6 +11,7 @@ **************************************************************************/ package org.eclipse.emf.internal.cdo.util; +import org.eclipse.emf.cdo.CDOCommitContext; import org.eclipse.emf.cdo.CDOObject; import org.eclipse.emf.cdo.CDOSession; import org.eclipse.emf.cdo.CDOTransaction; @@ -368,7 +369,7 @@ public class CDOPackageRegistryImpl extends EPackageRegistryImpl implements CDOP { } - public void committingTransaction(CDOTransaction transaction) + public void committingTransaction(CDOTransaction transaction, CDOCommitContext commitContext) { } @@ -379,6 +380,10 @@ public class CDOPackageRegistryImpl extends EPackageRegistryImpl implements CDOP public void detachingObject(CDOTransaction transaction, CDOObject object) { } + + public void committedTransaction(CDOTransaction transaction, CDOCommitContext commitContext) + { + } } /** |