001    package railo.loader.engine;
002    
003    import java.io.IOException;
004    import java.net.URL;
005    import java.util.Map;
006    
007    import javax.servlet.ServletConfig;
008    import javax.servlet.ServletContext;
009    import javax.servlet.ServletException;
010    import javax.servlet.http.HttpServlet;
011    import javax.servlet.http.HttpServletRequest;
012    import javax.servlet.http.HttpServletResponse;
013    import javax.servlet.jsp.JspException;
014    
015    import railo.runtime.CFMLFactory;
016    import railo.runtime.PageContext;
017    import railo.runtime.util.Cast;
018    import railo.runtime.util.Creation;
019    import railo.runtime.util.Decision;
020    import railo.runtime.util.Excepton;
021    import railo.runtime.util.HTTPUtil;
022    import railo.runtime.util.Operation;
023    import railo.runtime.util.ResourceUtil;
024    import railo.runtime.util.ZipUtil;
025    import railo.runtime.video.VideoUtil;
026    
027    /**
028     * wrapper for a CFMlEngine
029     */
030    public class CFMLEngineWrapper implements CFMLEngine, EngineChangeListener {
031        
032        private CFMLEngine engine;
033    
034        /**
035         * constructor of the class
036         * @param engine
037         */
038        public CFMLEngineWrapper(CFMLEngine engine) {
039            this.engine=engine;
040        }
041        
042        /**
043         * @see railo.loader.engine.CFMLEngine#addServletConfig(javax.servlet.ServletConfig)
044         */
045        public void addServletConfig(ServletConfig config) throws ServletException {
046            engine.addServletConfig(config);
047        }
048    
049        /**
050         * @see railo.loader.engine.CFMLEngine#serviceCFML(javax.servlet.http.HttpServlet, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
051         */
052        public void serviceCFML(HttpServlet servlet, HttpServletRequest req,
053                HttpServletResponse rsp) throws ServletException, IOException {
054            engine.serviceCFML(servlet,req,rsp);
055        }
056    
057        /**
058         * @see railo.loader.engine.CFMLEngine#serviceAMF(javax.servlet.http.HttpServlet, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
059         */
060        public void serviceAMF(HttpServlet servlet, HttpServletRequest req,
061                HttpServletResponse rsp) throws ServletException, IOException {
062            engine.serviceAMF(servlet,req,rsp);
063        }
064        
065        /**
066         * @see railo.loader.engine.CFMLEngine#serviceFile(javax.servlet.http.HttpServlet, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
067         */
068        public void serviceFile(HttpServlet servlet, HttpServletRequest req,
069                HttpServletResponse rsp) throws ServletException, IOException {
070            engine.serviceFile(servlet,req,rsp);
071        }
072        
073    
074        public void serviceRest(HttpServlet servlet, HttpServletRequest req,
075                HttpServletResponse rsp) throws ServletException, IOException {
076            engine.serviceRest(servlet,req,rsp);
077        }
078    
079        /**
080         * @see railo.loader.engine.CFMLEngine#getVersion()
081         */
082        public String getVersion() {
083            return engine.getVersion();
084        }
085    
086        /**
087         * @see railo.loader.engine.CFMLEngine#getUpdateType()
088         */
089        public String getUpdateType() {
090            return engine.getUpdateType();
091        }
092    
093        /**
094         * @see railo.loader.engine.CFMLEngine#getUpdateLocation()
095         */
096        public URL getUpdateLocation() {
097            return engine.getUpdateLocation();
098        }
099    
100        /**
101         * @see railo.loader.engine.CFMLEngine#can(int, java.lang.String)
102         */
103        public boolean can(int type, String password) {
104            return engine.can(type,password);
105        }
106    
107        /**
108         * @see railo.loader.engine.CFMLEngine#getCFMLEngineFactory()
109         */
110        public CFMLEngineFactory getCFMLEngineFactory() {
111            return engine.getCFMLEngineFactory();
112        }
113    
114        /**
115         * @see railo.loader.engine.CFMLEngine#reset()
116         */
117        public void reset() {
118            engine.reset();
119        }
120    
121        /**
122         * @see railo.loader.engine.CFMLEngine#reset(String)
123         */
124        public void reset(String configId) {
125            engine.reset(configId);
126        }
127    
128        /**
129         * @see railo.loader.engine.EngineChangeListener#onUpdate(railo.loader.engine.CFMLEngine)
130         */
131        public void onUpdate(CFMLEngine newEngine) {
132            this.engine=newEngine;
133        }
134    
135        /**
136         * @see railo.loader.engine.CFMLEngine#getCastUtil()
137         */
138        public Cast getCastUtil() {
139            return engine.getCastUtil();
140        }
141    
142        /**
143         * @see railo.loader.engine.CFMLEngine#getOperatonUtil()
144         */
145        public Operation getOperatonUtil() {
146            return engine.getOperatonUtil();
147        }
148    
149        /**
150         * @see railo.loader.engine.CFMLEngine#getDecisionUtil()
151         */
152        public Decision getDecisionUtil() {
153            return engine.getDecisionUtil();
154        }
155    
156        /**
157         * @see railo.loader.engine.CFMLEngine#getExceptionUtil()
158         */
159        public Excepton getExceptionUtil() {
160            return engine.getExceptionUtil();
161        }
162    
163        /**
164         * @see railo.loader.engine.CFMLEngine#getCreationUtil()
165         */
166        public Creation getCreationUtil() {
167            return engine.getCreationUtil();
168        }
169    
170            /**
171             *
172             * @see railo.loader.engine.CFMLEngine#getCFMLFactory(javax.servlet.ServletContext, javax.servlet.ServletConfig, javax.servlet.http.HttpServletRequest)
173             */
174            public CFMLFactory getCFMLFactory(ServletContext srvContext, ServletConfig srvConfig, HttpServletRequest req) throws ServletException {
175                    return engine.getCFMLFactory(srvContext, srvConfig, req);
176            }
177    
178            /**
179             * @see railo.loader.engine.CFMLEngine#getBlazeDSUtil()
180             */
181            public Object getBlazeDSUtil() {
182                    return engine.getBlazeDSUtil();
183            }
184    
185            /**
186             * @see railo.loader.engine.CFMLEngine#getFDController()
187             */
188            public Object getFDController() {
189                    return engine.getFDController();
190            }
191    
192            /**
193             * @see railo.loader.engine.CFMLEngine#getHTTPUtil()
194             */
195            public HTTPUtil getHTTPUtil() {
196                    return engine.getHTTPUtil();
197            }
198    
199            /**
200             * @see railo.loader.engine.CFMLEngine#getResourceUtil()
201             */
202            public ResourceUtil getResourceUtil() {
203                    return engine.getResourceUtil();
204            }
205    
206            /**
207             * @see railo.loader.engine.CFMLEngine#getThreadPageContext()
208             */
209            public PageContext getThreadPageContext() {
210                    return engine.getThreadPageContext();
211            }
212    
213            /**
214             * @see railo.loader.engine.CFMLEngine#getVideoUtil()
215             */
216            public VideoUtil getVideoUtil() {
217                    return engine.getVideoUtil();
218            }
219    
220            /**
221             * @see railo.loader.engine.CFMLEngine#getZipUtil()
222             */
223            public ZipUtil getZipUtil() {
224                    return engine.getZipUtil();
225            }
226    
227            /**
228             * @see railo.loader.engine.CFMLEngine#getState()
229             */
230            public String getState() {
231                    return engine.getState();
232            }
233            
234            /**
235             * this interface is new to this class and not offically part of Railo 3.x, do not use outside the loader
236             * @param other
237             * @param checkReferenceEqualityOnly
238             * @return
239             */
240            public boolean equalTo(CFMLEngine other, boolean checkReferenceEqualityOnly) {
241                    while(other instanceof CFMLEngineWrapper)
242                            other=((CFMLEngineWrapper)other).engine;
243                    if(checkReferenceEqualityOnly) return engine==other;
244                    return engine.equals(other);
245            }
246    
247            @Override
248            public void cli(Map<String, String> config, ServletConfig servletConfig) throws IOException, JspException, ServletException {
249                    engine.cli(config, servletConfig);
250            }
251    
252            @Override
253            public void registerThreadPageContext(PageContext pc) {
254                    engine.registerThreadPageContext(pc);
255            }
256    }