private ResultTransformer(ModelNode operation, PathAddress address) { this.multiTarget = address.isMultiTarget(); try { this.filter = WHERE_ATT.validateOperation(operation); this.select = SELECT_ATT.validateOperation(operation); // Use resolveModelAttribute for OPERATOR_ATT to pull out the default value this.operator = Operator.valueOf(OPERATOR_ATT.resolveModelAttribute(ExpressionResolver.SIMPLE, operation).asString()); } catch (OperationFailedException e) { // the validateOperation calls above would have already been invoked in QueryOperationHandler.execute // so this shouldn't happen throw new IllegalStateException(e); } }
private ResultTransformer(ModelNode operation, PathAddress address) { this.multiTarget = address.isMultiTarget(); try { this.filter = WHERE_ATT.validateOperation(operation); this.select = SELECT_ATT.validateOperation(operation); // Use resolveModelAttribute for OPERATOR_ATT to pull out the default value this.operator = Operator.valueOf(OPERATOR_ATT.resolveModelAttribute(ExpressionResolver.SIMPLE, operation).asString()); } catch (OperationFailedException e) { // the validateOperation calls above would have already been invoked in QueryOperationHandler.execute // so this shouldn't happen throw new IllegalStateException(e); } }
@Override void doExecute(final OperationContext parentContext, ModelNode operation, FilteredData filteredData, boolean ignoreMissingResources) throws OperationFailedException { final ModelNode where = WHERE_ATT.validateOperation(operation); // Use resolveModelAttribute for OPERATOR_ATT to pull out the default value final Operator operator = Operator.valueOf(OPERATOR_ATT.resolveModelAttribute(parentContext, operation).asString()); final ModelNode select = SELECT_ATT.validateOperation(operation); ImmutableManagementResourceRegistration mrr = parentContext.getResourceRegistration(); final OperationStepHandler readResourceHandler = mrr.getOperationHandler( PathAddress.EMPTY_ADDRESS, ModelDescriptionConstants.READ_RESOURCE_OPERATION ); final ModelNode readResourceOp = new ModelNode(); readResourceOp.get(ADDRESS).set(operation.get(ADDRESS)); readResourceOp.get(OP).set(READ_RESOURCE_OPERATION); readResourceOp.get(INCLUDE_RUNTIME).set(true); // filter/reduce phase parentContext.addStep(operation, new FilterReduceHandler(where, operator, select), OperationContext.Stage.MODEL); // map phase parentContext.addStep(readResourceOp, readResourceHandler, OperationContext.Stage.MODEL); }
@Override void doExecute(final OperationContext parentContext, ModelNode operation, FilteredData filteredData, boolean ignoreMissingResources) throws OperationFailedException { final ModelNode where = WHERE_ATT.validateOperation(operation); // Use resolveModelAttribute for OPERATOR_ATT to pull out the default value final Operator operator = Operator.valueOf(OPERATOR_ATT.resolveModelAttribute(parentContext, operation).asString()); final ModelNode select = SELECT_ATT.validateOperation(operation); ImmutableManagementResourceRegistration mrr = parentContext.getResourceRegistration(); final OperationStepHandler readResourceHandler = mrr.getOperationHandler( PathAddress.EMPTY_ADDRESS, ModelDescriptionConstants.READ_RESOURCE_OPERATION ); final ModelNode readResourceOp = new ModelNode(); readResourceOp.get(ADDRESS).set(operation.get(ADDRESS)); readResourceOp.get(OP).set(READ_RESOURCE_OPERATION); readResourceOp.get(INCLUDE_RUNTIME).set(true); // filter/reduce phase parentContext.addStep(operation, new FilterReduceHandler(where, operator, select), OperationContext.Stage.MODEL); // map phase parentContext.addStep(readResourceOp, readResourceHandler, OperationContext.Stage.MODEL); }