1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mortbay.jetty.plugin;
17
18 import java.io.File;
19 import java.util.List;
20
21 import org.mortbay.jetty.plus.webapp.EnvConfiguration;
22 import org.mortbay.jetty.webapp.Configuration;
23 import org.mortbay.jetty.webapp.JettyWebXmlConfiguration;
24 import org.mortbay.jetty.webapp.TagLibConfiguration;
25 import org.mortbay.jetty.webapp.WebAppContext;
26 import org.mortbay.jetty.webapp.WebInfConfiguration;
27
28
29
30
31
32
33 public class Jetty6PluginWebAppContext extends WebAppContext
34 {
35 private List classpathFiles;
36 private File jettyEnvXmlFile;
37 private File webXmlFile;
38 private WebInfConfiguration webInfConfig = new WebInfConfiguration();
39 private EnvConfiguration envConfig = new EnvConfiguration();
40 private Jetty6MavenConfiguration mvnConfig = new Jetty6MavenConfiguration();
41 private JettyWebXmlConfiguration jettyWebConfig = new JettyWebXmlConfiguration();
42 private TagLibConfiguration tagConfig = new TagLibConfiguration();
43 private Configuration[] configs = new Configuration[]{webInfConfig,envConfig, mvnConfig, jettyWebConfig, tagConfig};
44
45 public Jetty6PluginWebAppContext ()
46 {
47 super();
48 setConfigurations(configs);
49 }
50
51 public void setClassPathFiles(List classpathFiles)
52 {
53 this.classpathFiles = classpathFiles;
54 }
55
56 public List getClassPathFiles()
57 {
58 return this.classpathFiles;
59 }
60
61 public void setWebXmlFile(File webXmlFile)
62 {
63 this.webXmlFile = webXmlFile;
64 }
65
66 public File getWebXmlFile()
67 {
68 return this.webXmlFile;
69 }
70
71 public void setJettyEnvXmlFile (File jettyEnvXmlFile)
72 {
73 this.jettyEnvXmlFile = jettyEnvXmlFile;
74 }
75
76 public File getJettyEnvXmlFile()
77 {
78 return this.jettyEnvXmlFile;
79 }
80
81 public void configure ()
82 {
83 setConfigurations(configs);
84 mvnConfig.setClassPathConfiguration (classpathFiles);
85 mvnConfig.setWebXml (webXmlFile);
86 try
87 {
88 if (this.jettyEnvXmlFile != null)
89 envConfig.setJettyEnvXml(this.jettyEnvXmlFile.toURL());
90 }
91 catch (Exception e)
92 {
93 throw new RuntimeException(e);
94 }
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118 }
119
120
121 public void doStart () throws Exception
122 {
123 setShutdown(false);
124 super.doStart();
125 }
126
127 public void doStop () throws Exception
128 {
129 setShutdown(true);
130
131 Thread.currentThread().sleep(500L);
132 super.doStop();
133 }
134 }