| 1 7 package com.inversoft.savant.ant.types; 8 9 10 import java.io.File ; 11 12 import org.apache.tools.ant.BuildException; 13 import org.apache.tools.ant.Project; 14 import org.apache.tools.ant.types.DataType; 15 16 import com.inversoft.savant.Artifact; 17 import com.inversoft.savant.LocalCacheStore; 18 import com.inversoft.savant.Process; 19 import com.inversoft.savant.SavantException; 20 import com.inversoft.savant.Workflow; 21 22 23 31 public class WorkflowType extends DataType { 32 33 private Workflow proxy = new Workflow(); 34 35 36 39 public WorkflowType() { 40 } 41 42 43 46 public Workflow getProxy() { 47 return proxy; 48 } 49 50 55 public void add(DataType process) { 56 Process p; 57 if (process instanceof ProcessType) { 58 p = ((ProcessType) process).getProxy(); 59 } else if (process instanceof Process ) { 60 p = (Process ) process; 61 } else { 62 throw new BuildException("WorkflowType only supports nested tasks that " + 63 "implement com.inversoft.savant.Process"); 64 } 65 66 proxy.addProcess(p); 67 log("Added process to workflow [" + process.getClass().getName() + "]", 68 Project.MSG_DEBUG); 69 } 70 71 78 public File findArtifact(Artifact artifact, LocalCacheStore localCache) 79 throws SavantException { 80 log("Looking for artifact [" + artifact + "]", Project.MSG_DEBUG); 81 return proxy.findArtifact(artifact, localCache); 82 } 83 } | Popular Tags |