package com.sun.j2ee.blueprints.contactinfo.ejb;
import javax.ejb.EntityContext;
import javax.ejb.RemoveException;
import javax.ejb.CreateException;
import javax.naming.NamingException;
import javax.naming.InitialContext;
import com.sun.j2ee.blueprints.address.ejb.AddressLocal;
import com.sun.j2ee.blueprints.address.ejb.AddressLocalHome;
import com.sun.j2ee.blueprints.address.ejb.Address;
import com.sun.j2ee.blueprints.servicelocator.ejb.ServiceLocator;
import com.sun.j2ee.blueprints.servicelocator.ServiceLocatorException;
public abstract class ContactInfoEJB implements javax.ejb.EntityBean {
private EntityContext context = null;
public abstract String getFamilyName();
public abstract void setFamilyName(String familyName);
public abstract String getGivenName();
public abstract void setGivenName(String givenName);
public abstract String getTelephone();
public abstract void setTelephone(String telephone);
public abstract String getEmail();
public abstract void setEmail(String email);
public abstract AddressLocal getAddress();
public abstract void setAddress(AddressLocal address);
public Object ejbCreate () throws CreateException {
return null;
}
public void ejbPostCreate () throws CreateException {
try {
ServiceLocator serviceLocator = new ServiceLocator();
AddressLocalHome adh = (AddressLocalHome)
serviceLocator.getLocalHome(JNDINames.ADDR_EJB);
AddressLocal address = adh.create();
setAddress(address);
} catch (ServiceLocatorException ne) {
throw new CreateException("ContactInfoEJB error: ServiceLocator exception looking up address");
}
}
public Object ejbCreate(String givenName, String familyName,
String telephone, String email, AddressLocal address)
throws CreateException {
setGivenName(givenName);
setFamilyName(familyName);
setTelephone(telephone);
setEmail(email);
return null;
}
public void ejbPostCreate(String givenName, String familyName,
String telephone, String email,
AddressLocal address) throws CreateException {
setAddress(address);
}
public Object ejbCreate(ContactInfo contactInfo) throws CreateException {
setGivenName(contactInfo.getGivenName());
setFamilyName(contactInfo.getFamilyName());
setTelephone(contactInfo.getPhone());
setEmail(contactInfo.getEmail());
return null;
}
public void ejbPostCreate(ContactInfo contactInfo) throws CreateException {
try {
ServiceLocator serviceLocator = new ServiceLocator();
AddressLocalHome adh = (AddressLocalHome)
serviceLocator.getLocalHome(JNDINames.ADDR_EJB);
AddressLocal address = adh.create(contactInfo.getAddress());
setAddress(address);
} catch (ServiceLocatorException ne) {
throw new CreateException("ContactInfoEJB error: ServiceLocator exception looking up address");
}
}
public ContactInfo getData() {
ContactInfo contactInfo = new ContactInfo();
contactInfo.setGivenName(getGivenName());
contactInfo.setFamilyName(getFamilyName());
contactInfo.setPhone(getTelephone());
contactInfo.setEmail(getEmail());
contactInfo.setAddress(getAddress().getData());
return contactInfo;
}
public void setEntityContext(EntityContext c) {
context = c;
}
public void unsetEntityContext() {
context = null;
}
public void ejbRemove() throws RemoveException {
}
public void ejbActivate() {
}
public void ejbPassivate() {
}
public void ejbStore() {
}
public void ejbLoad() {
}
}