{
isGraphConformant = false;
loopError = true;
for(int i = 0; i < loopNodes.length; i++)
{
Activity act = (Activity)activities.get(loopNodes[i]);
XMLValidationError verr = new XMLValidationError("ERROR", "CONFORMANCE", "ERROR_LOOP_CONTAINED_ACTIVITY_IN_LOOP_BLOCKED_MODE", "", act);
existingErrors.add(verr);
}
}
} else
{
loopError = gc.isGraphCyclic();
if(loopError)
{
isGraphConformant = false;
XMLValidationError verr = new XMLValidationError("ERROR", "CONFORMANCE", "ERROR_CYCLIC_GRAPH_IN_LOOP_BLOCKED_MODE", "", wpOrAs);
existingErrors.add(verr);
}
}
}
if(ct == 2 && (isGraphConformant || fullCheck))
{
if(XMLUtil.getStartingActivities(wpOrAs).size() != 1)
{
isGraphConformant = false;
XMLValidationError verr = new XMLValidationError("ERROR", "CONFORMANCE", "ERROR_MULTIPLE_STARTING_ACTIVITIES_IN_FULL_BLOCKED_MODE", "", wpOrAs);
existingErrors.add(verr);
}
if((isGraphConformant || fullCheck) && XMLUtil.getEndingActivities(wpOrAs).size() != 1)
{
isGraphConformant = false;
XMLValidationError verr = new XMLValidationError("ERROR", "CONFORMANCE", "ERROR_MULTIPLE_ENDING_ACTIVITIES_IN_FULL_BLOCKED_MODE", "", wpOrAs);
existingErrors.add(verr);
}
boolean smerr = false;
if((isGraphConformant || fullCheck) && splitActs.size() != joinActs.size())
{
if(splitActs.size() > joinActs.size())
{
XMLValidationError verr = new XMLValidationError("ERROR", "CONFORMANCE", "ERROR_SPLIT_JOIN_MISSMATCH_IN_FULL_BLOCKED_MODE_MORE_SPLITS", "", wpOrAs);
existingErrors.add(verr);
} else
{
XMLValidationError verr = new XMLValidationError("ERROR", "CONFORMANCE", "ERROR_SPLIT_JOIN_MISSMATCH_IN_FULL_BLOCKED_MODE_MORE_JOINS", "", wpOrAs);
existingErrors.add(verr);
}
isGraphConformant = false;
smerr = true;
}
if((isGraphConformant || fullCheck) && !smerr && getNoOfANDSplitsOrJoins(splitActs, 0) != getNoOfANDSplitsOrJoins(joinActs, 1))
{
XMLValidationError verr = new XMLValidationError("ERROR", "CONFORMANCE", "ERROR_SPLIT_JOIN_MISSMATCH_IN_FULL_BLOCKED_MODE_DIFFERENT_TYPES", "", wpOrAs);
existingErrors.add(verr);
isGraphConformant = false;
}
if(isGraphConformant || fullCheck)
{
Iterator it = splitActs.iterator();
label0:
do
{
Activity act;
XMLValidationError verr;
label1:
do
{
label2:
do
{
do
{
if(!it.hasNext())
break label2;
act = (Activity)it.next();
if(!XMLUtil.isANDTypeSplitOrJoin(act, 0))
continue label1;
} while(checkANDSplit(act));
isGraphConformant = false;
verr = new XMLValidationError("ERROR", "CONFORMANCE", "ERROR_CONDITIONAL_TRANSITION_FOR_AND_SPLIT_IN_FULL_BLOCKED_MODE", "", act);
existingErrors.add(verr);
} while(fullCheck);
break label0;
} while(checkXORSplit(act));
isGraphConformant = false;
verr = new XMLValidationError("ERROR", "CONFORMANCE", "ERROR_NO_OTHERWISE_TRANSITION_FOR_XOR_SPLIT_IN_FULL_BLOCKED_MODE", "", act);
existingErrors.add(verr);
} while(fullCheck);
it = noSplitActs.iterator();
label3:
do
{
Activity act;
do
{
if(!it.hasNext())
break label3;
act = (Activity)it.next();
} while(checkXORSplit(act));
isGraphConformant = false;
XMLValidationError verr = new XMLValidationError("ERROR", "CONFORMANCE", "ERROR_NO_OTHERWISE_TRANSITION_FOR_XOR_SPLIT_IN_FULL_BLOCKED_MODE", "", act);
existingErrors.add(verr);
} while(fullCheck);
}
if(isGraphConformant || fullCheck)
{
Iterator it = splitActs.iterator();
label4:
do
{
Activity act;
int ji;
label5:
do
{
label6: