Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.workspace.efs/src/org/eclipse/emf/cdo/workspace/internal/efs/CDOWorkspaceStore.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.workspace.efs/src/org/eclipse/emf/cdo/workspace/internal/efs/CDOWorkspaceStore.java26
1 files changed, 14 insertions, 12 deletions
diff --git a/plugins/org.eclipse.emf.cdo.workspace.efs/src/org/eclipse/emf/cdo/workspace/internal/efs/CDOWorkspaceStore.java b/plugins/org.eclipse.emf.cdo.workspace.efs/src/org/eclipse/emf/cdo/workspace/internal/efs/CDOWorkspaceStore.java
index 20445218d3..b426195c93 100644
--- a/plugins/org.eclipse.emf.cdo.workspace.efs/src/org/eclipse/emf/cdo/workspace/internal/efs/CDOWorkspaceStore.java
+++ b/plugins/org.eclipse.emf.cdo.workspace.efs/src/org/eclipse/emf/cdo/workspace/internal/efs/CDOWorkspaceStore.java
@@ -397,21 +397,23 @@ public final class CDOWorkspaceStore extends AbstractResourceNodeStore
else
{
// Single-valued cross reference
- CDOObject cdoValue;
-
- org.eclipse.emf.common.util.URI eProxyURI = ((InternalEObject)xmiValue).eProxyURI();
- if (eProxyURI != null)
+ CDOObject cdoValue = null;
+ if (xmiValue != null)
{
- String href = eProxyURI.fragment();
- cdoValue = getCDOObjectByHREF(href);
- if (cdoValue == null)
+ org.eclipse.emf.common.util.URI eProxyURI = ((InternalEObject)xmiValue).eProxyURI();
+ if (eProxyURI != null)
{
- registerForwardReference(cdoObject, reference, -1, href);
+ String href = eProxyURI.fragment();
+ cdoValue = getCDOObjectByHREF(href);
+ if (cdoValue == null)
+ {
+ registerForwardReference(cdoObject, reference, -1, href);
+ }
+ }
+ else
+ {
+ cdoValue = getCDOObjectByXMIID((EObject)xmiValue);
}
- }
- else
- {
- cdoValue = getCDOObjectByXMIID((EObject)xmiValue);
}
cdoObject.eSet(reference, cdoValue);

Back to the top