package  trade.price.ejb.e2.server;

import java.util.Enumeration;
import javax.ejb.EJBException;
import java.rmi.RemoteException;
import javax.ejb.SessionContext;
import java.lang.String;
import javax.naming.*;
import javax.naming.InitialContext;
import javax.transaction.*;
import javax.ejb.FinderException;
import java.util.*;
import javax.ejb.SessionBean;
import trade.price.ejb.e2.interfaces.*;
import trade.common.*;

/**
 *	e2(°æÁ¦2_°æ±âÁöÇ¥)Ã³¸®ÇÏ´Â ¼¼¼Çºó 
 *
 *	@ÀÛ¼ºÀÚ :Á¤À¯Áø
 *	@ÀÛ¼ºÀÏ : 00-05-10 11:26¿ÀÀü Á¤À¯Áø ±¸Çö 
 *
 *
 */


public class E2ManagerBean implements SessionBean 
{
	
	private transient SessionContext ctx;
	private boolean isDirty = false;
	
	/** 
	*  »ý¼ºÀÚ 
	*/            
	public E2ManagerBean() {}

	/** 
	*  ÇØ´çdata µî·Ï 
	*	@param remote interface °´Ã¼ 
	*	@return µî·ÏÈÄ¸Þ½ÃÁö     
	*/                                 
	
	
	public ResultMessage registerE2(TE2 tE2) 
	{
		E2 e2_1 = null;
	    E2PK e2PK= new E2PK();
	    E2Home e2Home= null;
		ResultMessage mesg=null;
		tE2.update_flag="1";
		try
		{
			System.out.println("//==== registerE2() ====//");
			
			Properties p1 = new Properties();
		 	System.out.println("getHome 1");
			p1.put(Context.PROVIDER_URL, "rmi:/210.92.0.149:1098");
			System.out.println("getHome 2");
			p1.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.rmi.registry.RegistryContextFactory");
			System.out.println("getHome 3");
			Context initialContext1=null;
		    System.out.println("getHome 4");
			initialContext1 = new InitialContext(p1);
			System.out.println(" getHome 5");
			e2Home =(E2Home)initialContext1.lookup("E2Home");
		    System.out.println("[1]");
		   /*
		    e2Home = (E2Home)EJBObjectTool.getHome("E2Home");
			*/
			System.out.println("[2222]");
			e2PK.date_data = tE2.date_data;
			System.out.println("[3333]"+e2PK.date_data);
			e2_1= e2Home.findByPrimaryKey(e2PK);
			System.out.println("[4444]");
			e2_1.setE2(tE2);
			System.out.println("[5]");
			setModified(true);
			
			//¾÷Å×ÀÌÆ®
			System.out.println("[modifyE2]+before");
			mesg=new ResultMessage(true, "update OK");
			
		}
		catch(FinderException fe)
		{
			E2 e2=null;
		   try
			{
				System.out.println("[registerE2]+insert");
				tE2.update_flag="0";
				e2=e2Home.create(tE2);
				mesg=new ResultMessage(true, "µî·Ï ¼º°ø");
			}catch(Exception exp)		                
	      {
	      	ctx.setRollbackOnly();
	         System.out.println("Exception : "+ exp);
				
				//return new ResultMessage(false, "µî·Ï ½ÇÆÐ");
	      }
	           
		}catch (Exception e)
		{
			//ctx.setRollbackOnly();
			System.out.println("Exception : ");
			e.printStackTrace();
			//return new ResultMessage(false, "E2Home»ý¼º Áß ¿¹¿Ü»óÈ² ¹ß»ý"); 
	   }
	      
		return mesg;       
	}
	
	/** 
	*  ÇØ´ç data »èÁ¦ 
	*	@param ±â°£ 
	*	@return µî·ÏÈÄ¸Þ½ÃÁö     
	*/                                 
	public ResultMessage deleteE2(String date_data)
	{
	
		E2Home e2Home2 = null;

		E2	e2 =null;
		TE2 tE2_2 = null;
		try
		{
			e2Home2 = (E2Home)EJBObjectTool.getHome("E2Home");
			E2PK e2PK2 = new E2PK();
			e2PK2.date_data= date_data;
			e2 = e2Home2.findByPrimaryKey(e2PK2);
			e2.remove();        
			
		}
		catch (Exception e)
		{
			System.out.println("Cannot remove E2: " + e );
      	ctx.setRollbackOnly();
			return new ResultMessage(false, "»èÁ¦ ½ÇÆÐ");
		}
		return new ResultMessage(true, "»èÁ¦ ¼º°ø");
	
	}
	
	/** 
	*  ºó»ý¼ºÁÖ±â¸Þ¼­µå:È°¼ºÈ­ 
	*	
	*/        
	public void ejbActivate() 
	{
		System.out.println("//==== ejbActivate() ====//");
	}
	
	/** 
	*  ºó»ý¼ºÁÖ±â¸Þ¼­µå: ºñÈ°¼ºÈ­  
	*	
	*/        
	public void ejbPassivate()
	{
		System.out.println("//==== ejbPassivate() ====//");
	}
	
	/** 
	*  ºó»ý¼ºÁÖ±â¸Þ¼­µå:Á¦°Å 
	*	
	*/        
	public void ejbRemove()
	{
		System.out.println("//==== ejbRemove() ====//");
	}
	
	/** 
	*  ºó»ý¼ºÁÖ±â¸Þ¼­µå: Æ®·£Àè¼Çcontext ¼ÂÆÃ 
	*	
	*/        
	public void setSessionContext(SessionContext arg0) throws EJBException,RemoteException 
	{
		this.ctx = ctx;	
	}
	/** 
	*  ºó»ý¼ºÁÖ±â¸Þ¼­µå:ºóÀÎ½ºÅÏ½º »ý¼º  
	*	
	*/        
	public void ejbCreate()
	{
		System.out.println("//==== ejbCreate() ====//");
	}
	/** 
	*  ¼öÁ¤°ü·Ã? 
	*	
	*/        
	public boolean isModified()
	{
		return isDirty;
	}
	/** 
	*  ¼öÁ¤°ü·Ã? 
	*	
	*/        
	
	public void setModified(boolean flag)
	{
		isDirty = flag;
	}


}
