private void addClusterToLbConfig(final String configName, final String clusterName)
throws CommandException {
LbConfig lbConfig = lbconfigs.getLbConfig(configName);
ClusterRef cRef = lbConfig.getRefByRef(ClusterRef.class, clusterName);
if (cRef != null) {
String msg = localStrings.getLocalString("LBClusterRefExists",
"LB config already contains a cluster-ref for target {0}", target);
throw new CommandException(msg);
}
try {
ConfigSupport.apply(new SingleConfigCode<LbConfig>() {
@Override
public Object run(LbConfig param) throws PropertyVetoException, TransactionFailure {
ClusterRef ref = param.createChild(ClusterRef.class);
ref.setRef(clusterName);
if(lbpolicy != null) {
ref.setLbPolicy(lbpolicy);
}
if(lbpolicymodule != null) {
ref.setLbPolicyModule(lbpolicymodule);
}
param.getClusterRefOrServerRef().add(ref);
return Boolean.TRUE;
}
}, lbConfig);