What's wrong with this code?
package moves.ejb;
// Java core packages
import java.text.ParseException;
import java.util.*;
import java.text.DateFormat;
import java.rmi.RemoteException;
// Java extension packages
import javax.ejb.*;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
// Moves.com packages
import moves.model.*;
/**
* This is the bean class for the OrdersEJB enterprise bean.
* Created Aug 3, 2006 11:26:24 AM
*
* @author Sawamura
*/
publicabstractclass OrdersEJBimplements EntityBean, OrdersLocalBusiness{
private EntityContext context;
private DateFormat dateFormat;
publicvoid setEntityContext(EntityContext aContext){
context = aContext;
dateFormat = DateFormat.getDateTimeInstance(
DateFormat.FULL, DateFormat.SHORT, Locale.US );
}
publicvoid ejbActivate(){
setOrderID(( Integer ) context.getPrimaryKey());
}
publicvoid ejbPassivate(){
setOrderID(null);
}
publicvoid ejbRemove(){
}
publicvoid unsetEntityContext(){
context =null;
}
publicvoid ejbLoad(){
}
publicvoid ejbStore(){
}
// set shipped flag
publicvoid setFlag(boolean flag){
setSent(flag);
}
// get sent flag
publicboolean isSent(){
return getSent();
}
publicabstract Integer getCustomerID();
publicabstractvoid setCustomerID(Integer customerID);
publicabstract String getOrderDate();
publicabstractvoid setOrderDate(String orderDate);
publicabstract Integer getOrderID();
publicabstractvoid setOrderID(Integer orderID);
publicabstract String getTrxId();
publicabstractvoid setTrxId(String trxId);
publicabstract String getTrxDate();
publicabstractvoid setTrxDate(String trxDate);
publicabstractboolean getSent();
publicabstractvoid setSent(boolean sent);
publicabstract String getMsisdn();
publicabstractvoid setMsisdn(String msisdn);
// create new Order EJB using given OrderModel and msisdn
public Integer ejbCreate( OrderModel order, String msisdn )
throws CreateException, FinderException{
// retrieve unique value for primary key of this
// Order using SequenceFactory EJB
// find sequence for CustomerOrder table
SequencefactoryLocalHome sequencefactoryLocalHome =
lookupSequencefactoryLocal();
SequencefactoryLocal sequencefactoryLocal =
sequencefactoryLocalHome.findByPrimaryKey("CustomerOrders" );
// get next unique orderID
setOrderID(sequencefactoryLocal.getNextMoreID());
// get date, sent flag and list of
// OrderProduct from provided OrderModel
setOrderDate(dateFormat.format( order.getOrderDate() ));
setSent(order.getSent());
setTrxId(order.getTrx_id());
setTrxDate(order.getTrx_date());
setMsisdn(order.getMsisdn());
// get OrderProductModels that comprise OrderModel
Collection orderProductModels = order.getOrderProductModels();
// create OrderProduct EJBs for each Product in
// Order to keep track of quantity
OrderproductLocalHome orderproductLocalHome =
lookupOrderproductLocal();
Iterator iterator = orderProductModels.iterator();
// create an OrderProduct EJB with Product's
// MovieID, quantity and orderID for this Order
while ( iterator.hasNext() ){
OrderProductModel orderProductModel = ( OrderProductModel )
iterator.next();
// set orderID for OrderProduct record
orderProductModel.setOrderID( getOrderID() );
// create OrderProduct EJB instance
orderproductLocalHome.create( orderProductModel );
}
CustomerLocalHome customerLocalHome = lookupCustomerLocal();
// use provided msisdn to find Customer
CustomerLocal customerLocal =
customerLocalHome.findByMsisdn(getMsisdn());
setCustomerID(( Integer ) customerLocal.getPrimaryKey());
returnnull;
}
publicvoid ejbPostCreate(OrderModel order, String msisdn){
}
// get Order details as OrderModel
public OrderModel getOrderModel()throws EJBException, FinderException{
// construct new OrderModel
OrderModel orderModel =new OrderModel();
// look up OrderProduct EJB to retrieve list
// of Products contained in the Order
// populate OrderModel data members with data from Order
orderModel.setOrderID( getOrderID() );
try{
orderModel.setOrderDate( dateFormat.parse( getOrderDate() ) );
}catch (ParseException ex){
ex.printStackTrace();
}
orderModel.setSent( getSent() );
orderModel.setTrx_id( getTrxId() );
orderModel.setTrx_date( getTrxDate() );
// get OrderProduct records for Order
OrderproductHome orderproductHome = lookupOrderproduct();
try{
Collection orderproducts =
orderproductHome.findByOrderID(getOrderID());
Iterator iterator = orderproducts.iterator();
// OrderProductModels to place in OrderModel
Collection orderProductModels =new ArrayList();
// get OrderProductModel for each Product in Order
while ( iterator.hasNext() ){
Orderproduct orderproduct = ( Orderproduct )
PortableRemoteObject.narrow( iterator.next(), Orderproduct.class
);
// get OrderProductModel for OrderProduct record
OrderProductModel orderProductModel =
orderproduct.getOrderProductModel();
// add OrderProductModel to list of
// OrderProductModels in the Order
orderProductModels.add( orderProductModel );
}
// add Collection of OrderProductModels to OrderModel
orderModel.setOrderProductModels( orderProductModels );
}catch (RemoteException ex){
ex.printStackTrace();
}
return orderModel;
}
private SequencefactoryLocalHome lookupSequencefactoryLocal(){
try{
Context c =new InitialContext();
SequencefactoryLocalHome rv = (SequencefactoryLocalHome) c.lookup(
"java:comp/env/ejb/SequencefactoryLocal");
return rv;
}
catch(NamingException ne){
java.util.logging.Logger.getLogger(getClass().getName()).log(
java.util.logging.Level.SEVERE,"exception caught" ,ne);
thrownew RuntimeException(ne);
}
}
private OrderproductLocalHome lookupOrderproductLocal(){
try{
Context c =new InitialContext();
OrderproductLocalHome rv = (OrderproductLocalHome) c.lookup(
"java:comp/env/ejb/OrderproductLocal");
return rv;
}
catch(NamingException ne){
java.util.logging.Logger.getLogger(getClass().getName()).log(
java.util.logging.Level.SEVERE,"exception caught" ,ne);
thrownew RuntimeException(ne);
}
}
private CustomerLocalHome lookupCustomerLocal(){
try{
Context c =new InitialContext();
CustomerLocalHome rv = (CustomerLocalHome) c.lookup(
"java:comp/env/ejb/CustomerLocal");
return rv;
}
catch(NamingException ne){
java.util.logging.Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception caught" ,ne);
thrownew RuntimeException(ne);
}
}
private OrderproductHome lookupOrderproduct(){
try{
Context c =new InitialContext();
Object remote = c.lookup("java:comp/env/ejb/Orderproduct");
OrderproductHome rv = (OrderproductHome)
PortableRemoteObject.narrow(remote, OrderproductHome.class);
return rv;
}
catch(NamingException ne){
java.util.logging.Logger.getLogger(getClass().getName()).log(
java.util.logging.Level.SEVERE,"exception caught" ,ne);
thrownew RuntimeException(ne);
}
}
}
i use netbeans to write this code. I try to run-deploy this code, & it results an error like this :
Deploying application in domain failed; Fatal Error from EJB Compiler -- Compilation failed: Native compiler returned an error: 1
Error messages are: D:\Sun\AppServer\domains\domain1\generated\ejb\j2ee-apps\moves\moves\ejb\OrdersEJB_1712868730_ConcreteImpl.java:10: moves.ejb.OrdersEJB_1712868730_ConcreteImpl is not abstract and does not override abstract method setMsisdn(java.lang.String) in moves.ejb.OrdersEJB
public class OrdersEJB_1712868730_ConcreteImpl
^
1 error
What should i do?

