import java.io.IOException;
import org.openejb.test.stateless.BasicStatelessBean;
import java.lang.reflect.Method;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.openejb.ContainerIndex;
import org.openejb.EJBContainer;

public class SimpleServlet extends HttpServlet{
	
    /* (non-Javadoc)
     * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     */
    protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1)
        throws ServletException, IOException {
			ContainerIndex index = ContainerIndex.getInstance();
			String str = "Hello\n";
			int length = index.length();
			System.out.println(length);
			for(int i = 0;i<length;i++){
				EJBContainer contianer = index.getContainer(i);
				if(contianer!= null){
					try{
						String name = contianer.getEJBName();
						if("BasicStatelessBean".equals(name)){
							System.out.println("come in");
							
							Class bean = Class.forName("org.openejb.test.stateless.BasicStatelessBean");
							Method method = bean.getMethod("businessMethod",new Class[]{Class.forName("java.lang.String")});
							String result = (String)contianer.invoke(method,new String[]{"Hello"},null);
							System.out.println("result "+result); 
						}
					}catch(Throwable th){
						th.printStackTrace();		
					}
				}
				
			}
			arg1.getWriter().write(str);
    }
    
    
    private String processContianer(EJBContainer contianer){
    	String val = "--------------------------------------";

		return val;
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     */
    protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1)
        throws ServletException, IOException {
        super.doGet(arg0,arg1);
    }

    /* (non-Javadoc)
     * @see javax.servlet.GenericServlet#init()
     */
    public void init() throws ServletException {
        System.out.println("the servlet started");
        super.init();
    }

}
