static String getAuthenticationCacheType(ModelNode node) { String type = null; if (node.hasDefined(CACHE_TYPE)) { type = node.get(CACHE_TYPE).asString(); } return type; } }
@Override public TransformedOperation transformOperation(TransformationContext context, PathAddress address, ModelNode operation) { if (operation != null && !(operation.hasDefined(OPERATION_HEADERS) && operation.get(OPERATION_HEADERS, "push-to-servers").asBoolean(false)) ){ operation = operation.clone(); String statefulCache = operation.get(DEFAULT_SFSB_CACHE).asString(); String statefulPassivationDisabledCache = operation.get(DEFAULT_SFSB_PASSIVATION_DISABLED_CACHE).asString(); operation.get(DEFAULT_SFSB_CACHE).set(statefulPassivationDisabledCache); operation.get(EJB3SubsystemModel.DEFAULT_CLUSTERED_SFSB_CACHE).set(statefulCache); operation.remove(DEFAULT_SFSB_PASSIVATION_DISABLED_CACHE); } return new TransformedOperation(operation, OperationResultTransformer.ORIGINAL_RESULT); } }
private void parseJts(final XMLExtendedStreamReader reader, final ModelNode operation) throws XMLStreamException { // no attributes if (reader.getAttributeCount() > 0) { throw unexpectedAttribute(reader, 0); } operation.get(CommonAttributes.JTS).set(true); requireNoContent(reader); }
/** * Returns the attribute value of the specified operation * @param operation an operation * @return an attribute value */ public static ModelNode getAttributeValue(ModelNode operation) { return operation.hasDefined(ModelDescriptionConstants.VALUE) ? operation.get(ModelDescriptionConstants.VALUE) : new ModelNode(); }
private ModelNode getNoTextValueTypeDescription(final ModelNode parent) { final ModelNode valueType = parent.get(VALUE_TYPE); final ModelNode code = valueType.get(CODE); code.get(DESCRIPTION); // placeholder code.get(TYPE).set(ModelType.STRING); code.get(NILLABLE).set(false); code.get(MIN_LENGTH).set(1); final ModelNode flag = valueType.get(Constants.FLAG); flag.get(DESCRIPTION); // placeholder flag.get(TYPE).set(ModelType.STRING); flag.get(NILLABLE).set(false); for (ModuleFlag value : ModuleFlag.values()) { flag.get(ALLOWED).add(value.toString()); } final ModelNode module = valueType.get(Constants.MODULE); module.get(TYPE).set(ModelType.STRING); module.get(NILLABLE).set(true); final ModelNode moduleOptions = valueType.get(Constants.MODULE_OPTIONS); moduleOptions.get(DESCRIPTION); // placeholder moduleOptions.get(TYPE).set(ModelType.OBJECT); moduleOptions.get(VALUE_TYPE).set(ModelType.STRING); moduleOptions.get(NILLABLE).set(true); return valueType; } }
@Override public ModelNode transformOperation(ModelNode operation) { if (operation.get(NAME).asString().equals(PROPERTIES)) { String key = operation.get("key").asString(); PathAddress address = Operations.getPathAddress(operation); ModelNode transformedOperation = Util.createOperation(READ_ATTRIBUTE_OPERATION, address.append(PathElement.pathElement(PROPERTY, key))); transformedOperation.get(NAME).set(VALUE); return transformedOperation; } return operation; } }
LegacyAddOperationTransformation(String... legacyProperties) { // If any of the specified properties are defined, then this is a legacy operation this.legacy = operation -> { if (!operation.hasDefined(Attribute.PROPERTIES.getName())) return false; for (String legacyProperty : legacyProperties) { if (operation.get(Attribute.PROPERTIES.getName()).hasDefined(legacyProperty)) return true; } return false; }; }
/** * Creates a composite operation using the specified operation steps. * @param operations steps * @return a composite operation */ public static ModelNode createCompositeOperation(List<ModelNode> operations) { ModelNode operation = Util.createOperation(ModelDescriptionConstants.COMPOSITE, PathAddress.EMPTY_ADDRESS); ModelNode steps = operation.get(ModelDescriptionConstants.STEPS); for (ModelNode step: operations) { steps.add(step); } return operation; }
/** * {@inheritDoc} */ @Override public void readElement(final XMLExtendedStreamReader reader, final List<ModelNode> list) throws XMLStreamException { // Require no content ParseUtils.requireNoContent(reader); final ModelNode subsystem = new ModelNode(); subsystem.get(OP).set(ADD); subsystem.get(OP_ADDR).add(SUBSYSTEM, SUBSYSTEM_NAME); list.add(subsystem); }
@Override public TransformedOperation transformOperation(TransformationContext context, PathAddress address, ModelNode operation) { if (operation != null && !(operation.hasDefined(OPERATION_HEADERS) && operation.get(OPERATION_HEADERS, "push-to-servers").asBoolean(false)) ){ String originalAttribute = Operations.getAttributeName(operation); if (renames.containsKey(originalAttribute)){ operation = operation.clone(); operation.get(NAME).set(renames.get(originalAttribute)); } } return new TransformedOperation(operation, OperationResultTransformer.ORIGINAL_RESULT); }
@Override public Map<String, ModelNode> getChildTypeOverrideDescriptions(Locale locale) { final ResourceBundle bundle = getResourceBundle(locale); Map<String, ModelNode> children = new HashMap<String, ModelNode>(); ModelNode node = new ModelNode(); node.get(DESCRIPTION).set(bundle.getString("statistics")); children.put(STATISTICS, node); return children; } };
private static void reportFailure(final ModelNode node) { if (!node.get(ClientConstants.OUTCOME).asString().equals(ClientConstants.SUCCESS)) { final String msg; if (node.hasDefined(ClientConstants.FAILURE_DESCRIPTION)) { if (node.hasDefined(ClientConstants.OP)) { msg = String.format("Operation '%s' at address '%s' failed: %s", node.get(ClientConstants.OP), node.get(ClientConstants.OP_ADDR), node.get(ClientConstants.FAILURE_DESCRIPTION)); } else { msg = String.format("Operation failed: %s", node.get(ClientConstants.FAILURE_DESCRIPTION)); } } else { msg = String.format("Operation failed: %s", node); } throw new RuntimeException(msg); } } }
@Override protected void revertUpdateToRuntime(OperationContext context, ModelNode operation, String attributeName, ModelNode valueToRestore, ModelNode valueToRevert, Void handback) throws OperationFailedException { final ModelNode restored = context.readResource(PathAddress.EMPTY_ADDRESS).getModel().clone(); restored.get(attributeName).set(valueToRestore); updateCacheService(context, restored); }
protected void parseJts(final XMLExtendedStreamReader reader, final ModelNode operation) throws XMLStreamException { // no attributes if (reader.getAttributeCount() > 0) { throw unexpectedAttribute(reader, 0); } operation.get(CommonAttributes.JTS).set(true); requireNoContent(reader); }
private void writeBeanValidation(XMLExtendedStreamWriter writer, ModelNode parentNode) throws XMLStreamException { if (parentNode.hasDefined(BEAN_VALIDATION)) { ModelNode node = parentNode.get(BEAN_VALIDATION).get(BEAN_VALIDATION); if (JcaBeanValidationDefinition.BeanValidationParameters.BEAN_VALIDATION_ENABLED.getAttribute().isMarshallable(node)) { writer.writeEmptyElement(Element.BEAN_VALIDATION.getLocalName()); JcaBeanValidationDefinition.BeanValidationParameters.BEAN_VALIDATION_ENABLED.getAttribute().marshallAsAttribute(node, writer); } } }
public static void checkLegacyChildResourceModel(ModelNode model, String... properties) { Assert.assertEquals(0, properties.length % 2); ModelNode props = model.get("property"); Assert.assertEquals(properties.length / 2, props.isDefined() ? props.keys().size() : 0); for (int i = 0; i < properties.length; i += 2) { ModelNode property = props.get(properties[i]); Assert.assertTrue(property.isDefined()); Assert.assertEquals(1, property.keys().size()); Assert.assertEquals(properties[i + 1], property.get("value").asString()); } }