1 18 19 package de.gulden.framework.amoda.environment.ant; 20 21 import de.gulden.framework.amoda.environment.commandline.*; 22 import de.gulden.framework.amoda.generic.core.*; 23 import de.gulden.framework.amoda.model.data.*; 24 import java.lang.*; 25 import java.util.*; 26 import org.apache.tools.ant.Task; 27 import org.xml.sax.*; 28 29 35 public abstract class ANTTaskApplicationWrapper extends Task { 36 37 41 protected AttributeList originalAttributes; 42 43 protected GenericApplication application; 44 45 protected ANTTaskEnvironment environment; 46 47 48 52 public ANTTaskApplicationWrapper() { 53 super(); 54 } 55 56 57 61 public GenericApplication getApplication() { 62 return application; 63 } 64 65 public void setApplication(GenericApplication genericApplication) { 66 this.application = genericApplication; 67 } 68 69 public ANTTaskEnvironment getEnvironment() { 70 return environment; 71 } 72 73 public void setEnvironment(ANTTaskEnvironment aNTTaskEnvironment) { 74 if (this.environment != aNTTaskEnvironment) { 75 this.environment = aNTTaskEnvironment; 76 if (aNTTaskEnvironment != null) aNTTaskEnvironment.setTaskWrapper(this); 77 } 78 } 79 80 public abstract GenericApplication createWrappedApplication(); 81 82 public void init() { 83 setApplication(createWrappedApplication()); 84 ANTTaskEnvironmentFactory f=new ANTTaskEnvironmentFactory(); ANTTaskEnvironment env=(ANTTaskEnvironment)f.createApplicationEnvironment(); 86 env.setTaskWrapper(this); 87 this.setEnvironment(env); 88 getApplication().init(env); 89 } 90 91 public void execute() { 92 try { 93 getEnvironment().launch(getApplication()); 94 } catch (de.gulden.framework.amoda.model.option.IllegalOptionError ioe) { 95 throw new org.apache.tools.ant.BuildException(ioe); 96 } 97 } 98 99 public void addSrc(Src src) { 100 getEnvironment().addInput(src); 101 } 102 103 public void addValue(Value value) { 104 getEnvironment().addInput(value); 105 } 106 107 protected void setOption(String option, String value) { 108 getApplication().getOptions().getOptionEntry(option).getValue(de.gulden.framework.amoda.model.option.Option.STATE_CURRENT).set(value); 109 } 110 111 } | Popular Tags |