KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > gulden > framework > amoda > environment > ant > ANTTaskApplicationWrapper


1 /*
2  * Project: AMODA - Abstract Modeled Application
3  * Class: de.gulden.framework.amoda.environment.ant.ANTTaskApplicationWrapper
4  * Version: snapshot-beautyj-1.1
5  *
6  * Date: 2004-09-29
7  *
8  * This is a snapshot version of the AMODA 0.2 development branch,
9  * it is not released as a seperate version.
10  * For AMODA, see http://amoda.berlios.de/.
11  *
12  * This is licensed under the GNU Lesser General Public License (LGPL)
13  * and comes with NO WARRANTY.
14  *
15  * Author: Jens Gulden
16  * Email: amoda@jensgulden.de
17  */

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 /**
30  * Class ANTTaskApplicationWrapper.
31  *
32  * @author Jens Gulden
33  * @version snapshot-beautyj-1.1
34  */

35 public abstract class ANTTaskApplicationWrapper extends Task {
36
37     // ------------------------------------------------------------------------
38
// --- fields ---
39
// ------------------------------------------------------------------------
40

41     protected AttributeList originalAttributes;
42
43     protected GenericApplication application;
44
45     protected ANTTaskEnvironment environment;
46
47
48     // ------------------------------------------------------------------------
49
// --- constructor ---
50
// ------------------------------------------------------------------------
51

52     public ANTTaskApplicationWrapper() {
53         super();
54     }
55
56
57     // ------------------------------------------------------------------------
58
// --- methods ---
59
// ------------------------------------------------------------------------
60

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(); //,getConfigurationResourceURL()
85
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 JavaDoc option, String JavaDoc value) {
108         getApplication().getOptions().getOptionEntry(option).getValue(de.gulden.framework.amoda.model.option.Option.STATE_CURRENT).set(value);
109     }
110
111 } // end ANTTaskApplicationWrapper
112
Popular Tags