package com.brainysoftware.tassie.servlet;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
import com.brainysoftware.tassie.ejb.Cart;
import com.brainysoftware.tassie.ejb.CartHome;
public class AddToCartServlet extends HttpServlet {
/**Process the HTTP Post request*/
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
// header
out.println("");
out.println("
");
out.println("Add to Cart");
out.println("");
out.println("");
out.println("");
String bookId = request.getParameter("bookId");
String quantity = request.getParameter("quantity");
if (bookId!=null && quantity!=null &&
!bookId.trim().equals("") && !quantity.trim().equals("")) {
try {
HttpSession session = request.getSession(true);
Cart cartBean = (Cart) session.getAttribute("cart");
if (cartBean==null) { // new session
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
properties.put(Context.PROVIDER_URL, "localhost:1099");
// Get a naming context
InitialContext jndiContext = new InitialContext(properties);
// Get a reference to the Bean
Object ref = jndiContext.lookup("Cart");
// Get a reference from this to the Bean's Home interface
CartHome home = (CartHome)
PortableRemoteObject.narrow (ref, CartHome.class);
// Create an Adder object from the Home interface
cartBean = home.create();
}
cartBean.addToCart(bookId, quantity);
session.setAttribute("cart", cartBean);
out.println("The book has been added to the shopping cart");
}
catch(Exception e) {
out.println(e.toString());
}
}
out.println("
");
out.println("
");
out.println("" +
"Go back to the Search page");
out.println("");
out.println("");
out.println("");
}
}