Преглед изворни кода

Updates URI resolving in AbstractSCTResource

Andreas Mülder пре 12 година
родитељ
комит
4890399ce0

+ 1 - 22
plugins/org.yakindu.sct.model.sgraph/src/org/yakindu/sct/model/sgraph/resource/AbstractSCTResource.java

@@ -12,7 +12,6 @@
 package org.yakindu.sct.model.sgraph.resource;
 
 import java.io.StringReader;
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -175,12 +174,7 @@ public abstract class AbstractSCTResource extends GMFResource {
 		if (encoder.isCrossLinkFragment(this, uriFragment)) {
 			Triple<EObject, EReference, INode> triple = encoder.decode(this, uriFragment);
 			List<EObject> linkedObjects = null;
-			if (triple.getSecond().isContainment()) {
-				linkedObjects = resolveLocalXtextFragment(triple.getFirst(), triple.getSecond(), triple.getThird());
-			} else {
-				linkedObjects = linkingService.getLinkedObjects(triple.getFirst(), triple.getSecond(),
-						triple.getThird());
-			}
+			linkedObjects = linkingService.getLinkedObjects(triple.getFirst(), triple.getSecond(), triple.getThird());
 			if (!linkedObjects.isEmpty()) {
 				return linkedObjects.get(0);
 			} else {
@@ -193,21 +187,6 @@ public abstract class AbstractSCTResource extends GMFResource {
 		return super.getEObject(uriFragment);
 	}
 
-	private List<EObject> resolveLocalXtextFragment(EObject container, EReference reference, INode node) {
-		Object value = container.eGet(reference);
-		if (reference.isMany()) {
-			List<?> list = (List<?>) value;
-			List<INode> nodesForFeature = NodeModelUtils.findNodesForFeature(container, reference);
-			int index = nodesForFeature.indexOf(node);
-			if (list.size() > index) {
-				return Collections.singletonList((EObject) list.get(index));
-			}
-		} else if (value instanceof EObject) {
-			return Collections.singletonList((EObject) value);
-		}
-		return Collections.emptyList();
-	}
-
 	@Override
 	public synchronized String getURIFragment(EObject eObject) {
 		if (unloadingContents != null) {