final Map<String, String> groupMetaArgs = new LinkedHashMap<String, String>();
for (final String param : params) {
if (GUI_ID.equals(param) || PCMK_ID.equals(param)) {
continue;
}
final Value value = getComboBoxValue(param);
if (Tools.areEqual(value, getParamDefault(param))) {
continue;
}
if (!value.isNothingSelected()) {
if (CrmXml.GROUP_ORDERED_META_ATTR.equals(param)) {
groupMetaArgs.put("ordered", value.getValueForConfig());
} else {
groupMetaArgs.put(param, value.getValueForConfig());
}
}
}
final Map<String, Map<String, String>> pacemakerResAttrs = new HashMap<String, Map<String, String>>();
final Map<String, Map<String, String>> pacemakerResArgs = new HashMap<String, Map<String, String>>();
final Map<String, Map<String, String>> pacemakerMetaArgs = new HashMap<String, Map<String, String>>();
final Map<String, String> instanceAttrId = new HashMap<String, String>();
final Map<String, Map<String, String>> nvpairIdsHash = new HashMap<String, Map<String, String>>();
final Map<String, Map<String, Map<String, String>>> pacemakerOps =
new HashMap<String, Map<String, Map<String, String>>>();
final Map<String, String> operationsId = new HashMap<String, String>();
final Map<String, String> metaAttrsRefId = new HashMap<String, String>();
final Map<String, String> operationsRefId = new HashMap<String, String>();
final Map<String, Boolean> stonith = new HashMap<String, Boolean>();
final ClusterStatus cs = getBrowser().getClusterStatus();
for (final String resId : newOrder) {
final ServiceInfo gsi = getBrowser().getServiceInfoFromCRMId(resId);
if (gsi == null) {
continue;
}
application.invokeAndWait(new Runnable() {
@Override
public void run() {
gsi.getInfoPanel();
}
});
}
application.waitForSwing();
for (final String resId : newOrder) {
final ServiceInfo gsi = getBrowser().getServiceInfoFromCRMId(resId);
if (gsi == null) {
continue;
}
pacemakerResAttrs.put(resId, gsi.getPacemakerResAttrs(runMode));
pacemakerResArgs.put(resId, gsi.getPacemakerResArgs());
pacemakerMetaArgs.put(resId, gsi.getPacemakerMetaArgs());
instanceAttrId.put(resId, cs.getResourceInstanceAttrId(resId));
nvpairIdsHash.put(resId, cs.getParametersNvpairsIds(resId));
pacemakerOps.put(resId, gsi.getOperations(resId));
operationsId.put(resId, cs.getOperationsId(resId));
metaAttrsRefId.put(resId, gsi.getMetaAttrsRefId());
operationsRefId.put(resId, gsi.getOperationsRefId());
stonith.put(resId, gsi.getResourceAgent().isStonith());
}
final CloneInfo ci = getCloneInfo();
String cloneId = null;
boolean master = false;
final Map<String, String> cloneMetaArgs = new LinkedHashMap<String, String>();
String cloneMetaAttrsRefIds = null;
if (createGroup && ci != null) {
cloneId = ci.getHeartbeatId(runMode);
final String[] cloneParams = ci.getParametersFromXML();
master = ci.getService().isMaster();
cloneMetaAttrsRefIds = ci.getMetaAttrsRefId();
for (final String param : cloneParams) {
if (GUI_ID.equals(param) || PCMK_ID.equals(param)) {
continue;
}
final Value value = ci.getComboBoxValue(param);
if (Tools.areEqual(value, ci.getParamDefault(param))) {
continue;
}
if (!GUI_ID.equals(param) && !value.isNothingSelected()) {
cloneMetaArgs.put(param, value.getValueForConfig());
}
}
}
CRM.replaceGroup(createGroup,
dcHost,