/** * Converts a JSIDL pop to a CJSIDL pop transition * * @param pop - a JSIDL pop * @param parentTrans - the parent transition * @return - resulting CJSIDL object */ public static popTransition convert(Pop pop, transition parentTrans) { CjsidlFactoryImpl factory = new CjsidlFactoryImpl(); org.jts.eclipse.cjsidl.popTransition output = factory.createpopTransition(); output.setComment(JSIDLInterpToCJSIDLComment(pop.getInterpretation())); EList<org.jts.eclipse.cjsidl.guardParam> paramlist = output.getParam(); if (pop.getArgument() != null) { java.util.List<org.jts.jsidl.binding.Argument> args = pop.getArgument(); for (org.jts.jsidl.binding.Argument arg : args) { guardParam gp = factory.createguardParam(); if (arg.getValue().contains("'")) { gp.setGuardConst(arg.getValue()); } else { if (parentTrans != null) { gp.setParameter( (transParam) Conversion.referenceHelper.getEObjectFromTransition( arg.getValue(), parentTrans)); } else { Logger.getLogger("CJSIDL").log(Level.SEVERE, "Unexpected parameter found in guard."); } } paramlist.add(gp); } } // need to have the reference set, but the object may not exist yet, so post-process String transName = pop.getTransition(); if (transName != null && !transName.isEmpty()) { DefaultState.secondaryTransitionMap.put(transName, output); } return output; }