1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18package tests.support;
19
20import java.io.IOException;
21import java.io.InputStream;
22
23/*
24import javax.servlet.ServletException;
25import javax.servlet.http.HttpServlet;
26import javax.servlet.http.HttpServletRequest;
27import javax.servlet.http.HttpServletResponse;
28
29import org.mortbay.jetty.HttpConnection;
30import org.mortbay.jetty.Request;
31import org.mortbay.jetty.Server;
32import org.mortbay.jetty.handler.AbstractHandler;
33import org.mortbay.jetty.handler.ResourceHandler;
34import org.mortbay.jetty.servlet.Context;
35import org.mortbay.jetty.servlet.ServletHolder;
36*/
37
38public class Support_Jetty {
39    /*
40    public static Server DEFAULT_SERVER = null;
41
42    public static int DEFAULT_PORT = 0;
43
44    public static Server DEFAULT_SERVLET = null;
45
46    public static int DEFAULT_SERVLET_PORT = 0;
47
48    public static Server SERVER = null;
49
50    public static int PORT = 0;
51
52    static {
53        Runtime.getRuntime().addShutdownHook(new Thread() {
54            public void run() {
55                try {
56                    stopDefaultServer();
57                    stopServer();
58                    stopDefaultServlet();
59                } catch (Exception e) {
60                    e.printStackTrace();
61                }
62            }
63        });
64    }
65
66    private static class HYDefaultServlet extends HttpServlet
67    {
68        private static final long serialVersionUID = -7650071946216123835L;
69
70        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
71        {
72            InputStream in = request.getInputStream();
73            int i;
74            StringBuilder s = new StringBuilder();
75            while((i = in.read())!=-1){
76                s.append((char)i);
77            }
78            response.setContentType("text/html");
79            response.setStatus(HttpServletResponse.SC_OK);
80            response.getWriter().print(s);
81        }
82    }
83
84    private static class HYDefaultHandler extends AbstractHandler
85    {
86        public void handle(String target, HttpServletRequest request, HttpServletResponse response, int dispatch) throws IOException, ServletException
87        {
88            Request base_request = (request instanceof Request) ? (Request)request:HttpConnection.getCurrentConnection().getRequest();
89            base_request.setHandled(true);
90            response.setContentType("text/html");
91            response.addDateHeader("Date", System.currentTimeMillis());
92            response.addDateHeader("Last-Modified", Support_Configuration.URLConnectionLastModified);
93            response.setStatus(HttpServletResponse.SC_OK);
94            response.getWriter().print("<h1>Hello OneHandler</h1>");
95        }
96    }
97*/
98    public static int startDefaultHttpServer() throws Exception {
99        /*
100        if (DEFAULT_SERVER != null){
101            return DEFAULT_PORT;
102        }
103        DEFAULT_SERVER = new Server(0);
104        DEFAULT_SERVER.setHandler(new HYDefaultHandler());
105        Context context = new Context(DEFAULT_SERVER,"/",Context.SESSIONS);
106        context.addServlet(new ServletHolder(new HYDefaultServlet()), "/servlet");
107        DEFAULT_SERVER.start();
108        DEFAULT_PORT = DEFAULT_SERVER.getConnectors()[0].getLocalPort();
109        return DEFAULT_PORT;
110        */
111        return -1;
112    }
113
114    public static int startDefaultServlet() throws Exception {
115        /*
116        if (DEFAULT_SERVLET != null){
117            return DEFAULT_SERVLET_PORT;
118        }
119        DEFAULT_SERVLET = new Server(0);
120        Context context = new Context(DEFAULT_SERVLET,"/",Context.SESSIONS);
121        context.addServlet(new ServletHolder(new HYDefaultServlet()), "/*");
122        DEFAULT_SERVLET.start();
123        DEFAULT_SERVLET_PORT = DEFAULT_SERVLET.getConnectors()[0].getLocalPort();
124        return DEFAULT_SERVLET_PORT;
125        */
126        return -1;
127    }
128
129    public static int startHttpServerWithDocRoot(String root) throws Exception {
130        /*
131        if (SERVER != null) {
132            SERVER.stop();
133            SERVER = null;
134        }
135        SERVER = new Server(0);
136        ResourceHandler resource_handler = new ResourceHandler();
137        resource_handler.setResourceBase(root);
138        SERVER.setHandler(resource_handler);
139        SERVER.start();
140        PORT = SERVER.getConnectors()[0].getLocalPort();
141        return PORT;
142        */
143        return -1;
144    }
145
146    private static void stopDefaultServer() throws Exception {
147        /*
148        if (DEFAULT_SERVER != null) {
149            DEFAULT_SERVER.stop();
150            DEFAULT_SERVER = null;
151        }
152        */
153    }
154
155    private static void stopServer() throws Exception {
156        /*
157        if (SERVER != null) {
158            SERVER.stop();
159            SERVER = null;
160        }
161        */
162    }
163
164    private static void stopDefaultServlet() throws Exception {
165        /*
166        if (DEFAULT_SERVLET != null) {
167            DEFAULT_SERVLET.stop();
168            DEFAULT_SERVLET = null;
169        }
170        */
171    }
172}
173