@Override public void transformResource(final ResourceTransformationContext context, final PathAddress address, final Resource resource) throws OperationFailedException { if (resource.isProxy() || resource.isRuntime()) { return; } //For now just assume we come in through the top layer ResourceTransformationContext current = context; Iterator<Map.Entry<ModelVersionPair, ChainedPlaceholderResolver>> it = placeholderResolvers.entrySet().iterator(); if (it.hasNext()) { ChainedPlaceholderResolver resolver = it.next().getValue(); current = ChainedTransformationTools.initialiseChain(current, resolver); resolver.getDescription().getResourceTransformer().transformResource(current, address, resource); } while (it.hasNext()) { ChainedPlaceholderResolver resolver = it.next().getValue(); current = ChainedTransformationTools.nextInChainResource(current, resolver); try { Resource currentResource = current.readResourceFromRoot(address); resolver.getDescription().getResourceTransformer().transformResource(current, address, currentResource); } catch (Resource.NoSuchResourceException e) { //The resource was rejected/discarded continue; } } Resource transformed = current.getTransformedRoot(); Resource originalTransformed = context.getTransformedRoot(); copy(transformed, originalTransformed, address); }
@Override public void transformResource(final ResourceTransformationContext context, final PathAddress address, final Resource resource) throws OperationFailedException { if (resource.isProxy() || resource.isRuntime()) { return; } //For now just assume we come in through the top layer ResourceTransformationContext current = context; Iterator<Map.Entry<ModelVersionPair, ChainedPlaceholderResolver>> it = placeholderResolvers.entrySet().iterator(); if (it.hasNext()) { ChainedPlaceholderResolver resolver = it.next().getValue(); current = ChainedTransformationTools.initialiseChain(current, resolver); resolver.getDescription().getResourceTransformer().transformResource(current, address, resource); } while (it.hasNext()) { ChainedPlaceholderResolver resolver = it.next().getValue(); current = ChainedTransformationTools.nextInChainResource(current, resolver); try { Resource currentResource = current.readResourceFromRoot(address); resolver.getDescription().getResourceTransformer().transformResource(current, address, currentResource); } catch (Resource.NoSuchResourceException e) { //The resource was rejected/discarded continue; } } Resource transformed = current.getTransformedRoot(); Resource originalTransformed = context.getTransformedRoot(); copy(transformed, originalTransformed, address); }
@Override public Resource transformResource(final ResourceTransformationContext context, Resource resource) throws OperationFailedException { final ResourceTransformer transformer = target.resolveTransformer(context, PathAddress.EMPTY_ADDRESS); if (transformer == null) { ControllerLogger.ROOT_LOGGER.tracef("resource %s does not need transformation", resource); return resource; } transformer.transformResource(context, PathAddress.EMPTY_ADDRESS, resource); context.getLogger().flushLogQueue(); return context.getTransformedRoot(); }
@Override public Resource transformResource(final ResourceTransformationContext context, Resource resource) throws OperationFailedException { final ResourceTransformer transformer = target.resolveTransformer(PathAddress.EMPTY_ADDRESS); if (transformer == null) { ControllerLogger.ROOT_LOGGER.tracef("resource %s does not need transformation", resource); return resource; } transformer.transformResource(context, PathAddress.EMPTY_ADDRESS, resource); context.getLogger().flushLogQueue(); return context.getTransformedRoot(); }
@Override public Resource transformResource(final ResourceTransformationContext context, Resource resource) throws OperationFailedException { final ResourceTransformer transformer = target.resolveTransformer(context, PathAddress.EMPTY_ADDRESS); if (transformer == null) { ControllerLogger.ROOT_LOGGER.tracef("resource %s does not need transformation", resource); return resource; } transformer.transformResource(context, PathAddress.EMPTY_ADDRESS, resource); context.getLogger().flushLogQueue(); return context.getTransformedRoot(); }
@Override public Resource transformResource(final ResourceTransformationContext context, Resource resource) throws OperationFailedException { final ResourceTransformer transformer = target.resolveTransformer(context, PathAddress.EMPTY_ADDRESS); if (transformer == null) { ControllerLogger.ROOT_LOGGER.tracef("resource %s does not need transformation", resource); return resource; } transformer.transformResource(context, PathAddress.EMPTY_ADDRESS, resource); context.getLogger().flushLogQueue(); return context.getTransformedRoot(); }
public Resource transformResource(final OperationContext operationContext, PathAddress original, Resource resource) throws OperationFailedException { final ResourceTransformer transformer = target.resolveTransformer(original); if(transformer == null) { ControllerLogger.ROOT_LOGGER.tracef("resource %s does not need transformation", resource); return resource; } // Transform the path address final PathAddress transformed = transformAddress(original, target); final ResourceTransformationContext context = ResourceTransformationContextImpl.create(operationContext, target, transformed, original); transformer.transformResource(context, transformed, resource); context.getLogger().flushLogQueue(); return context.getTransformedRoot(); }
public Resource transformResource(final OperationContext operationContext, PathAddress original, Resource resource, boolean skipRuntimeIgnoreCheck) throws OperationFailedException { // Transform the path address final PathAddress transformed = transformAddress(original, target); final ResourceTransformationContext context = ResourceTransformationContextImpl.create(operationContext, target, transformed, original, skipRuntimeIgnoreCheck); final ResourceTransformer transformer = target.resolveTransformer(context, original); if(transformer == null) { ControllerLogger.ROOT_LOGGER.tracef("resource %s does not need transformation", resource); return resource; } transformer.transformResource(context, transformed, resource); context.getLogger().flushLogQueue(); return context.getTransformedRoot(); }
@Override public Resource transformRootResource(TransformationInputs transformationInputs, Resource resource, ResourceIgnoredTransformationRegistry ignoredTransformationRegistry) throws OperationFailedException { // Transform the path address final PathAddress original = PathAddress.EMPTY_ADDRESS; final PathAddress transformed = transformAddress(original, target); final ResourceTransformationContext context = ResourceTransformationContextImpl.create(transformationInputs, target, transformed, original, ignoredTransformationRegistry); final ResourceTransformer transformer = target.resolveTransformer(context, original); if(transformer == null) { ControllerLogger.ROOT_LOGGER.tracef("resource %s does not need transformation", resource); return resource; } transformer.transformResource(context, transformed, resource); context.getLogger().flushLogQueue(); return context.getTransformedRoot(); }
@Override public Resource transformRootResource(TransformationInputs transformationInputs, Resource resource, ResourceIgnoredTransformationRegistry ignoredTransformationRegistry) throws OperationFailedException { // Transform the path address final PathAddress original = PathAddress.EMPTY_ADDRESS; final PathAddress transformed = transformAddress(original, target); final ResourceTransformationContext context = ResourceTransformationContextImpl.create(transformationInputs, target, transformed, original, ignoredTransformationRegistry); final ResourceTransformer transformer = target.resolveTransformer(context, original); if(transformer == null) { ControllerLogger.ROOT_LOGGER.tracef("resource %s does not need transformation", resource); return resource; } transformer.transformResource(context, transformed, resource); context.getLogger().flushLogQueue(); return context.getTransformedRoot(); }
public ResourceTransformationContext copyAndReplaceOriginalModel(PlaceholderResolver placeholderResolver) { assert originalModel.target instanceof TransformationTargetImpl : "Wrong target"; TransformationTargetImpl tgt = (TransformationTargetImpl)originalModel.target; TransformationTargetImpl targetCopy = tgt.copyWithplaceholderResolver(placeholderResolver); final OriginalModel originalModelCopy = new OriginalModel(root, originalModel.mode, originalModel.type, targetCopy, originalModel.registration); ResourceTransformationContext copy = new ResourceTransformationContextImpl(this, originalModelCopy); Resource root = copy.getTransformedRoot(); if (current.size() > 0) { PathElement last = current.getLastElement(); Resource parent = root; for (PathElement element : current) { if (element.equals(last)) { parent.removeChild(element); } else { parent = parent.getChild(element); if (parent == null) { break; } } } } return copy; }
public ResourceTransformationContext copyAndReplaceOriginalModel(PlaceholderResolver placeholderResolver) { assert originalModel.target instanceof TransformationTargetImpl : "Wrong target"; TransformationTargetImpl tgt = (TransformationTargetImpl)originalModel.target; TransformationTargetImpl targetCopy = tgt.copyWithplaceholderResolver(placeholderResolver); final OriginalModel originalModelCopy = new OriginalModel(root, originalModel.mode, originalModel.type, targetCopy, originalModel.registration); ResourceTransformationContext copy = new ResourceTransformationContextImpl(this, originalModelCopy); Resource root = copy.getTransformedRoot(); if (current.size() > 0) { PathElement last = current.getLastElement(); Resource parent = root; for (PathElement element : current) { if (element.equals(last)) { parent.removeChild(element); } else { parent = parent.getChild(element); if (parent == null) { break; } } } } return copy; }