01: /**
02: *
03: * Licensed to the Apache Software Foundation (ASF) under one or more
04: * contributor license agreements. See the NOTICE file distributed with
05: * this work for additional information regarding copyright ownership.
06: * The ASF licenses this file to You under the Apache License, Version 2.0
07: * (the "License"); you may not use this file except in compliance with
08: * the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing, software
13: * distributed under the License is distributed on an "AS IS" BASIS,
14: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15: * See the License for the specific language governing permissions and
16: * limitations under the License.
17: */package org.apache.openejb.tomcat.common;
18:
19: import org.apache.openejb.loader.SystemInstance;
20: import org.apache.openejb.server.ServiceException;
21: import org.apache.openejb.server.ejbd.EjbServer;
22:
23: import javax.servlet.ServletConfig;
24: import javax.servlet.ServletException;
25: import javax.servlet.ServletInputStream;
26: import javax.servlet.ServletOutputStream;
27: import javax.servlet.http.HttpServlet;
28: import javax.servlet.http.HttpServletRequest;
29: import javax.servlet.http.HttpServletResponse;
30: import java.io.IOException;
31:
32: public class ServerServlet extends HttpServlet {
33: private EjbServer ejbServer;
34:
35: public void init(ServletConfig config) {
36: ejbServer = SystemInstance.get().getComponent(EjbServer.class);
37: }
38:
39: protected void service(HttpServletRequest request,
40: HttpServletResponse response) throws ServletException,
41: IOException {
42: ServletInputStream in = request.getInputStream();
43: ServletOutputStream out = response.getOutputStream();
44: try {
45: ejbServer.service(in, out);
46: } catch (ServiceException e) {
47: throw new ServletException("ServerService error: "
48: + ejbServer.getClass().getName() + " -- "
49: + e.getMessage(), e);
50: }
51: }
52: }
|