ClientDataModule.java
上传用户:jnhyscl
上传日期:2010-03-08
资源大小:345k
文件大小:3k
源码类别:

电子政务应用

开发平台:

Java

  1. package dm;
  2. /**
  3.  * <p>Title: </p>
  4.  * <p>Description: </p>
  5.  * <p>Copyright: Copyright (c) 2003</p>
  6.  * <p>Company: </p>
  7.  * @author not attributable
  8.  * @version 1.0
  9.  */
  10. import shiponline.*;
  11. import com.borland.dx.dataset.*;
  12. import com.borland.dx.ejb.*;
  13. import javax.naming.*;
  14. import java.util.*;
  15. public class ClientDataModule implements DataModule {
  16.   private static ClientDataModule myDM;
  17.   SessionBeanConnection sessionBeanConnection = new SessionBeanConnection();
  18.   EjbClientDataSet portDataSet = new EjbClientDataSet();
  19.   ParameterRow portIdParameter = new ParameterRow();
  20.   Column searchItemColumn = new Column();
  21.   Column priceColumn = new Column();
  22.   Column ejbPrimaryKeyColumn = new Column();
  23.   Apps apps;
  24.   AppsHome appsHome;
  25.   public ClientDataModule() {
  26.     try {
  27.       System.out.println("hhhhhhhhhhhhhh" + sessionBeanConnection.toString());
  28.       jbInit();
  29.     }
  30.     catch(Exception e) {
  31.       e.printStackTrace();
  32.     }
  33.   }
  34.   private void jbInit()  {
  35.     try{
  36.        javax.naming.Context context =getInitialContext();
  37.         portDataSet.setSessionBeanConnection(sessionBeanConnection);
  38.         portDataSet.setExecuteOnOpen(false);
  39.         portDataSet.setMethodName("Port");
  40.         appsHome=(AppsHome)context.lookup("Apps");
  41.         apps = appsHome.create();
  42.        //apps = (Apps) sessionBeanConnection.getSessionBeanRemote();
  43.         portIdParameter.setColumns(new Column [] { new Column("PORTID", "PORTID", Variant.INT)});
  44.         //portDataSet.setParameterRow(portIdParameter);
  45.         if(!portDataSet.isOpen()){
  46.       portDataSet.open();
  47.     }else{
  48.       portDataSet.empty();
  49.     }
  50.   }catch(Exception e) {
  51.     System.out.println("gggggggggggggggggggg" + e);
  52.     }
  53.   }
  54.   public static ClientDataModule getDataModule() {
  55.     if (myDM == null) {
  56.       myDM = new ClientDataModule();
  57.     }
  58.     return myDM;
  59.   }
  60.   public com.borland.dx.ejb.SessionBeanConnection getSessionBeanConnection() {
  61.     return sessionBeanConnection;
  62.   }
  63.   public void setPortDataSet(EjbClientDataSet ds){
  64.     this.portDataSet=ds;
  65.   }
  66.   public EjbClientDataSet getPortDataSet() {
  67.     return portDataSet;
  68.   }
  69.   public void addNewPort() throws Exception{
  70.      DataSetData[] ds = apps.addNewPort();
  71.      ds[0].loadDataSet(this.portDataSet);
  72.   }
  73.   private Context getInitialContext() throws Exception {
  74.     String hostname="fanhua02";
  75.     String url = "iiop://fanhua02:9090";
  76.     String user ="Guest";
  77.     String password ="GuestPassword";
  78.     Properties properties = null;
  79.     try {
  80.       properties = new Properties();
  81.       properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sybase.ejb.InitialContextFactory");
  82.       properties.put(Context.PROVIDER_URL, url);
  83.       properties.put(Context.SECURITY_PRINCIPAL, user);
  84.       properties.put(Context.SECURITY_CREDENTIALS, password);
  85.       Thread curr=Thread.currentThread();
  86.       ClassLoader l=curr.getContextClassLoader();
  87.       ClassLoader c=l;
  88.       java.net.URL classPath = new java.net.URL("http",hostname,8080,"/classes/");
  89.       curr.setContextClassLoader(java.net.URLClassLoader.newInstance(new java.net.URL[]{classPath},l));
  90.       return new InitialContext(properties);
  91.     }
  92.     catch(Exception e) {
  93.       throw e;
  94.     }
  95.   }
  96. }