Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2012-02-28 15:12:08 +0000
committerHenrik Rentz-Reichert2012-02-28 15:12:08 +0000
commit687c8945f63693ccb1d0120d8096e84c4a5fb9b2 (patch)
tree19ce69da85ef3db6573b4c9d91fd229b0257d706
parent5ad1b73ce81041568bf5b77487db5126cf9b8e1d (diff)
downloadorg.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.java31
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);

Back to the top