package com.acuitra.pipeline; import com.acuitra.stages.StageException; public class RunnablePipeline<T, O> extends Pipeline<T, O> implements Runnable { private String name; private Context<T,O> context; private boolean complete = false; public RunnablePipeline(String name, Context<T,O> context) { super(); this.context = context; this.name = name; } public Context<T,O> getContext() { return context; } @Override public void run() { String oldName = Thread.currentThread().getName(); Thread.currentThread().setName("RunnablePipeline: " + getName()); try { execute(this.context); setComplete(true); } catch (StageException e) { this.context.setError(true); this.context.setException(e); } finally { Thread.currentThread().setName(oldName); } } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isComplete() { return complete; } public void setComplete(boolean complete) { this.complete = complete; } }