package soapimpl.SessOrders;

import java.util.Enumeration;
import java.util.Properties;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.naming.InitialContext;
import javax.naming.Context;
import javax.rmi.PortableRemoteObject;
import soapimpl.EntOrders.order;
import soapimpl.EntOrders.orderHome;

public class orderSessBean implements SessionBean {
	
	protected SessionContext context;

	public void ejbCreate() {
		//toDo
	}
	
	public void setSessionContext(SessionContext ctx) {
		this.context = ctx;
	}
	public void unsetSessionContext() {
		this.context = null;
	}
	public void ejbActivate() {}
	public void ejbPassivate() {}
	public void afterBegin() {}
	public void beforeCompletion() {}
	public void ejbRemove() {}

	//Private constant
	private static int OK = 0;
	private static int KO = 1;
	private static String ENT_ORDER = "ORDERSJNDI";
	
	public int newOrder(int orderid, String userid, String cardid, double amount) {
		try {
			javax.naming.Context ctx = new InitialContext();
			Object obj = ctx.lookup("java:comp/env/ejb/orderHome");

			orderHome home = (orderHome)PortableRemoteObject.narrow(obj,orderHome.class);
			order sd = home.create(orderid,userid,cardid,amount);
			return OK;
		} catch (Exception e) {
			e.printStackTrace();
			return KO;
		}
	}
	public Enumeration findByUserID(String userid) {
		//toDo
		return null;
	}
	public Enumeration findByCardID(String Cardid) {
		//toDo
		return null;
	}
	public Enumeration findByAmountGT(double amount) {
		//toDo
		return null;
	}
	public Enumeration findAll() {
		try {
			javax.naming.Context ctx = new InitialContext();
			Object obj = ctx.lookup("java:comp/env/ejb/orderHome");
			orderHome home = (orderHome)PortableRemoteObject.narrow(obj,orderHome.class);
			Enumeration en = home.findAll();
			return en;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
	/*
	private InitialContext newContext() throws javax.naming.NamingException {
		String contextFactory = "com.sun.jndi.rmi.registry.RegistryContextFactory";
		String pkgPrefix = "org.objectweb.jonas.naming";
		String anUrl = "rmi://pellerano:1099";
		Properties p = new Properties();
		p.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory);
		p.put(Context.URL_PKG_PREFIXES, pkgPrefix);
		p.put(Context.PROVIDER_URL, anUrl);
		return new InitialContext(p);
	}
	*/
}
