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