public static TransitionDetails transitionDetails(Transition trans) { String condition = ""; TransitionDetails transition = new TransitionDetails(); /// ****** guard condition *********************** EList<Constraint> ownedRules = trans.getOwnedRules(); com.mbe.umlce.dataobjects.stateMachine.Guard guard = new com.mbe.umlce.dataobjects.stateMachine.Guard(); for (Constraint Rule : ownedRules) { ValueSpecification Specifications = Rule.getSpecification(); guard.setName(Rule.getLabel()); OpaqueExpression expr = (OpaqueExpression) Specifications; condition += expr.getBodies().toString(); guard.setBody(removeSquareBrackets(condition)); // condition = expr.getLanguages(); // System.out.println("Condition : "+condition); } transition.setGuard(guard); Effect effect = new Effect(); String methodBody = null; if ((OpaqueBehavior) trans.getEffect() != null) { methodBody = ""; effect.setName(trans.getEffect().getLabel()); // methodBody += ("\nif ( "+removeSquareBrackets(condition)+" ){\n"); methodBody += removeSquareBrackets(((OpaqueBehavior) trans.getEffect()).getBodies().toString()); // System.out.println("Effect : "+methodBody); effect.setBody(methodBody); } // Trigger yet to read// // transition.setEffect(effect); /* TimeEvent timeEvent=null; ChangeEvent changeEvent = null; */ // Triggers reading CallEvent callEvent = null; Operation operation = null; EList<Trigger> trigger = trans.getTriggers(); com.mbe.umlce.dataobjects.stateMachine.Trigger trig = new com.mbe.umlce.dataobjects.stateMachine.Trigger(); for (Trigger triger : trigger) { // System.out.println("Triger : "+triger.getQualifiedName()); // if(triger.getEvent().getName().contains("CallEvent")){ callEvent = (CallEvent) (triger.getEvent()); operation = callEvent.getOperation(); if (operation != null) { // System.out.println("Operation : "+operation.getLabel()); EList<Parameter> parameters = operation.getOwnedParameters(); ArrayList<String> param = new ArrayList<>(); ArrayList<String> paramClass = new ArrayList<>(); for (Parameter pm : parameters) { param.add(pm.getLabel()); paramClass.add(pm.getClass().getName()); // System.out.println("Parameters : "+pm.getLabel()); } trig.setOpName(operation.getLabel()); trig.setOpParameters(param); trig.setParametersClass(paramClass); } } transition.setTrigger(trig); // } return transition; }