Просмотр исходного кода

Removed all code related to linking submachines

Andreas Mülder 13 лет назад
Родитель
Сommit
0b0e12ff21

+ 0 - 51
plugins/org.yakindu.sct.model.sgraph/src/org/yakindu/sct/model/sgraph/resource/AbstractSCTResource.java

@@ -50,11 +50,9 @@ import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
 import org.eclipse.xtext.parser.IParseResult;
 import org.eclipse.xtext.parser.IParser;
 import org.eclipse.xtext.parsetree.reconstr.XtextSerializationException;
-import org.eclipse.xtext.resource.IEObjectDescription;
 import org.eclipse.xtext.resource.XtextSyntaxDiagnostic;
 import org.eclipse.xtext.resource.impl.ListBasedDiagnosticConsumer;
 import org.eclipse.xtext.scoping.IGlobalScopeProvider;
-import org.eclipse.xtext.scoping.IScope;
 import org.eclipse.xtext.serializer.ISerializer;
 import org.eclipse.xtext.util.CancelIndicator;
 import org.eclipse.xtext.util.Triple;
@@ -65,7 +63,6 @@ import org.yakindu.sct.model.sgraph.State;
 import org.yakindu.sct.model.sgraph.Statechart;
 import org.yakindu.sct.model.sgraph.Transition;
 
-import com.google.common.base.Predicates;
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Multimap;
 import com.google.inject.Inject;
@@ -153,14 +150,6 @@ public abstract class AbstractSCTResource extends GMFResource {
 				eObject.eAdapters().add(new SerializeAdapter());
 			}
 		}
-		if (eObject instanceof State) {
-			linkSubStatechart((State) eObject);
-			Adapter linkSubmachineAdapter = EcoreUtil.getExistingAdapter(
-					eObject, LinkSubmachineAdapter.class);
-			if (linkSubmachineAdapter == null) {
-				eObject.eAdapters().add(new LinkSubmachineAdapter());
-			}
-		}
 	}
 
 	@Override
@@ -176,12 +165,6 @@ public abstract class AbstractSCTResource extends GMFResource {
 			if (serializeAdapter != null) {
 				eObject.eAdapters().remove(serializeAdapter);
 			}
-			if (eObject instanceof State) {
-				Adapter linkSubmachineAdapter = EcoreUtil.getExistingAdapter(
-						eObject, LinkSubmachineAdapter.class);
-				eObject.eAdapters().remove(linkSubmachineAdapter);
-			}
-
 		}
 		super.detached(eObject);
 	}
@@ -466,28 +449,6 @@ public abstract class AbstractSCTResource extends GMFResource {
 		}
 	}
 
-	public void linkSubStatechart(State currentState) {
-		Statechart substatechart = getStatechart(currentState,
-				currentState.getSubstatechartId());
-		currentState.setSubstatechart(substatechart);
-	}
-
-	private Statechart getStatechart(EObject context, String substatechartId) {
-		if (substatechartId == null || substatechartId.length() == 0) {
-			return null;
-		}
-		IScope scope = scopeProvider.getScope(context.eResource(),
-				SGraphPackage.Literals.STATE__SUBSTATECHART,
-				Predicates.<IEObjectDescription> alwaysTrue());
-		IEObjectDescription statechartDescription = scope
-				.getSingleElement(nameConverter
-						.toQualifiedName(substatechartId));
-		if (statechartDescription != null) {
-			return (Statechart) statechartDescription.getEObjectOrProxy();
-		}
-		return null;
-	}
-
 	public boolean isSerializerEnabled() {
 		return serializerEnabled;
 	}
@@ -496,18 +457,6 @@ public abstract class AbstractSCTResource extends GMFResource {
 		this.serializerEnabled = serializerEnabled;
 	}
 
-	protected class LinkSubmachineAdapter extends AdapterImpl {
-		@Override
-		public void notifyChanged(Notification msg) {
-			if (msg.getFeature() == SGraphPackage.eINSTANCE
-					.getState_SubstatechartId()) {
-				linkSubStatechart((State) msg.getNotifier());
-
-			}
-			super.notifyChanged(msg);
-		}
-	}
-
 	// copied from xtext LazyLinkingResource
 	protected static class DiagnosticMessageContext implements
 			ILinkingDiagnosticMessageProvider.ILinkingDiagnosticContext {

+ 0 - 22
plugins/org.yakindu.sct.model.sgraph/src/org/yakindu/sct/model/sgraph/validation/SGraphJavaValidator.java

@@ -21,10 +21,8 @@ import org.yakindu.sct.model.sgraph.Choice;
 import org.yakindu.sct.model.sgraph.Entry;
 import org.yakindu.sct.model.sgraph.EntryKind;
 import org.yakindu.sct.model.sgraph.FinalState;
-import org.yakindu.sct.model.sgraph.Statechart;
 import org.yakindu.sct.model.sgraph.Transition;
 import org.yakindu.sct.model.sgraph.Vertex;
-import org.yakindu.sct.model.sgraph.resource.AbstractSCTResource;
 
 import com.google.inject.Inject;
 
@@ -93,26 +91,6 @@ public class SGraphJavaValidator extends AbstractDeclarativeValidator {
 		}
 	}
 
-	@Check(CheckType.FAST)
-	public void checkUnresolvableSubmachine(
-			org.yakindu.sct.model.sgraph.State state) {
-		if (state.getSubstatechartId() == null)
-			return;
-		AbstractSCTResource eResource = (AbstractSCTResource) state.eResource();
-		eResource.linkSubStatechart(state);
-		Statechart substatechart = state.getSubstatechart();
-		if (substatechart == null) {
-			error(String.format(ISSUE_SUBMACHINE_UNRESOLVABLE,
-					state.getSubstatechartId()), null);
-		} else if (substatechart.eIsProxy()) {
-			substatechart = (Statechart) EcoreUtil
-					.resolve(substatechart, state);
-			if (substatechart.eIsProxy()) {
-				error(String.format(ISSUE_SUBMACHINE_UNRESOLVABLE,
-						state.getSubstatechartId()), null);
-			}
-		}
-	}
 
 	@Check(CheckType.FAST)
 	public void outgoingTransitionCount(FinalState finalState) {

+ 27 - 29
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/propertysheets/StatePropertySection.java

@@ -18,8 +18,6 @@ import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
 import org.eclipse.emf.databinding.EMFDataBindingContext;
 import org.eclipse.emf.databinding.IEMFValueProperty;
 import org.eclipse.emf.databinding.edit.EMFEditProperties;
@@ -65,7 +63,7 @@ public class StatePropertySection extends
 	private Control txtName;
 	private Text txtDoc;
 
-	private UpdateLabelAdapter updateLabelAdapter = new UpdateLabelAdapter();
+	//private UpdateLabelAdapter updateLabelAdapter = new UpdateLabelAdapter();
 	private OrderElementControl orderElementControl;
 
 	@Override
@@ -83,7 +81,7 @@ public class StatePropertySection extends
 	protected void createRightColumnControls(Composite rightColumn) {
 		createDocumentationControl(rightColumn);
 		createTransitionsControl(rightColumn);
-		createSubmachineControl(rightColumn);
+		//createSubmachineControl(rightColumn);
 	}
 
 	protected void createNameControl(final Composite parent) {
@@ -156,10 +154,10 @@ public class StatePropertySection extends
 		bindSpecificationControl(context);
 		bindDocumentationControl(context);
 		orderElementControl.refreshInput();
-		updateLabel();
+		//updateLabel();
 	}
 
-	private void bindDocumentationControl(EMFDataBindingContext context) {
+	protected void bindDocumentationControl(EMFDataBindingContext context) {
 		IEMFValueProperty property = EMFEditProperties.value(
 				TransactionUtil.getEditingDomain(eObject),
 				BasePackage.Literals.DOCUMENTED_ELEMENT__DOCUMENTATION);
@@ -199,7 +197,7 @@ public class StatePropertySection extends
 		context.bindValue(nameTextProperty, nameProperty.observe(eObject));
 	}
 
-	private void updateLabel() {
+	protected void updateLabel() {
 		String substatechartId = getState().getSubstatechartId();
 		if (substatechartId != null) {
 			lblSubmachine.setText(substatechartId);
@@ -208,21 +206,21 @@ public class StatePropertySection extends
 		}
 	}
 
-	@Override
-	protected void setEObject(EObject object) {
-		if (getEObject() != null)
-			getEObject().eAdapters().remove(updateLabelAdapter);
-		super.setEObject(object);
-		getEObject().eAdapters().add(updateLabelAdapter);
-	}
+//	@Override
+//	protected void setEObject(EObject object) {
+//		if (getEObject() != null)
+//			getEObject().eAdapters().remove(updateLabelAdapter);
+//		super.setEObject(object);
+//		getEObject().eAdapters().add(updateLabelAdapter);
+//	}
 
-	@Override
-	public void dispose() {
-		if (getEObject() != null) {
-			getEObject().eAdapters().remove(updateLabelAdapter);
-		}
-		super.dispose();
-	}
+//	@Override
+//	public void dispose() {
+//		if (getEObject() != null) {
+//			getEObject().eAdapters().remove(updateLabelAdapter);
+//		}
+//		super.dispose();
+//	}
 
 	@Override
 	public EObject getEObject() {
@@ -261,12 +259,12 @@ public class StatePropertySection extends
 		}
 	}
 
-	protected final class UpdateLabelAdapter extends AdapterImpl {
-		@Override
-		public void notifyChanged(Notification msg) {
-			if (msg.getFeature() == SGraphPackage.Literals.STATE__SUBSTATECHART_ID) {
-				updateLabel();
-			}
-		}
-	}
+//	protected final class UpdateLabelAdapter extends AdapterImpl {
+//		@Override
+//		public void notifyChanged(Notification msg) {
+//			if (msg.getFeature() == SGraphPackage.Literals.STATE__SUBSTATECHART_ID) {
+//				updateLabel();
+//			}
+//		}
+//	}
 }

+ 0 - 17
test-plugins/org.yakindu.sct.model.sgraph.test/src/org/yakindu/sct/model/sgraph/test/SGraphJavaValidationTest.java

@@ -24,7 +24,6 @@ import static org.yakindu.sct.model.sgraph.validation.SGraphJavaValidator.ISSUE_
 import static org.yakindu.sct.model.sgraph.validation.SGraphJavaValidator.ISSUE_NODE_NOT_REACHABLE;
 import static org.yakindu.sct.model.sgraph.validation.SGraphJavaValidator.ISSUE_STATE_WITHOUT_NAME;
 import static org.yakindu.sct.model.sgraph.validation.SGraphJavaValidator.ISSUE_STATE_WITHOUT_OUTGOING_TRANSITION;
-import static org.yakindu.sct.model.sgraph.validation.SGraphJavaValidator.ISSUE_SUBMACHINE_UNRESOLVABLE;
 
 import java.lang.reflect.Method;
 import java.util.HashMap;
@@ -35,7 +34,6 @@ import org.eclipse.xtext.junit4.InjectWith;
 import org.eclipse.xtext.junit4.XtextRunner;
 import org.eclipse.xtext.validation.Check;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.yakindu.sct.model.sgraph.Choice;
@@ -361,21 +359,6 @@ public class SGraphJavaValidationTest {
 		assertError(diagnostics, ISSUE_CHOICE_WITHOUT_OUTGOING_TRANSITION);
 	}
 
-	@Test
-	@Ignore("This does not work since the AbstractSCTResource does the linking of submachines. TODO: Create fake resource here...")
-	public void checkUnresolvableSubmachine() {
-		prepareStateTest();
-		Entry entry = factory.createEntry();
-		createTransition(entry, state);
-		state.setSubstatechartId("doesnotexist");
-		assertFalse(validator.validate(state, diagnostics,
-				new HashMap<Object, Object>()));
-		assertIssueCount(diagnostics, 1);
-		assertError(diagnostics,
-				String.format(ISSUE_SUBMACHINE_UNRESOLVABLE, "doesnotexist"));
-
-	}
-
 	/**
 	 * checks tht each @Check method of {@link STextJavaValidator} has a @Test
 	 * method in this class with the same name