public ProcessTaskFactory<Boolean> returningIsExitCodeZero() { if (requireExitCodeZero==null) allowingNonZeroExitCode(); return returning(new Function<ProcessTaskWrapper<?>,Boolean>() { public Boolean apply(ProcessTaskWrapper<?> input) { return input.getExitCode()==0; } }); }
public ProcessTaskFactory<String> requiringZeroAndReturningStdout() { requiringExitCodeZero(); return this.<String>returning(ScriptReturnType.STDOUT_STRING); }
public T addCompletionListener(Function<ProcessTaskWrapper<?>, Void> listener) { completionListeners.add(listener); return self(); }
/** creates the TaskBuilder which can be further customized; typically invoked by the initial {@link #newTask()} */ public TaskBuilder<Object> constructCustomizedTaskBuilder() { TaskBuilder<Object> tb = TaskBuilder.builder().dynamic(false).name("ssh: "+getSummary()); tb.tag(BrooklynTasks.tagForStream(BrooklynTasks.STREAM_STDIN, Streams.byteArrayOfString(Strings.join(commands, "\n")))); return tb; }
@SuppressWarnings("unchecked") protected ProcessTaskWrapper(AbstractProcessTaskFactory<?,RET> constructor) { super(constructor); TaskBuilder<Object> tb = constructor.constructCustomizedTaskBuilder(); if (stdout!=null) tb.tag(BrooklynTasks.tagForStream(BrooklynTasks.STREAM_STDOUT, stdout)); if (stderr!=null) tb.tag(BrooklynTasks.tagForStream(BrooklynTasks.STREAM_STDERR, stderr)); task = (Task<RET>) tb.body(new ProcessTaskInternalJob()).build(); }
public T add(Iterable<String> commandsToAdd) { Iterables.addAll(this.commands, commandsToAdd); return self(); }
public <V> T configure(ConfigKey<V> key, V value) { config.configure(key, value); return self(); }