import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import database.*;
import cart.ShoppingCart;


public class MusicDetailServlet extends HttpServlet {

    public void doGet (HttpServletRequest request,
                       HttpServletResponse response)
        throws ServletException, IOException
    {
        // Get the user's session and shopping cart
        HttpSession session = request.getSession(true);
        ShoppingCart cart =
            (ShoppingCart)session.getValue(session.getId());
        
        // If the user has no cart, create a new one
        if (cart == null) {
            cart = new ShoppingCart();
            session.putValue(session.getId(), cart);
        }

	// set content-type header before accessing the Writer
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

	// then write the response
        out.println("<html>" +
                    "<head><title>Music Description</title></head>" +

                    "<body  bgcolor=\"#fffed0\">" +
                    "<center>" +
                    "<hr> <br> &nbsp;" +
                    "<h1>" +
                    "<font size=\"+3\" color=\"red\">Music Details...</font>" +
                    "</h1>" +
                    "</center>" +
                    "<br> &nbsp; <hr> <br> &nbsp;");

        //Get the identifier of the music to display
        String musicId = request.getParameter("musicId");
        if (musicId != null) {

            // and the information about the music
            MusicDBServlet database = (MusicDBServlet)
                getServletConfig().getServletContext().getServlet("musicdb");
            MusicDetails bd = database.getMusicDetails(musicId);

            //Print out the information obtained
            out.println("<h2>" + bd.getTitle() + "</h2>" +

                        "&nbsp; By <em>" + bd.getFirstName() + ", " +
                        bd.getSurname() + "</em> &nbsp; &nbsp; " +
                        "(" + bd.getCompany() + ")<br> &nbsp; <br>" +

                        "<h4>Our price: $" + bd.getPrice() + "</h4>" +

                        "<center>" +
                        "<p><a href=\"" +
                        response.encodeUrl("/servlet/musiccatalog?Buy=" + musicId) +
                        "\"> Add this item to your shopping cart.</a></p>" +
                        "</center>");
        }
        out.println("</body></html>");
        out.close();
    }

    public String getServletInfo() {
        return "The MusicDetail servlet returns information about" +
               "any music that is available from the musicstore.";
    }
}
