}
public static boolean checkGroupConstraint(GroupConstraint gc , ConstraintModel cm , ConstraintModelEditor cme , DrawingView dv
, CustomizationVersion cv
, HashMap<String,Figure> mFigure) {
Predicate pred = PredicateHelper.getPredicateByGroupConstraintType(gc.getType());
PredicateHelper.fillPredicate(gc.getFeatureSet() , gc , cm, cv , pred);
if (gc.getType().equals(GroupConstraintType.SingleGroup)) {
if (pred.getSelectedCount()==0) {
if (pred.getUndecidedCount()==0) {
removeGroupConstraint(gc , cm , cme , dv , mFigure);
return true;
} else {
removeGroupConstraintRelations(gc , cm , cme , dv , mFigure , cv);
return true;
}
} else if (pred.getSelectedCount()==1) {
if (pred.getUndecidedCount()==0) {
removeGroupConstraint(gc , cm , cme , dv , mFigure);
return true;
} else {
return false; //CheckResult.crFlood;
}
} else {
return false; //CheckResult.crError;
}
} else if (gc.getType().equals(GroupConstraintType.AllGroup)) {
if (pred.getSelectedCount()==0) {
if (pred.getUnselectedCount()==0) {
removeGroupConstraintRelations(gc , cm , cme , dv , mFigure , cv);
return true;
} else {
if (pred.getUndecidedCount()==0) {
removeGroupConstraint(gc , cm , cme , dv , mFigure);
return true;
} else {
return false; //CheckResult.crFlood;
}
}
} else {
if (pred.getUnselectedCount()==0) {
if (pred.getUndecidedCount()==0) {
removeGroupConstraint(gc , cm , cme , dv , mFigure);
return true;
} else {
return false; //CheckResult.crFlood;
}
} else {
return false; //CheckResult.crError;
}
}
} else {
if (pred.getUndecidedCount()==0) {
removeGroupConstraint(gc , cm , cme , dv , mFigure);
return true;
} else {
removeGroupConstraintRelations(gc , cm , cme , dv , mFigure , cv);
return true;