Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java')
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java292
1 files changed, 141 insertions, 151 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java
index df4a284328..44cf2e9033 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java
@@ -15,13 +15,11 @@
package org.eclipse.emf.internal.cdo;
import org.eclipse.emf.cdo.common.id.CDOID;
-import org.eclipse.emf.cdo.common.model.CDOFeature;
+import org.eclipse.emf.cdo.common.model.CDOModelUtil;
import org.eclipse.emf.cdo.common.model.CDOType;
import org.eclipse.emf.cdo.common.revision.CDOList;
-import org.eclipse.emf.cdo.common.revision.CDORevisionUtil;
import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDelta;
import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.internal.common.model.core.CDOFeatureMapEntryDataTypeImpl;
import org.eclipse.emf.cdo.internal.common.revision.delta.CDOAddFeatureDeltaImpl;
import org.eclipse.emf.cdo.internal.common.revision.delta.CDOClearFeatureDeltaImpl;
import org.eclipse.emf.cdo.internal.common.revision.delta.CDOContainerFeatureDeltaImpl;
@@ -34,23 +32,20 @@ import org.eclipse.emf.cdo.view.CDORevisionPrefetchingPolicy;
import org.eclipse.emf.internal.cdo.bundle.OM;
import org.eclipse.emf.internal.cdo.session.CDORevisionManagerImpl;
-import org.eclipse.emf.internal.cdo.session.CDOSessionPackageManagerImpl;
import org.eclipse.emf.internal.cdo.util.FSMUtil;
import org.eclipse.net4j.util.ImplementationError;
import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.InternalEObject.EStore;
import org.eclipse.emf.ecore.impl.EStoreEObjectImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMapUtil;
import org.eclipse.emf.spi.cdo.CDOElementProxy;
import org.eclipse.emf.spi.cdo.InternalCDOObject;
import org.eclipse.emf.spi.cdo.InternalCDOView;
@@ -74,12 +69,12 @@ public final class CDOStore implements EStore
private InternalCDOView view;
- // Used for optimization. Multiple call to CDStore will be sent like size and than add.
- private EStructuralFeature lastLookupEFeature;
-
- private CDOFeature lastLookupCDOFeature;
-
- private Object lock = new Object();
+ // // Used for optimization. Multiple call to CDStore will be sent like size and than add.
+ // private EStructuralFeature lastLookupEFeature;
+ //
+ // private EStructuralFeature lastLookupEStructuralFeature;
+ //
+ // private Object lock = new Object();
/**
* @since 2.0
@@ -165,141 +160,133 @@ public final class CDOStore implements EStore
throw new UnsupportedOperationException("Use getContainingFeatureID() instead");
}
- public Object get(InternalEObject eObject, EStructuralFeature eFeature, int index)
+ public Object get(InternalEObject eObject, EStructuralFeature feature, int index)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("get({0}, {1}, {2})", cdoObject, cdoFeature, index);
+ TRACER.format("get({0}, {1}, {2})", cdoObject, feature, index);
}
- view.getFeatureAnalyzer().preTraverseFeature(cdoObject, cdoFeature, index);
+ view.getFeatureAnalyzer().preTraverseFeature(cdoObject, feature, index);
InternalCDORevision revision = getRevisionForReading(cdoObject);
- Object value = revision.basicGet(cdoFeature, index);
- value = convertToEMF(view, eObject, revision, eFeature, cdoFeature, index, value);
+ Object value = revision.basicGet(feature, index);
+ value = convertToEMF(view, eObject, revision, feature, index, value);
- view.getFeatureAnalyzer().postTraverseFeature(cdoObject, cdoFeature, index, value);
+ view.getFeatureAnalyzer().postTraverseFeature(cdoObject, feature, index, value);
return value;
}
@Deprecated
- public boolean isSet(InternalEObject eObject, EStructuralFeature eFeature)
+ public boolean isSet(InternalEObject eObject, EStructuralFeature feature)
{
// Should not be called
throw new ImplementationError();
}
- public int size(InternalEObject eObject, EStructuralFeature eFeature)
+ public int size(InternalEObject eObject, EStructuralFeature feature)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("size({0}, {1})", cdoObject, cdoFeature);
+ TRACER.format("size({0}, {1})", cdoObject, feature);
}
InternalCDORevision revision = getRevisionForReading(cdoObject);
- return revision.size(cdoFeature);
+ return revision.size(feature);
}
- public boolean isEmpty(InternalEObject eObject, EStructuralFeature eFeature)
+ public boolean isEmpty(InternalEObject eObject, EStructuralFeature feature)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("isEmpty({0}, {1})", cdoObject, cdoFeature);
+ TRACER.format("isEmpty({0}, {1})", cdoObject, feature);
}
InternalCDORevision revision = getRevisionForReading(cdoObject);
- return revision.isEmpty(cdoFeature);
+ return revision.isEmpty(feature);
}
- public boolean contains(InternalEObject eObject, EStructuralFeature eFeature, Object value)
+ public boolean contains(InternalEObject eObject, EStructuralFeature feature, Object value)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("contains({0}, {1}, {2})", cdoObject, cdoFeature, value);
+ TRACER.format("contains({0}, {1}, {2})", cdoObject, feature, value);
}
- if (cdoFeature.isReference())
+ if (feature instanceof EReference)
{
value = cdoObject.cdoView().convertObjectToID(value, true);
}
InternalCDORevision revision = getRevisionForReading(cdoObject);
- return revision.contains(cdoFeature, value);
+ return revision.contains(feature, value);
}
- public int indexOf(InternalEObject eObject, EStructuralFeature eFeature, Object value)
+ public int indexOf(InternalEObject eObject, EStructuralFeature feature, Object value)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("indexOf({0}, {1}, {2})", cdoObject, cdoFeature, value);
+ TRACER.format("indexOf({0}, {1}, {2})", cdoObject, feature, value);
}
- if (cdoFeature.isReference())
+ if (feature instanceof EReference)
{
value = cdoObject.cdoView().convertObjectToID(value, true);
}
InternalCDORevision revision = getRevisionForReading(cdoObject);
- return revision.indexOf(cdoFeature, value);
+ return revision.indexOf(feature, value);
}
- public int lastIndexOf(InternalEObject eObject, EStructuralFeature eFeature, Object value)
+ public int lastIndexOf(InternalEObject eObject, EStructuralFeature feature, Object value)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("lastIndexOf({0}, {1}, {2})", cdoObject, cdoFeature, value);
+ TRACER.format("lastIndexOf({0}, {1}, {2})", cdoObject, feature, value);
}
- if (cdoFeature.isReference())
+ if (feature instanceof EReference)
{
value = cdoObject.cdoView().convertObjectToID(value, true);
}
InternalCDORevision revision = getRevisionForReading(cdoObject);
- return revision.lastIndexOf(cdoFeature, value);
+ return revision.lastIndexOf(feature, value);
}
- public int hashCode(InternalEObject eObject, EStructuralFeature eFeature)
+ public int hashCode(InternalEObject eObject, EStructuralFeature feature)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("hashCode({0}, {1})", cdoObject, cdoFeature);
+ TRACER.format("hashCode({0}, {1})", cdoObject, feature);
}
InternalCDORevision revision = getRevisionForReading(cdoObject);
- return revision.hashCode(cdoFeature);
+ return revision.hashCode(feature);
}
- public Object[] toArray(InternalEObject eObject, EStructuralFeature eFeature)
+ public Object[] toArray(InternalEObject eObject, EStructuralFeature feature)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("toArray({0}, {1})", cdoObject, cdoFeature);
+ TRACER.format("toArray({0}, {1})", cdoObject, feature);
}
InternalCDORevision revision = getRevisionForReading(cdoObject);
- Object[] result = revision.toArray(cdoFeature);
- if (cdoFeature.isReference())
+ Object[] result = revision.toArray(feature);
+ if (feature instanceof EReference)
{
for (int i = 0; i < result.length; i++)
{
- result[i] = resolveProxy(revision, cdoFeature, i, result[i]);
+ result[i] = resolveProxy(revision, feature, i, result[i]);
result[i] = cdoObject.cdoView().convertIDToObject(result[i]);
}
}
@@ -308,9 +295,9 @@ public final class CDOStore implements EStore
}
@SuppressWarnings("unchecked")
- public <T> T[] toArray(InternalEObject eObject, EStructuralFeature eFeature, T[] a)
+ public <T> T[] toArray(InternalEObject eObject, EStructuralFeature feature, T[] a)
{
- Object[] array = toArray(eObject, eFeature);
+ Object[] array = toArray(eObject, feature);
int size = array.length;
if (a.length < size)
@@ -327,28 +314,27 @@ public final class CDOStore implements EStore
return a;
}
- public Object set(InternalEObject eObject, EStructuralFeature eFeature, int index, Object value)
+ public Object set(InternalEObject eObject, EStructuralFeature feature, int index, Object value)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("set({0}, {1}, {2}, {3})", cdoObject, cdoFeature, index, value);
+ TRACER.format("set({0}, {1}, {2}, {3})", cdoObject, feature, index, value);
}
- value = convertToCDO(getView(), eFeature, cdoFeature, value);
+ value = convertToCDO(getView(), feature, value);
- CDOFeatureDelta delta = new CDOSetFeatureDeltaImpl(cdoFeature, index, value);
+ CDOFeatureDelta delta = new CDOSetFeatureDeltaImpl(feature, index, value);
InternalCDORevision revision = getRevisionForWriting(cdoObject, delta);
- if (cdoFeature.isReference())
+ if (feature instanceof EReference)
{
- Object oldValue = revision.basicGet(cdoFeature, index);
- oldValue = resolveProxy(revision, cdoFeature, index, oldValue);
+ Object oldValue = revision.basicGet(feature, index);
+ oldValue = resolveProxy(revision, feature, index, oldValue);
value = cdoObject.cdoView().convertObjectToID(value, true);
}
- Object oldValue = revision.basicSet(cdoFeature, index, value);
- oldValue = convertToEMF(cdoObject.cdoView(), eObject, revision, eFeature, cdoFeature, index, oldValue);
+ Object oldValue = revision.basicSet(feature, index, value);
+ oldValue = convertToEMF(cdoObject.cdoView(), eObject, revision, feature, index, oldValue);
return oldValue;
}
@@ -356,7 +342,7 @@ public final class CDOStore implements EStore
* @since 2.0
*/
public Object convertToEMF(InternalCDOView view, EObject eObject, InternalCDORevision revision,
- EStructuralFeature eFeature, CDOFeature cdoFeature, int index, Object value)
+ EStructuralFeature feature, int index, Object value)
{
if (value != null)
{
@@ -365,16 +351,16 @@ public final class CDOStore implements EStore
return EStoreEObjectImpl.NIL;
}
- if (cdoFeature.isMany() && EStore.NO_INDEX != index)
+ if (feature.isMany() && EStore.NO_INDEX != index)
{
- value = resolveProxy(revision, cdoFeature, index, value);
- if (cdoFeature.isMany() && value instanceof CDOID)
+ value = resolveProxy(revision, feature, index, value);
+ if (feature.isMany() && value instanceof CDOID)
{
CDOID id = (CDOID)value;
- CDOList list = revision.getList(cdoFeature);
+ CDOList list = revision.getList(feature);
CDORevisionManagerImpl revisionManager = (CDORevisionManagerImpl)view.getSession().getRevisionManager();
CDORevisionPrefetchingPolicy policy = view.options().getRevisionPrefetchingPolicy();
- Collection<CDOID> listOfIDs = policy.loadAhead(revisionManager, eObject, eFeature, list, index, id);
+ Collection<CDOID> listOfIDs = policy.loadAhead(revisionManager, eObject, feature, list, index, id);
if (!listOfIDs.isEmpty())
{
revisionManager.getRevisions(listOfIDs, view.getSession().options().getCollectionLoadingPolicy()
@@ -383,22 +369,27 @@ public final class CDOStore implements EStore
}
}
- if (cdoFeature.isReference())
+ if (feature instanceof EReference)
{
value = view.convertIDToObject(value);
}
- else if (cdoFeature.getType() == CDOType.CUSTOM)
- {
- value = EcoreUtil.createFromString((EDataType)eFeature.getEType(), (String)value);
- }
- else if (cdoFeature.getType() == CDOType.FEATURE_MAP_ENTRY)
+ else if (feature.getEType() instanceof EDataType)
{
- CDOFeatureMapEntryDataTypeImpl entry = (CDOFeatureMapEntryDataTypeImpl)value;
- EStructuralFeature feature = (EStructuralFeature)view.getResourceSet().getEObject(
- URI.createURI(entry.getURI()), true);
- Object object = view.convertIDToObject(entry.getObject());
- value = FeatureMapUtil.createEntry(feature, object);
+ EDataType eType = (EDataType)feature.getEType();
+ CDOType type = CDOModelUtil.getCoreType(eType);
+ if (type == null)
+ {
+ value = EcoreUtil.createFromString(eType, (String)value);
+ }
}
+ // TODO Handle feature maps! else if (feature.getType() == CDOType.FEATURE_MAP_ENTRY)
+ // {
+ // EStructuralFeatureMapEntryDataTypeImpl entry = (EStructuralFeatureMapEntryDataTypeImpl)value;
+ // EStructuralFeature feature = (EStructuralFeature)view.getResourceSet().getEObject(
+ // URI.createURI(entry.getURI()), true);
+ // Object object = view.convertIDToObject(entry.getObject());
+ // value = FeatureMapUtil.createEntry(feature, object);
+ // }
}
return value;
@@ -407,7 +398,7 @@ public final class CDOStore implements EStore
/**
* @since 2.0
*/
- public Object convertToCDO(InternalCDOView view, EStructuralFeature eFeature, CDOFeature cdoFeature, Object value)
+ public Object convertToCDO(InternalCDOView view, EStructuralFeature feature, Object value)
{
if (value != null)
{
@@ -415,104 +406,104 @@ public final class CDOStore implements EStore
{
value = InternalCDORevision.NIL;
}
- else if (cdoFeature.isReference())
+ else if (feature instanceof EReference)
{
value = view.convertObjectToID(value, true);
}
- else if (cdoFeature.getType() == CDOType.FEATURE_MAP_ENTRY)
+ // TODO Handle feature maps! else if (feature.getType() == CDOType.FEATURE_MAP_ENTRY)
+ // {
+ // FeatureMap.Entry entry = (FeatureMap.Entry)value;
+ // String uri = EcoreUtil.getURI(entry.getEStructuralFeature()).toString();
+ // value = CDORevisionUtil.createFeatureMapEntry(uri, entry.getValue());
+ // }
+ else if (feature.getEType() instanceof EDataType)
{
- FeatureMap.Entry entry = (FeatureMap.Entry)value;
- String uri = EcoreUtil.getURI(entry.getEStructuralFeature()).toString();
- value = CDORevisionUtil.createFeatureMapEntry(uri, entry.getValue());
- }
- else if (cdoFeature.getType() == CDOType.CUSTOM)
- {
- value = EcoreUtil.convertToString((EDataType)eFeature.getEType(), value);
+ EDataType eType = (EDataType)feature.getEType();
+ CDOType type = CDOModelUtil.getCoreType(eType);
+ if (type == null)
+ {
+ value = EcoreUtil.convertToString(eType, value);
+ }
}
}
return value;
}
- public void unset(InternalEObject eObject, EStructuralFeature eFeature)
+ public void unset(InternalEObject eObject, EStructuralFeature feature)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("unset({0}, {1})", cdoObject, cdoFeature);
+ TRACER.format("unset({0}, {1})", cdoObject, feature);
}
- CDOFeatureDelta delta = new CDOUnsetFeatureDeltaImpl(cdoFeature);
+ CDOFeatureDelta delta = new CDOUnsetFeatureDeltaImpl(feature);
InternalCDORevision revision = getRevisionForWriting(cdoObject, delta);
// TODO Handle containment remove!!!
- revision.set(cdoFeature, 0, null);
+ revision.set(feature, 0, null);
}
- public void add(InternalEObject eObject, EStructuralFeature eFeature, int index, Object value)
+ public void add(InternalEObject eObject, EStructuralFeature feature, int index, Object value)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("add({0}, {1}, {2}, {3})", cdoObject, cdoFeature, index, value);
+ TRACER.format("add({0}, {1}, {2}, {3})", cdoObject, feature, index, value);
}
- value = convertToCDO(cdoObject.cdoView(), eFeature, cdoFeature, value);
+ value = convertToCDO(cdoObject.cdoView(), feature, value);
- CDOFeatureDelta delta = new CDOAddFeatureDeltaImpl(cdoFeature, index, value);
+ CDOFeatureDelta delta = new CDOAddFeatureDeltaImpl(feature, index, value);
InternalCDORevision revision = getRevisionForWriting(cdoObject, delta);
- revision.add(cdoFeature, index, value);
+ revision.add(feature, index, value);
}
- public Object remove(InternalEObject eObject, EStructuralFeature eFeature, int index)
+ public Object remove(InternalEObject eObject, EStructuralFeature feature, int index)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("remove({0}, {1}, {2})", cdoObject, cdoFeature, index);
+ TRACER.format("remove({0}, {1}, {2})", cdoObject, feature, index);
}
- CDOFeatureDelta delta = new CDORemoveFeatureDeltaImpl(cdoFeature, index);
+ CDOFeatureDelta delta = new CDORemoveFeatureDeltaImpl(feature, index);
InternalCDORevision revision = getRevisionForWriting(cdoObject, delta);
- Object result = revision.remove(cdoFeature, index);
+ Object result = revision.remove(feature, index);
- result = convertToEMF(cdoObject.cdoView(), eObject, revision, eFeature, cdoFeature, index, result);
+ result = convertToEMF(cdoObject.cdoView(), eObject, revision, feature, index, result);
return result;
}
- public void clear(InternalEObject eObject, EStructuralFeature eFeature)
+ public void clear(InternalEObject eObject, EStructuralFeature feature)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("clear({0}, {1})", cdoObject, cdoFeature);
+ TRACER.format("clear({0}, {1})", cdoObject, feature);
}
- CDOFeatureDelta delta = new CDOClearFeatureDeltaImpl(cdoFeature);
+ CDOFeatureDelta delta = new CDOClearFeatureDeltaImpl(feature);
InternalCDORevision revision = getRevisionForWriting(cdoObject, delta);
// TODO Handle containment remove!!!
- revision.clear(cdoFeature);
+ revision.clear(feature);
}
- public Object move(InternalEObject eObject, EStructuralFeature eFeature, int target, int source)
+ public Object move(InternalEObject eObject, EStructuralFeature feature, int target, int source)
{
InternalCDOObject cdoObject = getCDOObject(eObject);
- CDOFeature cdoFeature = getCDOFeature(cdoObject, eFeature);
if (TRACER.isEnabled())
{
- TRACER.format("move({0}, {1}, {2}, {3})", cdoObject, cdoFeature, target, source);
+ TRACER.format("move({0}, {1}, {2}, {3})", cdoObject, feature, target, source);
}
- CDOFeatureDelta delta = new CDOMoveFeatureDeltaImpl(cdoFeature, target, source);
+ CDOFeatureDelta delta = new CDOMoveFeatureDeltaImpl(feature, target, source);
InternalCDORevision revision = getRevisionForWriting(cdoObject, delta);
- Object result = revision.move(cdoFeature, target, source);
+ Object result = revision.move(feature, target, source);
- result = convertToEMF(cdoObject.cdoView(), eObject, revision, eFeature, cdoFeature, EStore.NO_INDEX, result);
+ result = convertToEMF(cdoObject.cdoView(), eObject, revision, feature, EStore.NO_INDEX, result);
return result;
}
@@ -535,44 +526,43 @@ public final class CDOStore implements EStore
/**
* @since 2.0
*/
- public Object resolveProxy(InternalCDORevision revision, CDOFeature cdoFeature, int index, Object value)
+ public Object resolveProxy(InternalCDORevision revision, EStructuralFeature feature, int index, Object value)
{
if (value instanceof CDOElementProxy)
{
- value = ((CDOElementProxy)value)
- .resolve(getView().getSession().getRevisionManager(), revision, cdoFeature, index);
+ value = ((CDOElementProxy)value).resolve(getView().getSession().getRevisionManager(), revision, feature, index);
}
return value;
}
- private CDOFeature getCDOFeature(InternalCDOObject cdoObject, EStructuralFeature eFeature)
- {
- synchronized (lock)
- {
- if (eFeature == lastLookupEFeature)
- {
- return lastLookupCDOFeature;
- }
- }
-
- InternalCDOView view = cdoObject.cdoView();
- if (view == null)
- {
- throw new IllegalStateException("view == null");
- }
-
- CDOSessionPackageManagerImpl packageManager = (CDOSessionPackageManagerImpl)view.getSession().getPackageManager();
- CDOFeature cdoFeature = packageManager.getCDOFeature(eFeature);
-
- synchronized (lock)
- {
- lastLookupEFeature = eFeature;
- lastLookupCDOFeature = cdoFeature;
- }
-
- return cdoFeature;
- }
+ // private EStructuralFeature getEStructuralFeature(InternalCDOObject cdoObject, EStructuralFeature feature)
+ // {
+ // synchronized (lock)
+ // {
+ // if (feature == lastLookupEFeature)
+ // {
+ // return lastLookupEStructuralFeature;
+ // }
+ // }
+ //
+ // InternalCDOView view = cdoObject.cdoView();
+ // if (view == null)
+ // {
+ // throw new IllegalStateException("view == null");
+ // }
+ //
+ // CDOSessionPackageManagerImpl packageManager = (CDOSessionPackageManagerImpl)view.getSession().getPackageManager();
+ // EStructuralFeature feature = packageManager.getEStructuralFeature(feature);
+ //
+ // synchronized (lock)
+ // {
+ // lastLookupEFeature = feature;
+ // lastLookupEStructuralFeature = feature;
+ // }
+ //
+ // return feature;
+ // }
private static InternalCDORevision getRevisionForReading(InternalCDOObject cdoObject)
{

Back to the top