diff --git a/plugins/contracts/org.polarsys.chess.contracts.profile/src/org/polarsys/chess/contracts/profile/chesscontract/util/EntityUtil.java b/plugins/contracts/org.polarsys.chess.contracts.profile/src/org/polarsys/chess/contracts/profile/chesscontract/util/EntityUtil.java index 19d82ffdc8ca3c1b6575827980aeda0334d978ce..942e85a283f8563db987818b8b07050e61cf21f8 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.profile/src/org/polarsys/chess/contracts/profile/chesscontract/util/EntityUtil.java +++ b/plugins/contracts/org.polarsys.chess.contracts.profile/src/org/polarsys/chess/contracts/profile/chesscontract/util/EntityUtil.java @@ -34,6 +34,7 @@ import org.eclipse.uml2.uml.EnumerationLiteral; import org.eclipse.uml2.uml.LiteralString; import org.eclipse.uml2.uml.Port; import org.eclipse.uml2.uml.Property; +import org.eclipse.uml2.uml.StateMachine; import org.eclipse.uml2.uml.Stereotype; import org.eclipse.uml2.uml.Type; //import org.polarsys.chess.contracts.profile.chesscontract.util.ContractEntityUtil; @@ -64,6 +65,8 @@ public class EntityUtil { private static final String MARTE_REAL_TYPE = "MARTE_Library::MARTE_PrimitivesTypes::Real"; private static final String MARTE_INTEGER_TYPE = "MARTE_Library::MARTE_PrimitivesTypes::Integer"; + private static final String FAULTY_STATE_MACHINE = "CHESS::Dependability::ThreatsPropagation"; + //not yet used //private static final String STRING_TYPE = "PrimitiveTypes::String"; //private static final String UNLIMITED_NAT_TYPE = "PrimitiveTypes::UnlimitedNatural"; @@ -390,6 +393,14 @@ public class EntityUtil { return UMLUtil.getAppliedStereotype(umlElement, SYSTEM, false) != null; } + public boolean isFaultyStateMachine(Element umlElement) { + return UMLUtil.getAppliedStereotype(umlElement, FAULTY_STATE_MACHINE, false) != null; + } + + public boolean isNominalStateMachine(Element umlElement) { + return (umlElement instanceof StateMachine)&(UMLUtil.getAppliedStereotype(umlElement, FAULTY_STATE_MACHINE, false) == null); + } + public void saveConstraint(final Constraint constraint, final String text) { TransactionalEditingDomain domain = TransactionUtil.getEditingDomain(constraint);