User: janaudy
Date: 00/05/22 10:05:34
Added: webstore/src/org/jboss/zol/webstore/servlets
DisplayCategoryServlet.java
Log:
Revision Changes Path
1.1
zola/webstore/src/org/jboss/zol/webstore/servlets/DisplayCategoryServlet.java
Index: DisplayCategoryServlet.java
===================================================================
package org.jboss.zol.webstore.servlets;
/**
* This servlet looks up the different products in the database
* that belong to a category
*
* @author Thierry Janaudy
* @date May 17th, 2000
*/
import javax.servlet.http.*;
import javax.servlet.*;
import javax.naming.*;
import javax.ejb.FinderException;
import javax.ejb.ObjectNotFoundException;
import java.util.Collection;
import java.util.LinkedList;
import java.util.Iterator;
import org.jboss.zol.webstore.ejbs.product.ProductEntityHome;
import org.jboss.zol.webstore.ejbs.product.ProductEntity;
import org.jboss.zol.webstore.ejbs.product.ProductEntityPK;
import org.jboss.zol.webstore.beans.ProductBean;
import org.jboss.zol.webstore.common.MyNarrow;
public final class DisplayCategoryServlet extends ZOLGenericServlet {
/**
* Method init, called when the servlet is initialized
*/
public void init(ServletConfig sc) throws ServletException {
super.init(sc);
}
/**
* doPost
* @param req
* @param res
*/
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws java.io.IOException {
HttpSession session = req.getSession(true);
String cat = req.getParameter("cat");
System.err.println("Parameter is:"+cat);
// Q & D, should be removed so that the db has the right names for the category.
if (cat.equals("flower"))
cat = "Flower";
else
if (cat.equals("ejbserver"))
cat = "EJB Server";
else
if (cat.equals("organizer"))
cat = "Organizer";
// END Q&D :)
ProductEntityHome pehome = null;
try {
Object pO = MyNarrow.lookup(initialContext, "product.ProductEntityHome");
pehome = (ProductEntityHome)MyNarrow.narrow(pO, ProductEntityHome.class);
} catch (Exception e1) {
e1.printStackTrace();
String ep = "/error/lookup_error.jsp";
try {
forwardRequestTo(ep, req, res);
return;
} catch (Exception e) {
e.printStackTrace();
}
}
System.err.println("product home obtained "+pehome);
Collection enum = null;
System.err.println("Before findProductsByCategory("+cat+")");
try {
enum = (Collection)MyNarrow.narrow(pehome.findProductsByCategory(cat),
Collection.class);
} catch (ObjectNotFoundException onfe) {
//hack I know :(
} catch (Exception fe) {
fe.printStackTrace();
String ep = "/error/lookup_error.jsp";
try {
forwardRequestTo(ep, req, res);
return;
} catch (Exception e) {
e.printStackTrace();
}
}
LinkedList liste = new LinkedList();
if (enum != null) {
Iterator iterator = enum.iterator();
while(iterator.hasNext()) {
ProductEntity pe = (ProductEntity)iterator.next();
ProductEntityPK pk = (ProductEntityPK)pe.getPrimaryKey();
ProductBean pb = new ProductBean();
pb.id = pk.id;
pb.category = pe.getCategory();
pb.description = pe.getDescription();
pb.price = pe.getPrice();
pb.image = pe.getImageURL();
pb.quantity = -1;
liste.add(pb);
}
}
String ep = "/displayproducts.jsp";
session.setAttribute("PRODUCTS", liste);
try {
forwardRequestTo(ep, req, res);
return;
} catch (Exception e4) {
e4.printStackTrace();
}
}
}