private ScaleDownConfiguration parseScaleDownConfig(Element policyNode) { NodeList scaleDownNode = policyNode.getElementsByTagName("scale-down"); if (scaleDownNode.getLength() > 0) { ScaleDownConfiguration scaleDownConfiguration = new ScaleDownConfiguration(); Element scaleDownElement = (Element) scaleDownNode.item(0); scaleDownConfiguration.setEnabled(getBoolean(scaleDownElement, "enabled", scaleDownConfiguration.isEnabled())); NodeList discoveryGroupRef = scaleDownElement.getElementsByTagName("discovery-group-ref"); if (discoveryGroupRef.item(0) != null) { scaleDownConfiguration.setDiscoveryGroup(discoveryGroupRef.item(0).getAttributes().getNamedItem("discovery-group-name").getNodeValue()); } String scaleDownGroupName = getString(scaleDownElement, "group-name", scaleDownConfiguration.getGroupName(), Validators.NO_CHECK); scaleDownConfiguration.setGroupName(scaleDownGroupName); NodeList scaleDownConnectorNode = scaleDownElement.getElementsByTagName("connectors"); if (scaleDownConnectorNode != null && scaleDownConnectorNode.getLength() > 0) { NodeList scaleDownConnectors = scaleDownConnectorNode.item(0).getChildNodes(); for (int i = 0; i < scaleDownConnectors.getLength(); i++) { Node child = scaleDownConnectors.item(i); if (child.getNodeName().equals("connector-ref")) { String connectorName = getTrimmedTextContent(child); scaleDownConfiguration.getConnectors().add(connectorName); } } } return scaleDownConfiguration; } return null; }
static ScaleDownConfiguration addScaleDownConfiguration(OperationContext context, ModelNode model) throws OperationFailedException { if (!model.hasDefined(SCALE_DOWN.getName())) { return null; } ScaleDownConfiguration scaleDownConfiguration = new ScaleDownConfiguration(); scaleDownConfiguration.setEnabled(SCALE_DOWN.resolveModelAttribute(context, model).asBoolean()); ModelNode clusterName = SCALE_DOWN_CLUSTER_NAME.resolveModelAttribute(context, model); if (clusterName.isDefined()) { scaleDownConfiguration.setClusterName(clusterName.asString()); } ModelNode groupName = SCALE_DOWN_GROUP_NAME.resolveModelAttribute(context, model); if (groupName.isDefined()) { scaleDownConfiguration.setGroupName(groupName.asString()); } ModelNode discoveryGroupName = SCALE_DOWN_DISCOVERY_GROUP.resolveModelAttribute(context, model); if (discoveryGroupName.isDefined()) { scaleDownConfiguration.setDiscoveryGroup(discoveryGroupName.asString()); } ModelNode connectors = SCALE_DOWN_CONNECTORS.resolveModelAttribute(context, model); if (connectors.isDefined()) { List<String> connectorNames = new ArrayList<>(connectors.keys()); scaleDownConfiguration.setConnectors(connectorNames); } return scaleDownConfiguration; } }
static ScaleDownConfiguration addScaleDownConfiguration(OperationContext context, ModelNode model) throws OperationFailedException { if (!model.hasDefined(SCALE_DOWN.getName())) { return null; } ScaleDownConfiguration scaleDownConfiguration = new ScaleDownConfiguration(); scaleDownConfiguration.setEnabled(SCALE_DOWN.resolveModelAttribute(context, model).asBoolean()); ModelNode clusterName = SCALE_DOWN_CLUSTER_NAME.resolveModelAttribute(context, model); if (clusterName.isDefined()) { scaleDownConfiguration.setClusterName(clusterName.asString()); } ModelNode groupName = SCALE_DOWN_GROUP_NAME.resolveModelAttribute(context, model); if (groupName.isDefined()) { scaleDownConfiguration.setGroupName(groupName.asString()); } ModelNode discoveryGroupName = SCALE_DOWN_DISCOVERY_GROUP.resolveModelAttribute(context, model); if (discoveryGroupName.isDefined()) { scaleDownConfiguration.setDiscoveryGroup(discoveryGroupName.asString()); } ModelNode connectors = SCALE_DOWN_CONNECTORS.resolveModelAttribute(context, model); if (connectors.isDefined()) { List<String> connectorNames = new ArrayList<>(connectors.keys()); scaleDownConfiguration.setConnectors(connectorNames); } return scaleDownConfiguration; } }