Class Operations


  • public class Operations
    extends Object
    A helper class for various operation tasks. Includes helpers to create standard operations, check whether the operation was executed successfully, get the failure description if unsuccessful, etc.

    Example: Read the server state

         
    
              final ModelControllerClient client = ModelControllerClient.Factory.create(hostname, port);
              final ModelNode address = new ModelNode().setEmptyList();
              // Read the server state
              final ModelNode op = Operations.createReadAttributeOperation(address, "server-state");
              final ModelNode result = client.execute(op);
              if (Operations.isSuccessfulOutcome(result)) {
                  System.out.printf("Server state: %s%n", Operations.readResult(result));
              } else {
                  System.out.printf("Failure! %s%n", Operations.getFailureDescription(result));
              }
         
     
    Author:
    James R. Perkins
    • Constructor Detail

      • Operations

        public Operations()
    • Method Detail

      • isSuccessfulOutcome

        public static boolean isSuccessfulOutcome​(ModelNode outcome)
        Checks the result for a successful operation outcome.
        Parameters:
        outcome - the result of executing an operation
        Returns:
        true if the operation was successful, otherwise false
      • getFailureDescription

        public static ModelNode getFailureDescription​(ModelNode result)
        Parses the result and returns the failure description.
        Parameters:
        result - the result of executing an operation
        Returns:
        the failure description if defined, otherwise a new undefined model node
        Throws:
        IllegalArgumentException - if the outcome of the operation was successful
      • createAddress

        public static ModelNode createAddress​(String... pairs)
        Creates an address that can be used as the address for an operation. The address is simply a ModelNode of type ModelType.LIST.

        The string is split into key/value pairs. If the final key does not have a value an * is used to indicate a wildcard for the address.

        Parameters:
        pairs - the key/value pairs to use
        Returns:
        an address for the key/value pairs
      • createAddress

        public static ModelNode createAddress​(Iterable<String> pairs)
        Creates an address that can be used as the address for an operation. The address is simply a ModelNode of type ModelType.LIST.

        The string is split into key/value pairs. If the final key does not have a value an * is used to indicate a wildcard for the address.

        Parameters:
        pairs - the key/value pairs to use
        Returns:
        an address for the key/value pairs
      • getOperationAddress

        public static ModelNode getOperationAddress​(ModelNode op)
        Returns the address for the operation.
        Parameters:
        op - the operation
        Returns:
        the operation address or a new undefined model node
      • getOperationName

        public static String getOperationName​(ModelNode op)
        Returns the name of the operation.
        Parameters:
        op - the operation
        Returns:
        the name of the operation
        Throws:
        IllegalArgumentException - if the operation was not defined.
      • createAddOperation

        public static ModelNode createAddOperation​(ModelNode address)
        Creates an add operation.
        Parameters:
        address - the address for the operation
        Returns:
        the operation
      • createRemoveOperation

        public static ModelNode createRemoveOperation​(ModelNode address)
        Creates a remove operation.
        Parameters:
        address - the address for the operation
        Returns:
        the operation
      • createCompositeOperation

        public static ModelNode createCompositeOperation()
        Creates a composite operation with an empty address and empty steps that will rollback on a runtime failure.

        By default the ClientConstants.ROLLBACK_ON_RUNTIME_FAILURE is set to true to rollback all operations if one fails.

        Returns:
        the operation
      • createReadAttributeOperation

        public static ModelNode createReadAttributeOperation​(ModelNode address,
                                                             String attributeName)
        Creates an operation to read the attribute represented by the attributeName parameter.
        Parameters:
        address - the address to create the read attribute for
        attributeName - the name of the parameter to read
        Returns:
        the operation
      • createReadResourceOperation

        public static ModelNode createReadResourceOperation​(ModelNode address)
        Creates a non-recursive operation to read a resource.
        Parameters:
        address - the address to create the read for
        Returns:
        the operation
      • createReadResourceOperation

        public static ModelNode createReadResourceOperation​(ModelNode address,
                                                            boolean recursive)
        Creates an operation to read a resource.
        Parameters:
        address - the address to create the read for
        recursive - whether to search recursively or not
        Returns:
        the operation
      • createUndefineAttributeOperation

        public static ModelNode createUndefineAttributeOperation​(ModelNode address,
                                                                 String attributeName)
        Creates an operation to undefine an attribute value represented by the attributeName parameter.
        Parameters:
        address - the address to create the write attribute for
        attributeName - the name attribute to undefine
        Returns:
        the operation
      • createWriteAttributeOperation

        public static ModelNode createWriteAttributeOperation​(ModelNode address,
                                                              String attributeName,
                                                              boolean value)
        Creates an operation to write an attribute value represented by the attributeName parameter.
        Parameters:
        address - the address to create the write attribute for
        attributeName - the name of the attribute to write
        value - the value to set the attribute to
        Returns:
        the operation
      • createWriteAttributeOperation

        public static ModelNode createWriteAttributeOperation​(ModelNode address,
                                                              String attributeName,
                                                              int value)
        Creates an operation to write an attribute value represented by the attributeName parameter.
        Parameters:
        address - the address to create the write attribute for
        attributeName - the name of the attribute to write
        value - the value to set the attribute to
        Returns:
        the operation
      • createWriteAttributeOperation

        public static ModelNode createWriteAttributeOperation​(ModelNode address,
                                                              String attributeName,
                                                              long value)
        Creates an operation to write an attribute value represented by the attributeName parameter.
        Parameters:
        address - the address to create the write attribute for
        attributeName - the name of the attribute to write
        value - the value to set the attribute to
        Returns:
        the operation
      • createWriteAttributeOperation

        public static ModelNode createWriteAttributeOperation​(ModelNode address,
                                                              String attributeName,
                                                              String value)
        Creates an operation to write an attribute value represented by the attributeName parameter.
        Parameters:
        address - the address to create the write attribute for
        attributeName - the name of the attribute to write
        value - the value to set the attribute to
        Returns:
        the operation
      • createWriteAttributeOperation

        public static ModelNode createWriteAttributeOperation​(ModelNode address,
                                                              String attributeName,
                                                              ModelNode value)
        Creates an operation to write an attribute value represented by the attributeName parameter.
        Parameters:
        address - the address to create the write attribute for
        attributeName - the name of the attribute to write
        value - the value to set the attribute to
        Returns:
        the operation
      • createOperation

        public static ModelNode createOperation​(String operation)
        Creates a generic operation with an empty (root) address.
        Parameters:
        operation - the operation to create
        Returns:
        the operation
      • readResult

        public static ModelNode readResult​(ModelNode result)
        Reads the result of an operation and returns the result. If the operation does not have a ClientConstants.RESULT attribute, a new undefined ModelNode is returned.
        Parameters:
        result - the result of executing an operation
        Returns:
        the result of the operation or a new undefined model node