KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jdon > container > startup > ContainerSetupScript


1 /**
2  * Copyright 2003-2006 the original author or authors.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6
7  http://www.apache.org/licenses/LICENSE-2.0
8
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */

15
16 package com.jdon.container.startup;
17
18 import javax.servlet.ServletContext JavaDoc;
19
20 import com.jdon.container.ContainerWrapper;
21 import com.jdon.container.builder.ContainerBuilder;
22 import com.jdon.container.builder.ContainerDirector;
23 import com.jdon.container.config.app.AppConfigureCollection;
24 import com.jdon.container.factory.ContainerBuilderFactory;
25 import com.jdon.container.finder.ServletContainerFinder;
26 import com.jdon.util.Debug;
27
28 /**
29  * setup container
30  *
31  * @author <a HREF="mailto:banqiao@jdon.com">banq </a>
32  *
33  */

34 public class ContainerSetupScript {
35     public final static String JavaDoc module = ContainerSetupScript.class.getName();
36     
37     private AppConfigureCollection appConfigureFiles;
38     
39     public ContainerSetupScript() {
40         appConfigureFiles = new AppConfigureCollection();
41     }
42
43     /**
44      * Initialize application container
45      *
46      * @param context
47      * ServletContext
48      */

49     public void initialized(ServletContext JavaDoc context) {
50         ContainerBuilder cb = (ContainerBuilder) context.getAttribute(ContainerBuilder.APPLICATION_CONTEXT_ATTRIBUTE_NAME);
51         if (cb != null)
52             return;
53         try {
54             ContainerBuilderFactory containerBuilderContext = new ContainerBuilderFactory();
55             cb = containerBuilderContext.createContainerBuilder(context);
56             context.setAttribute(ContainerBuilder.APPLICATION_CONTEXT_ATTRIBUTE_NAME, cb);
57             Debug.logVerbose("[JdonFramework] Initialize the container OK ..");
58         } catch (Exception JavaDoc e) {
59             Debug.logError("[JdonFramework] initialized error: " + e, module);
60             context.log(e.getMessage(), e);
61         }
62     }
63
64     /**
65      * prepare to the applicaition xml Configure for container;
66      *
67      * @param configList
68      * Collection
69      * @param context
70      * ServletContext
71      */

72     public void prepare(String JavaDoc configureFileName, ServletContext JavaDoc context) {
73         ContainerBuilder cb;
74         try {
75             cb = (ContainerBuilder) context.getAttribute(ContainerBuilder.APPLICATION_CONTEXT_ATTRIBUTE_NAME);
76             if (cb == null) {
77                 initialized(context);
78                 cb = (ContainerBuilder) context.getAttribute(ContainerBuilder.APPLICATION_CONTEXT_ATTRIBUTE_NAME);
79             }
80             ContainerDirector cd = new ContainerDirector(cb);
81             cd.prepareConfiguration(configureFileName);
82         } catch (Exception JavaDoc ex) {
83             Debug.logError(ex, module);
84         }
85     }
86
87     /**
88      * startup Application container
89      *
90      * @param configList
91      * Collection
92      * @param context
93      * ServletContext
94      */

95     public void startup(ServletContext JavaDoc context) {
96         ServletContainerFinder scf = new ServletContainerFinder();
97         ContainerBuilder cb;
98         try {
99             cb = (ContainerBuilder) context.getAttribute(ContainerBuilder.APPLICATION_CONTEXT_ATTRIBUTE_NAME);
100             if (cb == null)
101                 return;
102             ContainerDirector cd = new ContainerDirector(cb);
103             cd.startup();
104         } catch (Exception JavaDoc ex) {
105             Debug.logError(ex, module);
106         }
107     }
108
109     /**
110      * desroy Application container
111      *
112      * @param context
113      * ServletContext
114      */

115     public void destroyed(ServletContext JavaDoc context) {
116         try {
117            // if (context == null)
118
// return;
119
ContainerBuilder cb = (ContainerBuilder) context.getAttribute(ContainerBuilder.APPLICATION_CONTEXT_ATTRIBUTE_NAME);
120             if (cb != null) {
121                 ContainerWrapper cw = cb.getContainerWrapper();
122                 cw.stop();
123                 //context.removeAttribute(ContainerBuilder.APPLICATION_CONTEXT_ATTRIBUTE_NAME);
124
Debug.logVerbose("[JdonFramework] stop the container ..", module);
125             }
126         } catch (Exception JavaDoc e) {
127             Debug.logError("[JdonFramework] destroyed error: " + e, module);
128         }
129
130     }
131     
132   
133     
134 }
135
Popular Tags