TCGNode in_oTCGNode,
Operation in_oOperation,
org.eclipse.uml2.uml.Class in_oContextClass)
{
ArrayList<TCGNode> colNodes = new ArrayList<TCGNode>();
TCGOCLExpression oTCGOCLExp = TransformOCLToTCGOCL.transformExpression(
in_oExpression, Configuration.getOCLPostId(), in_oContextClass);
TCGDisjunctiveNormalForm oDNF = ExpressionConverter.createDisjunctiveNormalForm(oTCGOCLExp);
for(TCGConjunction oConjunction : oDNF.getConjunctions())
{
TCGTransition oTransition = createTCGPart(in_oTCGNode, in_oOperation.getName());
if(oTransition != null)
{
// remember original expression
oTransition.getTargetNode().setOriginalExpression(in_oExpression);
TCGEvent oTCGEvent = findTriggeringEvent(oTransition);
boolean bResult = true;
for(TCGOCLExpression oExpression : oConjunction.getExpressions())
{
adaptTCGOCLExpression(oExpression, oTransition, null, in_oContextClass);
referToEvent(oTCGEvent, oExpression);
if(oTransition.getPostcondition().getConjunctions().isEmpty())
oTransition.getPostcondition().getConjunctions().add(
GeneratedFactory.eINSTANCE.createTCGConjunction());
oTransition.getPostcondition().getConjunctions().get(0).getExpressions().add(oExpression);
// if this postcondition contains no dependent elements -> then adapt the domain!
TCGOCLVariableClassificator oClassificator = new TCGOCLVariableClassificator(oExpression);
TCGOCLExpression oActiveDependentExpression = oClassificator.getClassifiedElementInExpression(VariableClassification.ACTIVE_DEPENDENT);
// TCGOCLExpression oPassiveDependentExpression = oClassificator.getClassifiedElementInExpression(VariableClassification.PASSIVE_DEPENDENT);
if(oActiveDependentExpression == null)
{
// if(oPassiveDependentExpression == null) // just constants and input parameters
// {