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

电子政务应用

开发平台:

Java

  1. package shiponline;
  2. import javax.ejb.*;
  3. import com.borland.dx.dataset.*;
  4. import com.borland.dx.ejb.*;
  5. public class ServerDataModuleBean implements SessionBean {
  6.   SessionContext sessionContext;
  7.   LocalEntityBeanProvider vaoPortProvider = new LocalEntityBeanProvider();
  8.   LocalEntityBeanResolver vaoPortResolver = new LocalEntityBeanResolver();
  9.   TableDataSet portDataSet = new TableDataSet();
  10.   VaoPortHome vaoPortHome;
  11.   SequenceGeneratorLocalHome sequenceHome;
  12.   ParameterRow parameterRow = new ParameterRow();
  13.   RowData[] parameterArray = new RowData[3];
  14.   Column column1 = new Column("ProvideType","ProvideType",Variant.STRING);
  15.   Column column2 = new Column("ProvideValue","ProvideValue",Variant.INT);
  16.   public void ejbCreate() throws CreateException {
  17.     /**@todo Complete this method*/
  18.   }
  19.   public void ejbRemove() {
  20.     /**@todo Complete this method*/
  21.   }
  22.   public void ejbActivate() {
  23.     /**@todo Complete this method*/
  24.   }
  25.   public void ejbPassivate() {
  26.     /**@todo Complete this method*/
  27.   }
  28.   public void setSessionContext(SessionContext sessionContext) {
  29.     this.sessionContext = sessionContext;
  30.     try {
  31.     javax.naming.Context context = new javax.naming.InitialContext();
  32.      vaoPortHome = (VaoPortHome) context.lookup("java:comp/env/VaoPort");
  33.      sequenceHome=(SequenceGeneratorLocalHome)context.lookup("java:comp/env/SequenceGenerator");
  34.      vaoPortProvider.setEjbLocal(VaoPort.class);
  35.      vaoPortProvider.setEjbLocalHome(vaoPortHome);
  36.      vaoPortResolver.setEjbLocal(VaoPort.class);
  37.      vaoPortResolver.setEjbLocalHome(vaoPortHome);
  38. }
  39. catch (Exception ex) {
  40. throw new EJBException(ex);
  41. }
  42.   }
  43.   public VaoPort newVaoPort() {
  44.     /**@todo Complete this method*/
  45.     return null;
  46.   }
  47.   public void addVaoPort(DataSetData[] dataArray) {
  48.     VaoPort newVaoPort=null;
  49.     try{
  50.       newVaoPort = vaoPortHome.create(new Integer(1));
  51.     }catch(Exception e){
  52.       e.printStackTrace();
  53.     }
  54.     resolveVaoPort(dataArray);
  55.   }
  56.   public ServerDataModuleBean() {
  57.     try {
  58.       jbInit();
  59.     }
  60.     catch(Exception e) {
  61.       e.printStackTrace();
  62.     }
  63.   }
  64.   private void jbInit()  {
  65.    try{
  66.      parameterArray[0]= new RowData();
  67.      parameterRow.addColumn(column2);
  68.      vaoPortResolver.addLocalEntityBeanCreateListener(new com.borland.dx.ejb.
  69.          LocalEntityBeanCreateListener() {
  70.        public void create(LocalEntityBeanCreateEvent e) {
  71.          System.out.println("ylf");
  72.          //VaoPort vaoPort = newVaoPort();
  73.          //e.getLocalEntityBeanResolver().storeDataRowToEntityBean(e.getDataRow(),vaoPort);
  74.        }
  75.      });
  76.      vaoPortProvider.addLocalEntityBeanFindListener(new com.borland.dx.ejb.
  77.          LocalEntityBeanFindListener() {
  78.        public void findEntityBeans(LocalEntityBeanFindEvent e) {
  79.          System.out.println(e.getSource());
  80.          System.out.println("dddddddddddddddddddddddddddddddd");
  81.          try {
  82.            ReadWriteRow paramRow = e.getLocalEntityBeanProvider().
  83.                getParameterRow();
  84.            System.out.println(paramRow.toString());
  85.            if (paramRow != null) {
  86.              Integer portid = new Integer(paramRow.getInt(0));
  87.              System.out.println("ccccccccc="+portid);
  88.              e.setEntityBeanLocal(vaoPortHome.findByPrimaryKey(portid));
  89.            }
  90.          }
  91.          catch (Exception ex) {
  92.            ex.printStackTrace();
  93.          }
  94.        }
  95.      });
  96.    }catch(Exception e){
  97.    }
  98.     portDataSet.setProvider(vaoPortProvider);
  99.     portDataSet.setResolver(vaoPortResolver);
  100.   }
  101.   public DataSetData[] resolveVaoPort(DataSetData[] dataSetDataArray) {
  102.    return EntityBeanConnection.saveChanges(dataSetDataArray, new DataSet [] {portDataSet});
  103.  }
  104.   public DataSetData[] providePort(RowData[] parameterArray, RowData[] masterArray) {
  105.    return EntityBeanConnection.provideDataSets(new StorageDataSet [] {portDataSet}, parameterArray, masterArray);
  106.   }
  107.   public DataSetData[] addNewPort(){
  108.     VaoPort newVaoPort;
  109.     System.out.println("cccccc3");
  110.      try {
  111.         //int id = newId("VAOPORT");
  112.         newVaoPort = vaoPortHome.create(new Integer(3));
  113.         System.out.println("cccccc13");
  114.         System.out.println("cccccc14");
  115.         parameterRow.setInt(0,3);
  116.         System.out.println("cccccc15");
  117.         parameterArray[0].load(parameterRow);
  118.         System.out.println("cccccc16");
  119.         DataSetData[] ds = EntityBeanConnection.provideDataSets(new StorageDataSet [] { portDataSet}, parameterArray, null);
  120.         System.out.println("cccccc17");
  121.         return ds;
  122.       }    catch (Exception ex) {
  123.         System.out.println("lihang"+ex);
  124.         return null;
  125.       }
  126. }
  127.   public int newId(String sequence_name){
  128.     try {
  129.         System.out.println("cccccc4");
  130.        SequenceGeneratorLocal seq = sequenceHome.create();
  131.        System.out.println("cccccccc"+seq.nextSequenceNumber(sequence_name));
  132.        return seq.nextSequenceNumber(sequence_name);
  133.     }catch (Exception ex) {
  134.       throw new EJBException("Error generating id for : " + sequence_name);
  135.     }
  136.   }
  137. }