diff options
author | Henrik Rentz-Reichert | 2012-02-28 15:12:08 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2012-02-28 15:12:08 +0000 |
commit | 687c8945f63693ccb1d0120d8096e84c4a5fb9b2 (patch) | |
tree | 19ce69da85ef3db6573b4c9d91fd229b0257d706 | |
parent | 5ad1b73ce81041568bf5b77487db5126cf9b8e1d (diff) | |
download | org.eclipse.etrice-687c8945f63693ccb1d0120d8096e84c4a5fb9b2.tar.gz org.eclipse.etrice-687c8945f63693ccb1d0120d8096e84c4a5fb9b2.tar.xz org.eclipse.etrice-687c8945f63693ccb1d0120d8096e84c4a5fb9b2.zip |
[core.room] added more validation methods
-rw-r--r-- | plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/ValidationUtil.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/ValidationUtil.java b/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/ValidationUtil.java index bb1123e44..5437467fb 100644 --- a/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/ValidationUtil.java +++ b/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/ValidationUtil.java @@ -13,10 +13,13 @@ package org.eclipse.etrice.core.validation;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Set;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.etrice.core.room.ActorClass;
import org.eclipse.etrice.core.room.ActorCommunicationType;
import org.eclipse.etrice.core.room.ActorContainerClass;
@@ -36,6 +39,7 @@ import org.eclipse.etrice.core.room.GuardedTransition; import org.eclipse.etrice.core.room.InitialTransition;
import org.eclipse.etrice.core.room.InterfaceItem;
import org.eclipse.etrice.core.room.LayerConnection;
+import org.eclipse.etrice.core.room.MessageFromIf;
import org.eclipse.etrice.core.room.NonInitialTransition;
import org.eclipse.etrice.core.room.Port;
import org.eclipse.etrice.core.room.ProtocolClass;
@@ -43,6 +47,7 @@ import org.eclipse.etrice.core.room.RefSAPoint; import org.eclipse.etrice.core.room.RelaySAPoint;
import org.eclipse.etrice.core.room.RoomPackage;
import org.eclipse.etrice.core.room.SPPRef;
+import org.eclipse.etrice.core.room.SPPoint;
import org.eclipse.etrice.core.room.ServiceImplementation;
import org.eclipse.etrice.core.room.State;
import org.eclipse.etrice.core.room.StateGraph;
@@ -345,6 +350,18 @@ public class ValidationUtil { return Result.ok();
}
+ public static boolean isReferencedInModel(Port port) {
+ Collection<Setting> refs = EcoreUtil.UsageCrossReferencer.find(port, port.eResource().getResourceSet());
+ for (Setting ref : refs) {
+ if (ref.getEObject() instanceof BindingEndPoint)
+ return true;
+ else if (ref.getEObject() instanceof MessageFromIf)
+ return true;
+ }
+
+ return false;
+ }
+
public static boolean isConnected(Port port, ActorContainerRef ref, StructureClass sc) {
return isConnected(port, ref, sc, null);
}
@@ -447,6 +464,20 @@ public class ValidationUtil { return true;
}
+
+ public static boolean isReferencedInModel(SPPRef spp) {
+ Collection<Setting> refs = EcoreUtil.UsageCrossReferencer.find(spp, spp.eResource().getResourceSet());
+ for (Setting ref : refs) {
+ if (ref.getEObject() instanceof ServiceImplementation)
+ return true;
+ else if (ref.getEObject() instanceof RelaySAPoint)
+ return true;
+ else if (ref.getEObject() instanceof SPPoint)
+ return true;
+ }
+
+ return false;
+ }
public static boolean isConnectedSrc(SPPRef src, StructureClass sc) {
return isConnectedSrc(src, sc, null);
|