+

Search Tips   |   Advanced Search

Example: using MediatorAdapter


In this example, the adapter processes CREATE events for an EMP data object. The name and salary attributes are extracted from the data object and passed to the create method on the EmpLocalHome.

The create method returns an instance of Emp EJB and the primary key value is copied back to the DataObject. The caller can then obtain the generated key value. After processing, the adapter returns a value of true. All other changes are ignored by the adapter and processed by the EJB Mediator.

package com.example;
 import com.ibm.websphere.sdo.mediator.ejb.*;
 import javax.naming.InitialContext;
 import commonj.sdo.ChangeSummary;
 import commonj.sdo.DataObject;
 import commonj.sdo.DataGraph;
 import commonj.sdo.ChangeSummary;


// example of Adapter class calling a EJB create method.
 public class SalaryAdapter implements MediatorAdapter{

  ChangeSummary log = null;
      EmpLocalHome empHome = null;

  public boolean applyChange(DataObject object,  int phase){

    if (object.getType().getName().equals("Emp")
         && phase == MediatorAdapter.CREATE){
      try{
        String name = object.getString("name");
        double salary = object.getDouble("salary");
        EmpLocal emp = empHome.create(name, salary);
        object.set("empid", emp.getPrimaryKey() ); 
// set primary key in SDO
        return true;  
      } catch(Exception e){ 
// error handling code goes here 
                  }
    }
    return true; 
  }

  public void init (ChangeSummary log){ 
         try {
    this.log = log;
    InitialContext ic = new InitialContext();
    empHome = (EmpLocalHome)ic.lookup(  "java:comp/env/ejb/Emp");
         } catch (Exception e) { 
// error handling code goes here
         }
  }

  public void end(){}
}




 

Related tasks


Use the EJB data mediator service for data access

 

Related


EJB data mediator service programming considerations
EJB data mediator service data retrieval
EJB data mediator service data update
EJB mediator query syntax
DataGraph schema