ModelNode operation = originalOperation; for (OperationTransformer transformer: this.transformers) { operation = transformer.transformOperation(context, address, operation).getTransformedOperation();
protected void recordTransformedOperation(OperationTransformer.TransformedOperation operation) { lastOperation = operation.getTransformedOperation(); transformed.add(operation); }
protected void recordTransformedOperation(OperationTransformer.TransformedOperation operation) { lastOperation = operation.getTransformedOperation(); transformed.add(operation); }
boolean isDiscarded() { return result.getTransformedOperation() == null; }
@Override public ModelNode getTransformedOperation() { return super.getTransformedOperation(); }
@Override public String toString() { return "Step{" + "step=" + stepCount + ", operation=" + result.getTransformedOperation() + '}'; } }
@Override void invokeNext(OperationTransformer.TransformedOperation transformedOperation) throws OperationFailedException { recordTransformedOperation(transformedOperation); if(iterator.hasNext()) { final TransformationRule next = iterator.next(); // TODO hmm, do we need to change the address? next.transformOperation(transformedOperation.getTransformedOperation(), address, this); } } };
boolean isDiscarded() { return result.getTransformedOperation() == null; }
@Override public String toString() { return "Step{" + "step=" + stepCount + ", operation=" + result.getTransformedOperation() + '}'; } }
@Override public ModelNode getTransformedOperation() { return super.getTransformedOperation(); }
@Override public ModelNode getTransformedOperation() { return super.getTransformedOperation(); }
@Override public OperationTransformer.TransformedOperation transformOperation(Transformers.TransformationInputs parameters, ModelNode operation) throws OperationFailedException { //Some transformers don't propagate the headers, back them up here and add them again ModelNode operationHeaders = operation.hasDefined(OPERATION_HEADERS) ? operation.get(OPERATION_HEADERS) : null; OperationTransformer.TransformedOperation transformed = transformers.transformOperation(parameters, operation); if (operationHeaders != null) { ModelNode transformedOp = transformed.getTransformedOperation(); if (transformedOp != null && !transformedOp.hasDefined(OPERATION_HEADERS)) { transformedOp.get(OPERATION_HEADERS).set(operationHeaders); } } return transformed; }
@Override public ModelNode getTransformedOperation() { return super.getTransformedOperation(); }
@Override void invokeNext(OperationTransformer.TransformedOperation transformedOperation) throws OperationFailedException { recordTransformedOperation(transformedOperation); if(iterator.hasNext()) { final TransformationRule next = iterator.next(); // TODO hmm, do we need to change the address? next.transformOperation(transformedOperation.getTransformedOperation(), address, this); } } };
@Override void invokeNext(OperationTransformer.TransformedOperation transformedOperation) throws OperationFailedException { recordTransformedOperation(transformedOperation); if(iterator.hasNext()) { final TransformationRule next = iterator.next(); // TODO hmm, do we need to change the address? next.transformOperation(transformedOperation.getTransformedOperation(), address, this); } } };
@Override public OperationTransformer.TransformedOperation transformOperation(final OperationContext context, final ModelNode operation) throws OperationFailedException { //Some transformers don't propagate the headers, back them up here and add them again ModelNode operationHeaders = operation.hasDefined(OPERATION_HEADERS) ? operation.get(OPERATION_HEADERS) : null; OperationTransformer.TransformedOperation transformed = transformers.transformOperation(context, operation); if (operationHeaders != null) { ModelNode transformedOp = transformed.getTransformedOperation(); if (transformedOp != null && !transformedOp.hasDefined(OPERATION_HEADERS)) { transformedOp.get(OPERATION_HEADERS).set(operationHeaders); } } return transformed; }
@Override public String toString() { return "Step{" + "step=" + stepCount + ", operation=" + result.getTransformedOperation() + '}'; } }
@Override public String toString() { return "Step{" + "step=" + stepCount + ", operation=" + result.getTransformedOperation() + '}'; } }
@Override void invokeNext(OperationTransformer.TransformedOperation transformedOperation) throws OperationFailedException { recordTransformedOperation(transformedOperation); if(iterator.hasNext()) { final TransformationRule next = iterator.next(); // TODO hmm, do we need to change the address? next.transformOperation(transformedOperation.getTransformedOperation(), address, this); } } };
/** * Executes a given operation asserting that an attachment has been created. Given {@link KernelServices} must have enabled attachment grabber. * * @return {@link ModelNode} result of the transformed operation */ public static ModelNode executeOpInBothControllersWithAttachments(KernelServices services, ModelVersion version, ModelNode operation) throws Exception { OperationTransformer.TransformedOperation op = services.executeInMainAndGetTheTransformedOperation(operation, version); Assert.assertFalse(op.rejectOperation(success())); // System.out.println(operation + "\nbecomes\n" + op.getTransformedOperation()); if (op.getTransformedOperation() != null) { return ModelTestUtils.checkOutcome(services.getLegacyServices(version).executeOperation(op.getTransformedOperation())); } return null; }