protected void process(final OperationTransformerRegistry registry, final PathAddress address, final ModelVersion version, Map<PathAddress, ModelVersion> versions) { final OperationTransformerRegistry current = registryUpdater.get(this, version); if(current != null) { final OperationTransformerRegistry.ResourceTransformerEntry resourceTransformer = current.getResourceTransformer(); final OperationTransformerRegistry.OperationTransformerEntry defaultTransformer = current.getDefaultTransformer(); registry.createChildRegistry(address.iterator(), current.getPathAddressTransformer(), resourceTransformer, defaultTransformer); final Map<String, OperationTransformerRegistry.OperationTransformerEntry> transformers = current.getTransformers(); for(final Map.Entry<String, OperationTransformerRegistry.OperationTransformerEntry> transformer : transformers.entrySet()) { registry.registerTransformer(address, transformer.getKey(), transformer.getValue().getTransformer()); } } final Map<String, SubRegistry> snapshot = subRegistriesUpdater.get(this); if(snapshot != null) { for(final Map.Entry<String, SubRegistry> registryEntry : snapshot.entrySet()) { // final String key = registryEntry.getKey(); final SubRegistry subRegistry = registryEntry.getValue(); final Map<String, GlobalTransformerRegistry> children = SubRegistry.childrenUpdater.get(subRegistry); for(final Map.Entry<String, GlobalTransformerRegistry> childEntry : children.entrySet()) { // final String value = childEntry.getKey(); final GlobalTransformerRegistry child = childEntry.getValue(); final PathAddress childAddress = address.append(PathElement.pathElement(key, value)); final ModelVersion childVersion = versions.containsKey(childAddress) ? versions.get(childAddress) : version; child.process(registry, childAddress, childVersion, versions); } } } }
private void process(final OperationTransformerRegistry registry, final PathAddress address, final ModelVersion version, Map<PathAddress, ModelVersion> versions) { final OperationTransformerRegistry current = getRegistryUpdater(version); if(current != null) { final OperationTransformerRegistry.ResourceTransformerEntry resourceTransformer = current.getResourceTransformer(); final OperationTransformerRegistry.OperationTransformerEntry defaultTransformer = current.getDefaultTransformer(); registry.createChildRegistry(address.iterator(), current.getPathAddressTransformer(), resourceTransformer, defaultTransformer, current.isPlaceholder()); final Map<String, OperationTransformerRegistry.OperationTransformerEntry> transformers = current.getTransformers(); for(final Map.Entry<String, OperationTransformerRegistry.OperationTransformerEntry> transformer : transformers.entrySet()) { registry.registerTransformer(address, transformer.getKey(), transformer.getValue().getTransformer()); } } final Map<String, SubRegistry> snapshot = subRegistriesUpdater.get(this); if(snapshot != null) { for(final Map.Entry<String, SubRegistry> registryEntry : snapshot.entrySet()) { // final String key = registryEntry.getKey(); final SubRegistry subRegistry = registryEntry.getValue(); final Map<String, GlobalTransformerRegistry> children = SubRegistry.childrenUpdater.get(subRegistry); for(final Map.Entry<String, GlobalTransformerRegistry> childEntry : children.entrySet()) { // final String value = childEntry.getKey(); final GlobalTransformerRegistry child = childEntry.getValue(); final PathAddress childAddress = address.append(PathElement.pathElement(key, value)); final ModelVersion childVersion = versions.containsKey(childAddress) ? versions.get(childAddress) : version; child.process(registry, childAddress, childVersion, versions); } } } }
protected void process(final OperationTransformerRegistry registry, final PathAddress address, final ModelVersion version, Map<PathAddress, ModelVersion> versions) { final OperationTransformerRegistry current = registryUpdater.get(this, version); if(current != null) { final OperationTransformerRegistry.ResourceTransformerEntry resourceTransformer = current.getResourceTransformer(); final OperationTransformerRegistry.OperationTransformerEntry defaultTransformer = current.getDefaultTransformer(); registry.createChildRegistry(address.iterator(), current.getPathAddressTransformer(), resourceTransformer, defaultTransformer); final Map<String, OperationTransformerRegistry.OperationTransformerEntry> transformers = current.getTransformers(); for(final Map.Entry<String, OperationTransformerRegistry.OperationTransformerEntry> transformer : transformers.entrySet()) { registry.registerTransformer(address, transformer.getKey(), transformer.getValue().getTransformer()); } } final Map<String, SubRegistry> snapshot = subRegistriesUpdater.get(this); if(snapshot != null) { for(final Map.Entry<String, SubRegistry> registryEntry : snapshot.entrySet()) { // final String key = registryEntry.getKey(); final SubRegistry subRegistry = registryEntry.getValue(); final Map<String, GlobalTransformerRegistry> children = SubRegistry.childrenUpdater.get(subRegistry); for(final Map.Entry<String, GlobalTransformerRegistry> childEntry : children.entrySet()) { // final String value = childEntry.getKey(); final GlobalTransformerRegistry child = childEntry.getValue(); final PathAddress childAddress = address.append(PathElement.pathElement(key, value)); final ModelVersion childVersion = versions.containsKey(childAddress) ? versions.get(childAddress) : version; child.process(registry, childAddress, childVersion, versions); } } } }
private void process(final OperationTransformerRegistry registry, final PathAddress address, final ModelVersion version, Map<PathAddress, ModelVersion> versions) { final OperationTransformerRegistry current = getRegistryUpdater(version); if(current != null) { final OperationTransformerRegistry.ResourceTransformerEntry resourceTransformer = current.getResourceTransformer(); final OperationTransformerRegistry.OperationTransformerEntry defaultTransformer = current.getDefaultTransformer(); registry.createChildRegistry(address.iterator(), current.getPathAddressTransformer(), resourceTransformer, defaultTransformer, current.isPlaceholder()); final Map<String, OperationTransformerRegistry.OperationTransformerEntry> transformers = current.getTransformers(); for(final Map.Entry<String, OperationTransformerRegistry.OperationTransformerEntry> transformer : transformers.entrySet()) { registry.registerTransformer(address, transformer.getKey(), transformer.getValue().getTransformer()); } } final Map<String, SubRegistry> snapshot = subRegistriesUpdater.get(this); if(snapshot != null) { for(final Map.Entry<String, SubRegistry> registryEntry : snapshot.entrySet()) { // final String key = registryEntry.getKey(); final SubRegistry subRegistry = registryEntry.getValue(); final Map<String, GlobalTransformerRegistry> children = SubRegistry.childrenUpdater.get(subRegistry); for(final Map.Entry<String, GlobalTransformerRegistry> childEntry : children.entrySet()) { // final String value = childEntry.getKey(); final GlobalTransformerRegistry child = childEntry.getValue(); final PathAddress childAddress = address.append(PathElement.pathElement(key, value)); final ModelVersion childVersion = versions.containsKey(childAddress) ? versions.get(childAddress) : version; child.process(registry, childAddress, childVersion, versions); } } } }
@Override public OperationTransformer resolveTransformer(TransformationContext context, final PathAddress address, final String operationName) { if(address.size() == 0) { // TODO use registry registry to register this operations. if(ModelDescriptionConstants.COMPOSITE.equals(operationName)) { return new CompositeOperationTransformer(); } } if (operationIgnoredRegistry.isOperationExcluded(address, operationName)) { ControllerLogger.MGMT_OP_LOGGER.tracef("Excluding operation %s to %s", operationName, address); return OperationTransformer.DISCARD; } if (version.getMajor() < 3 && ModelDescriptionConstants.QUERY.equals(operationName)) { // TODO use transformer inheritance and register this normally return QueryOperationHandler.TRANSFORMER; } final OperationTransformerRegistry.OperationTransformerEntry entry = registry.resolveOperationTransformer(address, operationName, placeholderResolver); return entry.getTransformer(); }
@Override public OperationTransformer resolveTransformer(TransformationContext context, final PathAddress address, final String operationName) { if(address.size() == 0) { // TODO use registry registry to register this operations. if(ModelDescriptionConstants.COMPOSITE.equals(operationName)) { return new CompositeOperationTransformer(); } } if (operationIgnoredRegistry.isOperationExcluded(address, operationName)) { ControllerLogger.MGMT_OP_LOGGER.tracef("Excluding operation %s to %s", operationName, address); return OperationTransformer.DISCARD; } if (version.getMajor() < 3 && ModelDescriptionConstants.QUERY.equals(operationName)) { // TODO use transformer inheritance and register this normally return QueryOperationHandler.TRANSFORMER; } final OperationTransformerRegistry.OperationTransformerEntry entry = registry.resolveOperationTransformer(address, operationName, placeholderResolver); return entry.getTransformer(); }
public TransformedOperation transformOperation(ModelVersion modelVersion, ModelNode operation, TransformerOperationAttachment attachment) throws OperationFailedException { checkIsMainController(); TransformerRegistry transformerRegistry = extensionRegistry.getTransformerRegistry(); PathAddress address = PathAddress.pathAddress(operation.get(OP_ADDR)); Map<PathAddress, ModelVersion> subsystemVersions = Collections.<PathAddress, ModelVersion>emptyMap(); OperationTransformerRegistry registry = transformerRegistry.resolveHost(modelVersion, subsystemVersions); TransformationTarget target = TransformationTargetImpl.create(null, extensionRegistry.getTransformerRegistry(), modelVersion, subsystemVersions, TransformationTarget.TransformationTargetType.DOMAIN); TransformationContext transformationContext = createTransformationContext(target, attachment); OperationTransformer operationTransformer = registry.resolveOperationTransformer(address, operation.get(OP).asString(), null).getTransformer(); if (operationTransformer != null) { return operationTransformer.transformOperation(transformationContext, address, operation); } return new OperationTransformer.TransformedOperation(operation, OperationResultTransformer.ORIGINAL_RESULT); }
public TransformedOperation transformOperation(ModelVersion modelVersion, ModelNode operation, TransformerOperationAttachment attachment) throws OperationFailedException { checkIsMainController(); TransformerRegistry transformerRegistry = extensionRegistry.getTransformerRegistry(); PathAddress address = PathAddress.pathAddress(operation.get(OP_ADDR)); Map<PathAddress, ModelVersion> subsystemVersions = Collections.<PathAddress, ModelVersion>emptyMap(); OperationTransformerRegistry registry = transformerRegistry.resolveHost(modelVersion, subsystemVersions); TransformationTarget target = TransformationTargetImpl.create(null, extensionRegistry.getTransformerRegistry(), modelVersion, subsystemVersions, TransformationTarget.TransformationTargetType.DOMAIN); TransformationContext transformationContext = createTransformationContext(target, attachment); OperationTransformer operationTransformer = registry.resolveOperationTransformer(address, operation.get(OP).asString(), null).getTransformer(); if (operationTransformer != null) { return operationTransformer.transformOperation(transformationContext, address, operation); } return new OperationTransformer.TransformedOperation(operation, OperationResultTransformer.ORIGINAL_RESULT); }
@Override public OperationTransformer resolveTransformer(TransformationContext context, final PathAddress address, final String operationName) { if (ignoreResourceTransformation(context, address)) { return OperationTransformer.DEFAULT; } if(address.size() == 0) { // TODO use registry registry to register this operations. if(ModelDescriptionConstants.COMPOSITE.equals(operationName)) { return new CompositeOperationTransformer(); } } final OperationTransformerRegistry.OperationTransformerEntry entry = registry.resolveOperationTransformer(address, operationName); return entry.getTransformer(); }
@Override public OperationTransformer resolveTransformer(final PathAddress address, final String operationName) { if (transformationExclusion != null && transformationExclusion.isOperationTransformationIgnored(address)) { return OperationTransformer.DEFAULT; } if(address.size() == 0) { // TODO use registry registry to register this operations. if(ModelDescriptionConstants.COMPOSITE.equals(operationName)) { return new CompositeOperationTransformer(); } } final OperationTransformerRegistry.OperationTransformerEntry entry = registry.resolveOperationTransformer(address, operationName); return entry.getTransformer(); }