boolean single = true;
if (nodeGroup.getReferredGroup() != null
&& nodeGroup.isStrictReferred()
&& nodeGroup.instancePerHost() != null) {
NodeGroupCreate referredGroup =
cluster.getNodeGroup(nodeGroup.getReferredGroup());
AuAssert.check(referredGroup != null);
if (referredGroup.instancePerHost() != null) {
/*
* only put strict associated groups which both has instance_per_host
* constraints into one virtual group
*/
single = false;
if (groups.containsKey(referredGroup.getName())) {
groups.get(referredGroup.getName()).addNodeGroup(nodeGroup);
} else {
VirtualGroup vGroup = new VirtualGroup(this.cluster);
vGroup.addNodeGroup(nodeGroup);
vGroup.addNodeGroup(referredGroup);
groups.put(referredGroup.getName(), vGroup);
}
}
}
if (single) {
VirtualGroup vGroup = new VirtualGroup(this.cluster);