@Override public TransformationTarget getTarget() { return delegate.getTarget(); }
@Override public TransformationTarget getTarget() { return delegate.getTarget(); }
@Override public TransformationTarget getTarget() { return delegate.getTarget(); }
@Override public TransformationTarget getTarget() { return delegate.getTarget(); }
@Override public String getFailureDescription() { return DomainControllerLogger.ROOT_LOGGER.cloneOperationNotSupportedOnHost(context.getTarget().getHostName()); } }, OperationResultTransformer.ORIGINAL_RESULT);
@Override public String getFailureDescription() { return DomainControllerLogger.ROOT_LOGGER.cloneOperationNotSupportedOnHost(context.getTarget().getHostName()); } }, OperationResultTransformer.ORIGINAL_RESULT);
@Override public TransformedOperation transformOperation(final TransformationContext context, final PathAddress address, final ModelNode original) throws OperationFailedException{ final ModelNode operation = original.clone(); final PathAddress transformedAddress = transformer.transformAddress(address); operation.get(ModelDescriptionConstants.OP_ADDR).set(transformedAddress.toModelNode()); // Hand-off to a local operation transformer at the right address final String operationName = operation.get(ModelDescriptionConstants.OP).asString(); final OperationTransformer aliasTransformer = context.getTarget().resolveTransformer(context, transformedAddress, operationName); if(aliasTransformer != null) { return aliasTransformer.transformOperation(context, transformedAddress, operation); } else { return new TransformedOperation(operation, OperationResultTransformer.ORIGINAL_RESULT); } }
@Override public TransformedOperation transformOperation(final TransformationContext context, final PathAddress address, final ModelNode original) throws OperationFailedException{ final ModelNode operation = original.clone(); final PathAddress transformedAddress = transformer.transformAddress(address); operation.get(ModelDescriptionConstants.OP_ADDR).set(transformedAddress.toModelNode()); // Hand-off to a local operation transformer at the right address final String operationName = operation.get(ModelDescriptionConstants.OP).asString(); final OperationTransformer aliasTransformer = context.getTarget().resolveTransformer(context, transformedAddress, operationName); if(aliasTransformer != null) { return aliasTransformer.transformOperation(context, transformedAddress, operation); } else { return new TransformedOperation(operation, OperationResultTransformer.ORIGINAL_RESULT); } }
@Override public TransformedOperation transformOperation(final TransformationContext context, final PathAddress address, final ModelNode original) throws OperationFailedException{ final ModelNode operation = original.clone(); final PathAddress transformedAddress = transformer.transformAddress(address); operation.get(ModelDescriptionConstants.OP_ADDR).set(transformedAddress.toModelNode()); // Hand-off to a local operation transformer at the right address final String operationName = operation.get(ModelDescriptionConstants.OP).asString(); final OperationTransformer aliasTransformer = context.getTarget().resolveTransformer(transformedAddress, operationName); if(aliasTransformer != null) { return aliasTransformer.transformOperation(context, transformedAddress, operation); } else { return new TransformedOperation(operation, OperationResultTransformer.ORIGINAL_RESULT); } }
@Override public TransformedOperation transformOperation(final TransformationContext context, final PathAddress address, final ModelNode original) throws OperationFailedException{ final ModelNode operation = original.clone(); final PathAddress transformedAddress = transformer.transformAddress(address); operation.get(ModelDescriptionConstants.OP_ADDR).set(transformedAddress.toModelNode()); // Hand-off to a local operation transformer at the right address final String operationName = operation.get(ModelDescriptionConstants.OP).asString(); final OperationTransformer aliasTransformer = context.getTarget().resolveTransformer(context, transformedAddress, operationName); if(aliasTransformer != null) { return aliasTransformer.transformOperation(context, transformedAddress, operation); } else { return new TransformedOperation(operation, OperationResultTransformer.ORIGINAL_RESULT); } }
@Override public TransformedOperation transformOperation(final TransformationContext context, final PathAddress address, final ModelNode operation) throws OperationFailedException { if (context.getTarget().isIgnoreUnaffectedConfig()) { //Since the cloned profile is a new one it will definitely be ignored on the host with this setting, //so we can just discard it return OperationTransformer.DISCARD.transformOperation(context, address, operation); } return new TransformedOperation(operation, new OperationRejectionPolicy() { @Override public boolean rejectOperation(ModelNode preparedResult) { return true; } @Override public String getFailureDescription() { return DomainControllerLogger.ROOT_LOGGER.cloneOperationNotSupportedOnHost(context.getTarget().getHostName()); } }, OperationResultTransformer.ORIGINAL_RESULT); } }
@Override public TransformedOperation transformOperation(final TransformationContext context, final PathAddress address, final ModelNode operation) throws OperationFailedException { if (context.getTarget().isIgnoreUnaffectedConfig()) { //Since the cloned profile is a new one it will definitely be ignored on the host with this setting, //so we can just discard it return OperationTransformer.DISCARD.transformOperation(context, address, operation); } return new TransformedOperation(operation, new OperationRejectionPolicy() { @Override public boolean rejectOperation(ModelNode preparedResult) { return true; } @Override public String getFailureDescription() { return DomainControllerLogger.ROOT_LOGGER.cloneOperationNotSupportedOnHost(context.getTarget().getHostName()); } }, OperationResultTransformer.ORIGINAL_RESULT); } }
@Override protected boolean rejectAttribute(PathAddress address, String attributeName, ModelNode attributeValue, TransformationContext context) { if (attributeValue.isDefined()) { ModelVersion version = context.getTarget().getVersion(); if (version.getMajor() == 1 && version.getMinor() == 2) { //7.1.2 has model version 1.2.0 and should have this transformation //7.1.3 has model version 1.3.0 and should not have this transformation if (attributeValue.getType() == ModelType.BOOLEAN) { return !attributeValue.asBoolean(); } else { if (!Boolean.parseBoolean(attributeValue.asString())) { return true; } } } } return false; } }, EeSubsystemRootResource.JBOSS_DESCRIPTOR_PROPERTY_REPLACEMENT);
@Override public TransformedOperation transformOperation(TransformationContext context, PathAddress address, ModelNode operation) throws OperationFailedException { if (operation.hasDefined(SLOT_ATTRIBUTE_NAME)) { ModelNode slot = operation.get(SLOT_ATTRIBUTE_NAME); if (!SLOT_DEFAULT_VALUE.equals(slot.asString())) { return new TransformedOperation(operation, new RejectionWithFailurePolicy(MESSAGES.invalidJSFSlotValue(slot.asString())), OperationResultTransformer.ORIGINAL_RESULT); } } Set<String> attributes = new HashSet<String>(); for (Property prop : operation.asPropertyList()) { attributes.add(prop.getName()); } attributes.remove(SLOT_ATTRIBUTE_NAME); if (!attributes.isEmpty()) { return new TransformedOperation(operation, new RejectionWithFailurePolicy(MESSAGES.unknownAttributesFromSubsystemVersion(ADD, JSF_SUBSYSTEM, context.getTarget().getSubsystemVersion(JSF_SUBSYSTEM), attributes)), OperationResultTransformer.ORIGINAL_RESULT); } return DISCARD.transformOperation(context, address, operation); } });
@Override public TransformedOperation transformOperation(TransformationContext context, PathAddress address, ModelNode operation) throws OperationFailedException { final String name = operation.require(NAME).asString(); final ModelNode value = operation.get(ModelDescriptionConstants.VALUE); if (SLOT_ATTRIBUTE_NAME.equals(name)) { if (value.isDefined() && value.equals(SLOT_DEFAULT_VALUE)) { return DISCARD.transformOperation(context, address, operation); } else { return new TransformedOperation(operation, new RejectionWithFailurePolicy(MESSAGES.invalidJSFSlotValue(value.asString())), OperationResultTransformer.ORIGINAL_RESULT); } } // reject the operation for any other attribute return new TransformedOperation(operation, new RejectionWithFailurePolicy(MESSAGES.unknownAttributesFromSubsystemVersion(ADD, JSF_SUBSYSTEM, context.getTarget().getSubsystemVersion(JSF_SUBSYSTEM), Arrays.asList(name))), OperationResultTransformer.ORIGINAL_RESULT); } });
TransformedOperation transformOperation(final TransformationContext context, final PathAddress address, final ModelNode operation, final boolean nested) throws OperationFailedException { assert address.size() == 0; final ModelNode composite = operation.clone(); composite.get(STEPS).setEmptyList(); final TransformationTarget target = context.getTarget(); final List<Step> steps = new ArrayList<Step>(); int stepIdx = 0, resultIdx = 0; for(final ModelNode step : operation.require(STEPS).asList()) { stepIdx++; final String operationName = step.require(OP).asString(); final PathAddress stepAddress = step.hasDefined(OP_ADDR) ? PathAddress.pathAddress(step.require(OP_ADDR)) : PathAddress.EMPTY_ADDRESS; final TransformedOperation result; if(stepAddress.size() == 0 && COMPOSITE.equals(operationName)) { // Process nested steps directly result = transformOperation(context, PathAddress.EMPTY_ADDRESS, step, false); } else { final OperationTransformer transformer = target.resolveTransformer(context, stepAddress, operationName); result = transformer.transformOperation(context, stepAddress, step); } final ModelNode transformedOperation = result.getTransformedOperation(); if (transformedOperation != null) { composite.get(STEPS).add(transformedOperation); resultIdx++; } steps.add(new Step(stepIdx, resultIdx, result)); } final CompositeResultTransformer resultHandler = new CompositeResultTransformer(steps); return new TransformedOperation(composite, resultHandler, resultHandler); }
private void transformResourceInt(TransformationContext context, PathAddress address, Resource resource) throws OperationFailedException { Set<String> problems = checkModelNode(resource.getModel()); if (problems != null) { if (context.getTarget().isIgnoredResourceListAvailableAtRegistration()) { // Slave is 7.2.x or higher and we know this resource is not ignored List<String> msg = Collections.singletonList(context.getLogger().getAttributeWarning(address, null, problems)); final TransformationTarget tgt = context.getTarget(); final String legacyHostName = tgt.getHostName(); final ModelVersion coreVersion = tgt.getVersion(); final String subsystemName = findSubsystemName(address); final ModelVersion usedVersion = subsystemName == null ? coreVersion : tgt.getSubsystemVersion(subsystemName); // Target is 7.2.x or higher so we should throw an error if (subsystemName != null) { throw ControllerLogger.ROOT_LOGGER.rejectAttributesSubsystemModelResourceTransformer(address, legacyHostName, subsystemName, usedVersion, msg); } throw ControllerLogger.ROOT_LOGGER.rejectAttributesCoreModelResourceTransformer(address, legacyHostName, usedVersion, msg); } else { // 7.1.x slave; resource *may* be ignored so we can't fail; just log context.getLogger().logAttributeWarning(address, problems); } } }
private void transformResourceInt(TransformationContext context, PathAddress address, Resource resource) throws OperationFailedException { Set<String> problems = checkModelNode(resource.getModel()); if (problems != null) { if (context.getTarget().isIgnoredResourceListAvailableAtRegistration()) { // Slave is 7.2.x or higher and we know this resource is not ignored List<String> msg = Collections.singletonList(context.getLogger().getAttributeWarning(address, null, problems)); final TransformationTarget tgt = context.getTarget(); final String legacyHostName = tgt.getHostName(); final ModelVersion coreVersion = tgt.getVersion(); final String subsystemName = findSubsystemName(address); final ModelVersion usedVersion = subsystemName == null ? coreVersion : tgt.getSubsystemVersion(subsystemName); // Target is 7.2.x or higher so we should throw an error if (subsystemName != null) { throw ControllerMessages.MESSAGES.rejectAttributesSubsystemModelResourceTransformer(address, legacyHostName, subsystemName, usedVersion, msg); } throw ControllerMessages.MESSAGES.rejectAttributesCoreModelResourceTransformer(address, legacyHostName, usedVersion, msg); } else { // 7.1.x slave; resource *may* be ignored so we can't fail; just log context.getLogger().logAttributeWarning(address, problems); } } }
private void transformResourceInt(TransformationContext context, PathAddress address, Resource resource) throws OperationFailedException { Set<String> problems = checkModelNode(resource.getModel()); if (problems != null) { if (context.getTarget().isIgnoredResourceListAvailableAtRegistration()) { // Slave is 7.2.x or higher and we know this resource is not ignored List<String> msg = Collections.singletonList(context.getLogger().getAttributeWarning(address, null, problems)); final TransformationTarget tgt = context.getTarget(); final String legacyHostName = tgt.getHostName(); final ModelVersion coreVersion = tgt.getVersion(); final String subsystemName = findSubsystemName(address); final ModelVersion usedVersion = subsystemName == null ? coreVersion : tgt.getSubsystemVersion(subsystemName); // Target is 7.2.x or higher so we should throw an error if (subsystemName != null) { throw ControllerMessages.MESSAGES.rejectAttributesSubsystemModelResourceTransformer(address, legacyHostName, subsystemName, usedVersion, msg); } throw ControllerMessages.MESSAGES.rejectAttributesCoreModelResourceTransformer(address, legacyHostName, usedVersion, msg); } else { // 7.1.x slave; resource *may* be ignored so we can't fail; just log context.getLogger().logAttributeWarning(address, problems); } } }
private void transformResourceInt(TransformationContext context, PathAddress address, Resource resource) throws OperationFailedException { Set<String> problems = checkModelNode(resource.getModel()); if (problems != null) { if (context.getTarget().isIgnoredResourceListAvailableAtRegistration()) { // Slave is 7.2.x or higher and we know this resource is not ignored List<String> msg = Collections.singletonList(context.getLogger().getAttributeWarning(address, null, problems)); final TransformationTarget tgt = context.getTarget(); final String legacyHostName = tgt.getHostName(); final ModelVersion coreVersion = tgt.getVersion(); final String subsystemName = findSubsystemName(address); final ModelVersion usedVersion = subsystemName == null ? coreVersion : tgt.getSubsystemVersion(subsystemName); // Target is 7.2.x or higher so we should throw an error if (subsystemName != null) { throw ControllerLogger.ROOT_LOGGER.rejectAttributesSubsystemModelResourceTransformer(address, legacyHostName, subsystemName, usedVersion, msg); } throw ControllerLogger.ROOT_LOGGER.rejectAttributesCoreModelResourceTransformer(address, legacyHostName, usedVersion, msg); } else { // 7.1.x slave; resource *may* be ignored so we can't fail; just log context.getLogger().logAttributeWarning(address, problems); } } }