/* JFox, the OpenSource J2EE Application Server
 *
 * Copyright (C) 2002 huihoo.com
 * Distributable under GNU LGPL license
 * See the GNU Lesser General Public License for more details.
 */

package org.jfox.ejb.examples.stateless;

import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.ejb.EJBMetaData;

/**
 * @author <a href="mailto:young_yy@hotmail.com">Young Yang</a>
 */

public class HelloServlet extends HttpServlet {

  protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
    httpServletResponse.setContentType("text/plain");
    try {
      Context ctx = new InitialContext();
      Object obj = ctx.lookup("/" + HelloHome.class.getName().replace('.', '/'));
      HelloHome home = (HelloHome) javax.rmi.PortableRemoteObject.narrow(obj, HelloHome.class);
      Hello hello = home.create();
      EJBMetaData meta = home.getEJBMetaData();
      ServletOutputStream out = httpServletResponse.getOutputStream();
      out.println("result returned by jfox application server:");
      out.println("EJBMetaData: " + meta);
      out.println("Voice from Hello: " + hello.getVoice());
    }
    catch (Exception e) {
      throw new ServletException(e);
    }
  }

  public static void main(String[] args) {

  }
}