diff options
author | Eike Stepper | 2010-04-21 06:57:57 +0000 |
---|---|---|
committer | Eike Stepper | 2010-04-21 06:57:57 +0000 |
commit | 431474a704d35d8afbc20013bf5da27b6fd5910b (patch) | |
tree | addae099bb781b4c0aef1102d88bb11e5487f092 | |
parent | 5cd59aaf0e18e2a20dc5029948c155a1db5661fc (diff) | |
download | cdo-431474a704d35d8afbc20013bf5da27b6fd5910b.tar.gz cdo-431474a704d35d8afbc20013bf5da27b6fd5910b.tar.xz cdo-431474a704d35d8afbc20013bf5da27b6fd5910b.zip |
[256936] Support for Offline Mode
https://bugs.eclipse.org/bugs/show_bug.cgi?id=256936
10 files changed, 38 insertions, 41 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java index 4a4388f4de..72c43203f9 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java @@ -308,7 +308,7 @@ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource, public void setModified(boolean newModified) { boolean oldIsModified = isModified(); - eSet(EresourcePackage.Literals.CDO_RESOURCE__MODIFIED, new Boolean(newModified)); + eSet(EresourcePackage.Literals.CDO_RESOURCE__MODIFIED, Boolean.valueOf(newModified)); if (eNotificationRequired()) { Notification notification = new NotificationImpl(Notification.SET, oldIsModified, newModified) diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/session/remote/CDORemoteSessionMessage.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/session/remote/CDORemoteSessionMessage.java index eef4287da6..fccd3aa616 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/session/remote/CDORemoteSessionMessage.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/session/remote/CDORemoteSessionMessage.java @@ -67,7 +67,7 @@ public final class CDORemoteSessionMessage data = in.readByteArray(); } - public void write(ExtendedDataOutput out) throws IOException + public synchronized void write(ExtendedDataOutput out) throws IOException { out.writeString(type); out.writeByte(priority.ordinal()); @@ -98,23 +98,17 @@ public final class CDORemoteSessionMessage /** * Returns a copy of this message's data as a byte array. Thread-safety for the message data is ensured internally. */ - public byte[] getData() + public synchronized byte[] getData() { - synchronized (this) - { - return copyData(data); - } + return copyData(data); } /** * Sets the data of this message as a byte array. Thread-safety for the message data is ensured internally. */ - public void setData(byte[] data) + public synchronized void setData(byte[] data) { - synchronized (this) - { - this.data = copyData(data); - } + this.data = copyData(data); } /** diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOIDDanglingImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOIDDanglingImpl.java index e11d38bff3..962cd580c2 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOIDDanglingImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOIDDanglingImpl.java @@ -33,7 +33,7 @@ public class CDOIDDanglingImpl extends AbstractCDOID implements CDOIDDangling private static final long serialVersionUID = 1L; - private InternalEObject target; + private transient InternalEObject target; // private List<Reference> references = new ArrayList<Reference>(); diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOLegacyAdapter.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOLegacyAdapter.java index 1c53616c1a..cee4571198 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOLegacyAdapter.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOLegacyAdapter.java @@ -29,11 +29,6 @@ import java.util.List; */ public class CDOLegacyAdapter extends CDOLegacyWrapper implements Adapter.Internal { - public CDOLegacyAdapter() - { - super(null); - } - /** * @since 3.0 */ diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDONotificationBuilder.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDONotificationBuilder.java index 7d16a25d83..602fb7b667 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDONotificationBuilder.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDONotificationBuilder.java @@ -97,8 +97,8 @@ public class CDONotificationBuilder implements CDOFeatureDeltaVisitor EStructuralFeature feature = delta.getFeature(); int oldPosition = delta.getOldPosition(); int newPosition = delta.getNewPosition(); - add(new CDODeltaNotificationImpl(object, NotificationImpl.MOVE, getEFeatureID(feature), new Integer(oldPosition), - getOldValue(feature), newPosition)); + add(new CDODeltaNotificationImpl(object, NotificationImpl.MOVE, getEFeatureID(feature), Integer + .valueOf(oldPosition), getOldValue(feature), newPosition)); } public void visit(CDOAddFeatureDelta delta) diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStateMachine.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStateMachine.java index 4232d2061f..191df01579 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStateMachine.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStateMachine.java @@ -620,10 +620,7 @@ public final class CDOStateMachine extends FiniteStateMachine<CDOState, CDOEvent && (eContainingFeature == null || EMFUtil.isPersistent(eContainingFeature))) { next = FSMUtil.adapt(eObject, transaction); - if (next instanceof InternalCDOObject) - { - return true; - } + return true; } } @@ -714,7 +711,7 @@ public final class CDOStateMachine extends FiniteStateMachine<CDOState, CDOEvent /** * @author Eike Stepper */ - private final class DetachTransition implements + private static final class DetachTransition implements ITransition<CDOState, CDOEvent, InternalCDOObject, List<InternalCDOObject>> { public void execute(InternalCDOObject object, CDOState state, CDOEvent event, @@ -814,7 +811,7 @@ public final class CDOStateMachine extends FiniteStateMachine<CDOState, CDOEvent /** * @author Simon McDuff */ - private final class WriteNewTransition implements ITransition<CDOState, CDOEvent, InternalCDOObject, Object> + private static final class WriteNewTransition implements ITransition<CDOState, CDOEvent, InternalCDOObject, Object> { public void execute(InternalCDOObject object, CDOState state, CDOEvent event, Object featureDelta) { @@ -827,7 +824,7 @@ public final class CDOStateMachine extends FiniteStateMachine<CDOState, CDOEvent /** * @author Simon McDuff */ - private final class RewriteTransition implements ITransition<CDOState, CDOEvent, InternalCDOObject, Object> + private static final class RewriteTransition implements ITransition<CDOState, CDOEvent, InternalCDOObject, Object> { public void execute(InternalCDOObject object, CDOState state, CDOEvent event, Object featureDelta) { diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java index 6b0f847fa1..bd8a2048a8 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java @@ -76,6 +76,7 @@ import org.eclipse.net4j.util.concurrent.RWLockManager; import org.eclipse.net4j.util.container.Container; import org.eclipse.net4j.util.event.Event; import org.eclipse.net4j.util.event.EventUtil; +import org.eclipse.net4j.util.event.IEvent; import org.eclipse.net4j.util.event.IListener; import org.eclipse.net4j.util.event.Notifier; import org.eclipse.net4j.util.lifecycle.ILifecycle; @@ -1067,25 +1068,38 @@ public abstract class CDOSessionImpl extends Container<CDOView> implements Inter public CDOCollectionLoadingPolicy getCollectionLoadingPolicy() { - return collectionLoadingPolicy; + synchronized (this) + { + return collectionLoadingPolicy; + } } - public synchronized void setCollectionLoadingPolicy(CDOCollectionLoadingPolicy policy) + public void setCollectionLoadingPolicy(CDOCollectionLoadingPolicy policy) { if (policy == null) { policy = CDOCollectionLoadingPolicy.DEFAULT; } - if (collectionLoadingPolicy != policy) + IListener[] listeners = getListeners(); + IEvent event = null; + + synchronized (this) { - collectionLoadingPolicy = policy; - IListener[] listeners = getListeners(); - if (listeners != null) + if (collectionLoadingPolicy != policy) { - fireEvent(new CollectionLoadingPolicyEventImpl(), listeners); + collectionLoadingPolicy = policy; + if (listeners != null) + { + event = new CollectionLoadingPolicyEventImpl(); + } } } + + if (event != null) + { + fireEvent(event, listeners); + } } /** diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/remote/CDORemoteSessionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/remote/CDORemoteSessionImpl.java index 814a261b3e..d9bc4697fb 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/remote/CDORemoteSessionImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/remote/CDORemoteSessionImpl.java @@ -78,7 +78,7 @@ public class CDORemoteSessionImpl implements InternalCDORemoteSession int result = userID.compareTo(obj.getUserID()); if (result == 0) { - result = new Integer(sessionID).compareTo(obj.getSessionID()); + result = Integer.valueOf(sessionID).compareTo(obj.getSessionID()); } return result; diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/FSMUtil.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/FSMUtil.java index c1f7d50ae2..640daea5ab 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/FSMUtil.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/FSMUtil.java @@ -259,13 +259,10 @@ public final class FSMUtil public boolean hasNext() { - while (delegate.hasNext()) + if (delegate.hasNext()) { next = adapt(delegate.next(), view); - if (next instanceof InternalCDOObject) - { - return true; - } + return true; } return false; diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewProviderRegistryImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewProviderRegistryImpl.java index e1fc753fca..29d97b8f49 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewProviderRegistryImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewProviderRegistryImpl.java @@ -118,7 +118,7 @@ public class CDOViewProviderRegistryImpl extends Container<CDOViewProvider> impl { public int compare(CDOViewProvider o1, CDOViewProvider o2) { - return -new Integer(o1.getPriority()).compareTo(o2.getPriority()); + return -Integer.valueOf(o1.getPriority()).compareTo(o2.getPriority()); } }); |