NullPointer Exception !!!
ericmacau Feb 27, 2006 4:17 AMHello,
I try to use EJB3 in portlet, but it just raised NullPointerException !
Could you please to teach me how to solve it ?
@Stateless
@Local(ProductLocal.class)
public class ProductBean implements ProductLocal {
 @PersistenceContext
 // (unitName="cal")
 protected EntityManager em;
 /**
 *
 */
 public ProductBean() {
 super();
 // TODO Auto-generated constructor stub
 }
 /**
 * (non-Javadoc)
 *
 * @see mo.reales.ejb.session.ProductLocal#addProduct(java.lang.String,
 * java.lang.String, java.lang.String, float, int, int,
 * java.lang.String, java.lang.String)
 */
 public void addProduct(String buildingName, String floor, String flat,
 float area, int totalRoom, int totalSittingRoom, String direction,
 String description) {
 Product product = new Product();
 product.setBuildingName(buildingName);
 product.setFlat(floor);
 product.setFlat(flat);
 product.setArea(area);
 product.setTotalRoom(totalRoom);
 product.setTotalSittingRoom(totalSittingRoom);
 product.setDirection(direction);
 product.setDescription(description);
 em.persist(product);
 }
 /**
 * (non-Javadoc)
 * @see mo.reales.ejb.session.ProductLocal#getProducts()
 */
 public Collection<Product> getProducts() {
 return em.createQuery("from Product p").getResultList();
 }
}
public interface ProductIF {
 /**
 * Add new product
 *
 * @param buildingName
 * @param floor
 * @param flat
 * @param area
 * @param totalRoom
 * @param totalSittingRoom
 * @param direction
 * @param description
 */
 public void addProduct(String buildingName, String floor, String flat,
 float area, int totalRoom, int totalSittingRoom, String direction,
 String description);
 /**
 * get all the products
 *
 * @return
 */
 public Collection<Product> getProducts();
}
public interface ProductLocal extends ProductIF {
}
public class ProductDAO implements ProductIF {
 @EJB
 protected ProductLocal productLocal;
 /**
 *
 */
 public ProductDAO() {
 super();
 }
 /*
 * (non-Javadoc)
 *
 * @see mo.reales.ejb.session.ProductIF#addProduct(java.lang.String,
 * java.lang.String, java.lang.String, float, int, int,
 * java.lang.String, java.lang.String)
 */
 public void addProduct(String buildingName, String floor, String flat,
 float area, int totalRoom, int totalSittingRoom, String direction,
 String description) {
 productLocal.addProduct(buildingName, floor, flat, area, totalRoom,
 totalSittingRoom, direction, description);
 }
 /*
 * (non-Javadoc)
 *
 * @see mo.reales.ejb.session.ProductIF#getProducts()
 */
 public Collection<Product> getProducts() {
 return productLocal.getProducts();
 }
}
 
    