@Override protected void setEnvironment(Environment newEnvironment) { Environment env = new Environment(newEnvironment); // Now what about my subpipeline? for (Step step : subpipeline) { env.addStep(step); } inheritedEnv = new Environment(env); patchEnvironment(env); super.setEnvironment(env); // Now what about my subpipeline Step lastStep = null; for (Step step : subpipeline) { Environment senv = new Environment(env); if (lastStep != null) { senv.setDefaultReadablePort(lastStep.getDefaultOutput()); } lastStep = step; step.setEnvironment(senv); } }
public int countVisibleSteps(String stepName) { int count = 0; for (Step step : visibleSteps) { if (step.getName().equals(stepName)) { count++; } } if (parent != null) { count += parent.countVisibleSteps(stepName); } return count; }
public Step visibleStep(String stepName) { for (Step step : visibleSteps) { if (step.getName().equals(stepName)) { return step; } } if (parent != null) { return parent.visibleStep(stepName); } return null; }
@Override protected void setEnvironment(Environment newEnvironment) { Environment env = new Environment(newEnvironment); // Now what about my subpipeline? for (Step step : subpipeline) { env.addStep(step); } patchEnvironment(env); super.setEnvironment(env); // Now what about my subpipeline for (Step step : subpipeline()) { Environment senv = new Environment(env); step.setEnvironment(senv); } }
Port port = env.getDefaultReadablePort(); if (binding.getBindingType() == Binding.PIPE_NAME_BINDING) { PipeNameBinding pipe = (PipeNameBinding) binding; Output output = env.readablePort(pipe.getStep(), pipe.getPort()); if (output == null) { Step fromstep = env.visibleStep(pipe.getStep()); if ("error".equals(pipe.getPort()) && XProcConstants.p_catch.equals(fromstep.getType())) { catchErrors = true; Step pipeStep = env.visibleStep(pipe.getStep()); Step container = pipeStep.parent; if (container == this) { if (binding.getBindingType() == Binding.PIPE_NAME_BINDING) { PipeNameBinding pipe = (PipeNameBinding) binding; Output output = env.readablePort(pipe.getStep(), pipe.getPort()); if (output == null) { fromstep = env.visibleStep(pipe.getStep()); if ("error".equals(pipe.getPort()) && XProcConstants.p_catch.equals(fromstep.getType())) { catchErrors = true;
port.setPort("#xpath-context"); } else { port = env.getDefaultReadablePort(); port = env.getParent().getDefaultReadablePort(); Step step = env.visibleStep(pipe.getStep()); if ((step instanceof Catch && "error".equals(pipe.getPort())) || (step instanceof Choose && "#xpath-context".equals(pipe.getPort()))) { Output output = env.readablePort(pipe.getStep(), pipe.getPort()); if (output == null) { error("Unreadable port: " + pipe.getPort() + " on " + pipe.getStep(), XProcException.err_E0001);
@Override public void patchEnvironment(Environment env) { env.setDefaultReadablePort(getOutput("#current")); }
protected void checkForBindings(HashSet<Output> outputs) { super.checkForBindings(outputs); for (Variable var : getVariables()) { for (Binding binding : var.bindings) { if (binding.getBindingType() == Binding.PIPE_NAME_BINDING) { PipeNameBinding b = (PipeNameBinding) binding; Output output = env.readablePort(b.getStep(), b.getPort()); if (outputs.contains(output)) { outputs.remove(output); } else { // Doesn't matter. Must be legit but doesn't help us. } } } } for (Step substep : subpipeline) { substep.checkForBindings(outputs); } }
Port port = inheritedEnv.getDefaultReadablePort(); if (binding.getBindingType() == Binding.PIPE_NAME_BINDING) { PipeNameBinding pipe = (PipeNameBinding) binding; Output output = env.readablePort(pipe.getStep(), pipe.getPort()); if (output == null) { error("Unreadable port: " + pipe.getPort() + " on " + pipe.getStep(), XProcException.err_E0001);
public void setupEnvironment() { setEnvironment(new Environment(this)); }
protected void setPipeline(Pipeline pipe) { pipeline = pipe; addStep(pipe); }
Port port = env.getDefaultReadablePort(); if (binding.getBindingType() == Binding.PIPE_NAME_BINDING) { PipeNameBinding pipe = (PipeNameBinding) binding; Output output = env.readablePort(pipe.getStep(), pipe.getPort()); if (output == null) { Step fromstep = env.visibleStep(pipe.getStep()); if ("error".equals(pipe.getPort()) && XProcConstants.p_catch.equals(fromstep.getType())) { catchErrors = true; Step pipeStep = env.visibleStep(pipe.getStep()); Step container = pipeStep.parent; if (container == this) { if (binding.getBindingType() == Binding.PIPE_NAME_BINDING) { PipeNameBinding pipe = (PipeNameBinding) binding; Output output = env.readablePort(pipe.getStep(), pipe.getPort()); if (output == null) { fromstep = env.visibleStep(pipe.getStep()); if ("error".equals(pipe.getPort()) && XProcConstants.p_catch.equals(fromstep.getType())) { catchErrors = true;
port.setPort("#xpath-context"); } else { port = env.getDefaultReadablePort(); port = env.getParent().getDefaultReadablePort(); Step step = env.visibleStep(pipe.getStep()); if ((step instanceof Catch && "error".equals(pipe.getPort())) || (step instanceof Choose && "#xpath-context".equals(pipe.getPort()))) { Output output = env.readablePort(pipe.getStep(), pipe.getPort()); if (output == null) { error("Unreadable port: " + pipe.getPort() + " on " + pipe.getStep(), XProcException.err_E0001);
public void patchEnvironment(Environment env) { env.setDefaultReadablePort(getOutput("#current")); } }
@Override protected void setEnvironment(Environment newEnvironment) { Environment env = new Environment(newEnvironment); // Now what about my subpipeline? for (Step step : subpipeline) { env.addStep(step); } patchEnvironment(env); super.setEnvironment(env); // Now what about my subpipeline for (Step step : subpipeline()) { Environment senv = new Environment(env); step.setEnvironment(senv); } }
if (binding.getBindingType() == Binding.PIPE_NAME_BINDING) { PipeNameBinding b = (PipeNameBinding) binding; Output output = env.readablePort(b.getStep(), b.getPort()); if (outputs.contains(output)) { outputs.remove(output); if (binding.getBindingType() == Binding.PIPE_NAME_BINDING) { PipeNameBinding b = (PipeNameBinding) binding; Output output = env.readablePort(b.getStep(), b.getPort()); if (outputs.contains(output)) { outputs.remove(output); if (binding.getBindingType() == Binding.PIPE_NAME_BINDING) { PipeNameBinding b = (PipeNameBinding) binding; Output output = env.readablePort(b.getStep(), b.getPort()); if (outputs.contains(output)) { outputs.remove(output);
Port port = inheritedEnv.getDefaultReadablePort(); if (binding.getBindingType() == Binding.PIPE_NAME_BINDING) { PipeNameBinding pipe = (PipeNameBinding) binding; Output output = env.readablePort(pipe.getStep(), pipe.getPort()); if (output == null) { error("Unreadable port: " + pipe.getPort() + " on " + pipe.getStep(), XProcException.err_E0001);
public void setupEnvironment() { setEnvironment(new Environment(this)); }
protected void setPipeline(Pipeline pipe) { pipeline = pipe; addStep(pipe); }
Port port = env.getDefaultReadablePort(); if (binding.getBindingType() == Binding.PIPE_NAME_BINDING) { PipeNameBinding pipe = (PipeNameBinding) binding; Output output = env.readablePort(pipe.getStep(), pipe.getPort()); if (output == null) { Step fromstep = env.visibleStep(pipe.getStep()); Step step = env.visibleStep(pipe.getStep()); if (XProcConstants.p_viewport.equals(step.getType())) { if (binding.getBindingType() == Binding.PIPE_NAME_BINDING) { PipeNameBinding pipe = (PipeNameBinding) binding; Output output = env.readablePort(pipe.getStep(), pipe.getPort()); if (output == null) { fromstep = env.visibleStep(pipe.getStep()); if ("error".equals(pipe.getPort()) && XProcConstants.p_catch.equals(fromstep.getType())) { catchErrors = true;