import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class OrderStatusServlet extends HttpServlet {

  //Initialize global variables
  public void init(ServletConfig config)
    throws ServletException {

    super.init(config);
  }

  private void getOrderStatus(Order order) {

    // This could do just about anything;
    // It could be CORBA/RMI client
    // It could be a database query, etc.
    order.setStatus("Your order is in transit.");
  }

  //Service the request
  public void service(HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException {

    try {

      // Create the ObjectInputStream with
      // the Request InputStream.
      ObjectInputStream ois =
        new ObjectInputStream(request.getInputStream());

      System.err.println("OrderS: got input stream");

      // Read the Object.  Make sure the StudentList Object
      // is in your CLASSPATH or you will receive a
      // ClassNotFoundException.
      Order order = (Order)ois.readObject();

      System.err.println("OrderS: got object");

      getOrderStatus(order);

      // The Response Begins Here
      response.setContentType("application/octet-stream");

      System.err.println("CUCU");

      ObjectOutputStream oos =
        new ObjectOutputStream(response.getOutputStream());

      // Echo the object to the response
      oos.writeObject(order);
      oos.flush();
      oos.close();
    }
    catch (ClassNotFoundException cnfe) {
      System.err.println(cnfe.getMessage());
    }
    catch (Exception e) {
      System.err.println(e);
    }
  }
//Get Servlet information

  public String getServletInfo() {
    return "OrderStatusServlet Information";
  }
} 
