Monday, October 13, 2014

Online Book Store App

EJB Container
--------------------------------------------------------------------------
 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejb;

import java.util.List;
import javax.persistence.EntityManager;

/**
 *
 * @author Hasangi
 */
public abstract class AbstractFacade<T> {
    private Class<T> entityClass;

    public AbstractFacade(Class<T> entityClass) {
        this.entityClass = entityClass;
    }

    protected abstract EntityManager getEntityManager();

    public void create(T entity) {
        getEntityManager().persist(entity);
    }

    public void edit(T entity) {
        getEntityManager().merge(entity);
    }

    public void remove(T entity) {
        getEntityManager().remove(getEntityManager().merge(entity));
    }

    public T find(Object id) {
        return getEntityManager().find(entityClass, id);
    }
  
  
    public List<T> findAll() {
        javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
        cq.select(cq.from(entityClass));
        return getEntityManager().createQuery(cq).getResultList();
    }

    public List<T> findRange(int[] range) {
        javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
        cq.select(cq.from(entityClass));
        javax.persistence.Query q = getEntityManager().createQuery(cq);
        q.setMaxResults(range[1] - range[0]);
        q.setFirstResult(range[0]);
        return q.getResultList();
    }

    public int count() {
        javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
        javax.persistence.criteria.Root<T> rt = cq.from(entityClass);
        cq.select(getEntityManager().getCriteriaBuilder().count(rt));
        javax.persistence.Query q = getEntityManager().createQuery(cq);
        return ((Long) q.getSingleResult()).intValue();
    }
    public List<T>  findByName(String Name) {
        return getEntityManager().createQuery(
        "SELECT c FROM AuthorEntity c WHERE c.Name LIKE :Name")
        .setParameter("Name", Name)
        .getResultList();
      
      
    }
  
    public List<T>  findByTitle(String title) {
        return getEntityManager().createQuery(
        "SELECT c FROM Booksentity c WHERE c.title LIKE :title")
        .setParameter("title", title)
        .getResultList();
      
      
    }
  
}
--------------------------------------------------------------------------------------

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejb;

import java.io.Serializable;
import javax.persistence.*;

/**
 *
 * @author Hasangi
 */
@Entity
public class AuthorEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    @Column(name = "Name")
    private String Name;
   
    @ManyToOne
    @JoinColumn(name = "BOOK_AUTHOR", referencedColumnName = "ISBN")
    private Booksentity Book;
   

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Booksentity getBook() {
        return Book;
    }

    public void setBook(Booksentity Book) {
        this.Book = Book;
    }

    public String getName() {
        return Name;
    }

    public void setName(String Name) {
        this.Name = Name;
    }

   
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof AuthorEntity)) {
            return false;
        }
        AuthorEntity other = (AuthorEntity) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "ejb.AuthorEntity[ id=" + id + " ]";
    }
   
}

----------------------------------------------------------------------------------------------

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejb;

import java.io.Serializable;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Hasangi
 */
@Entity
@Table(name = "BOOKSENTITY")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Booksentity.findAll", query = "SELECT b FROM Booksentity b"),
    @NamedQuery(name = "Booksentity.findByIsbn", query = "SELECT b FROM Booksentity b WHERE b.isbn = :isbn"),
    @NamedQuery(name = "Booksentity.findByTitle", query = "SELECT b FROM Booksentity b WHERE b.title = :title"),
    @NamedQuery(name = "Booksentity.findByPrice", query = "SELECT b FROM Booksentity b WHERE b.price = :price"),
    @NamedQuery(name = "Booksentity.findByBookyear", query = "SELECT b FROM Booksentity b WHERE b.bookyear = :bookyear"),
    @NamedQuery(name = "Booksentity.findByLanguage", query = "SELECT b FROM Booksentity b WHERE b.language = :language")})
public class Booksentity implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "ISBN")
    private Long isbn;
    @Size(max = 255)
    @Column(name = "TITLE")
    private String title;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Column(name = "PRICE")
    private Double price;
    @Column(name = "BOOKYEAR")
    private Integer bookyear;
    @Size(max = 255)
    @Column(name = "LANGUAGE")
    private String language;

    public Booksentity() {
    }

    public Booksentity(Long isbn) {
        this.isbn = isbn;
    }

    public Long getIsbn() {
        return isbn;
    }

    public void setIsbn(Long isbn) {
        this.isbn = isbn;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public Integer getBookyear() {
        return bookyear;
    }

    public void setBookyear(Integer bookyear) {
        this.bookyear = bookyear;
    }

    public String getLanguage() {
        return language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (isbn != null ? isbn.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Booksentity)) {
            return false;
        }
        Booksentity other = (Booksentity) object;
        if ((this.isbn == null && other.isbn != null) || (this.isbn != null && !this.isbn.equals(other.isbn))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "ejb.Booksentity[ isbn=" + isbn + " ]";
    }
   
}
----------------------------------------------------------------------------------------------

Web Container


<%--
    Document   : index
    Created on : Aug 6, 2014, 10:25:18 AM
    Author     : Hasangi
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>


    <head>
        <meta charset="UTF-8">
        <title>Online Book Store</title>
    
          <link rel="stylesheet" href="bootstrap.css" type="text/css">
             <link rel="stylesheet" href="css/style.css" type="text/css">
    </head>
    <body>
        <div id="header">
            <div class="clearfix">
                <div class="logo">
                    <img src="images/logo.png" alt="LOGO" height="52" width="362">
                </div>
                <ul class="navigation">
                    <li class="active"><a href="index.jsp">Home</a></li>
                    <li><a href="ListBook">List Books</a></li>
                    <li><a href="insertBook">Add New Book</a></li>
                    <li><a href="ListAuthor">List Authors</a></li>

                </ul>
            </div>
        </div>




        <div id="contents">
            <div id="adbox">
                <div class="clearfix" style="background-color: white;">
                    <img src="images/bookimage.jpg" alt="Img" height="382" width="594">
                    <div class="detail">
                        <h1>Welcome To Book Store<br> Read To Your Heart's </h1>
                        <p>
                            Content With Our <br>Online Book Service.
                        </p>
                    </div>
                </div>
            </div>
        </div>

        <div id="footer">
            <div id="footnote">
                <div class="clearfix">

                    <p>
                        <b>S.A.H.S Wijerathne - IT 11 1523 92 © Copyright by 2014. All Rights Reserved.</b>
                    </p>
                </div>
            </div>
        </div>


    </body>
</html>
---------------------------------------------------------------------------------------

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package web;

import ejb.Booksentity;
import ejb.BooksentityFacade;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Hasangi
 */
@WebServlet(name = "ListBook", urlPatterns = {"/ListBook"})
public class ListBook extends HttpServlet {

    @EJB
    private BooksentityFacade booksentityFacade;

    /**
     * Processes requests for both HTTP
     * <code>GET</code> and
     * <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            /*
             * TODO output your page here. You may use following sample code.
             */
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet ListBook</title>");
            out.println("<link rel='stylesheet' href='bootstrap.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='css/style.css' type='text/css'>");
           
                       
            out.println("</head>");
            out.println("<body>");


            out.println(" <div id='header'>");
            out.println("<div class='clearfix'>");
            out.println("<div class='logo'>");
            out.println("<img src='images/logo.png' alt='LOGO' height='52' width='362'>");
            out.println(" </div>");
            out.println("   <ul class='navigation'>");
            out.println("<li><a href='index.jsp'>Home</a></li>");
            out.println("<li  class='active'><a href='ListBook'>List Books</a></li>");
            out.println("<li><a href='insertBook'>Add New Book</a></li>");
            out.println("<li><a href='ListAuthor'>List Authors</a></li>");
            out.println("   </ul>");
            out.println(" </div>");
            out.println(" </div>");
            out.println(" <div id='contents'>");
            out.println(" <div class='clearfix' >");

            out.println("<h3><u><b>List Of Books</b></u> </h3>");
           
            out.println(" <div class='frame2'>");
            out.println(" <div class='box'>");
            out.println("<form class='form-horizonta' role='form' action='ListBookSearch'>");
            out.println("Search By Book Title : <input value='' type='text' name='SearchResult' placeholder='Book Title' >"
                    + "  <button type='submit' class='btn btn-default'>Search</button></div></div>");

            out.println("</form>");   
           
            out.println("<table  class='table table-hover'>");
            out.println("<thead><tr>");
            out.println("<th>ISBN</th>");
            out.println("<th>Title</th>");
            out.println("<th>Price</th>");
            out.println("<th>Year</th>");
            out.println("<th>Language</th>");
            out.println("<th></th>");

            List books = booksentityFacade.findAll();
            out.println("</tr></thead>");
            for (Iterator it = books.iterator(); it.hasNext();) {
                Booksentity elem = (Booksentity) it.next();
                out.println("<tr>");
                out.println("<td>" + elem.getIsbn() + "</td>");
                out.println("<td><b>" + elem.getTitle() + " </b></td>");
                out.println("<td>" + elem.getPrice() + "</td> ");
                out.println("<td>" + elem.getBookyear() + "</td> ");
                out.println("<td>" + elem.getLanguage() + "</td> ");

                out.println("<td><a href='BookView?isbn="+elem.getIsbn()+"'>View Book </a></td>");

                out.println("</tr>");
            }
            out.println("</table>");
            out.println(" </div>");
            out.println(" </div>");
            out.println("</body>");
            out.println("</html>");
        } finally {
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}


-------------------------------------------------------------------------------------------

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package web;

import ejb.Booksentity;
import ejb.BooksentityFacade;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Hasangi
 */
@WebServlet(name = "ListBookSearch", urlPatterns = {"/ListBookSearch"})
public class ListBookSearch extends HttpServlet {

    @EJB
    private BooksentityFacade booksentityFacade;

    /**
     * Processes requests for both HTTP
     * <code>GET</code> and
     * <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            /*
             * TODO output your page here. You may use following sample code.
             */
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet ListBookSearch</title>");
            out.println("<link rel='stylesheet' href='bootstrap.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='css/style.css' type='text/css'>");


            out.println("</head>");
            out.println("<body>");


            out.println(" <div id='header'>");
            out.println("<div class='clearfix'>");
            out.println("<div class='logo'>");
            out.println("<img src='images/logo.png' alt='LOGO' height='52' width='362'>");
            out.println(" </div>");
            out.println("   <ul class='navigation'>");
            out.println("<li><a href='index.jsp'>Home</a></li>");
            out.println("<li  class='active'><a href='ListBook'>List Books</a></li>");
            out.println("<li><a href='insertBook'>Add New Book</a></li>");
            out.println("<li><a href='ListAuthor'>List Authors</a></li>");
            out.println("   </ul>");
            out.println(" </div>");
            out.println(" </div>");
            out.println(" <div id='contents'>");
            out.println(" <div class='clearfix' >");

            out.println("<h3><u><b>List Of Books</b></u> </h3>");

            out.println(" <div class='frame2'>");
            out.println(" <div class='box'>");
            out.println("<form class='form-horizonta' role='form' action='ListBookSearch'>");
            out.println("Search By Book Title : <input value='' type='text' name='SearchResult' placeholder='Book Title' >"
                    + "  <button type='submit' class='btn btn-default'>Search</button></div></div>");

            out.println("</form>");

            out.println("<table  class='table table-hover'>");
            out.println("<thead><tr>");
            out.println("<th>ISBN</th>");
            out.println("<th>Title</th>");
            out.println("<th>Price</th>");
            out.println("<th>Year</th>");
            out.println("<th>Language</th>");
            out.println("<th></th>");
            String s = request.getParameter("SearchResult");
            String viewBook = "%" + s + "%";

            List books = booksentityFacade.findByTitle(viewBook);
            out.println("</tr></thead>");
            for (Iterator it = books.iterator(); it.hasNext();) {
                Booksentity elem = (Booksentity) it.next();
                out.println("<tr>");
                out.println("<td>" + elem.getIsbn() + "</td>");
                out.println("<td><b>" + elem.getTitle() + " </b></td>");
                out.println("<td>" + elem.getPrice() + "</td> ");
                out.println("<td>" + elem.getBookyear() + "</td> ");
                out.println("<td>" + elem.getLanguage() + "</td> ");

                out.println("<td><a href='BookView?isbn=" + elem.getIsbn() + "'>View Book </a></td>");

                out.println("</tr>");
            }
            out.println("</table>");
            out.println(" </div>");
            out.println(" </div>");
            out.println("</body>");
            out.println("</html>");
        } finally {
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
-----------------------------------------------------------------------------

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package web;

import ejb.AuthorEntity;
import ejb.AuthorEntityFacade;
import ejb.Booksentity;
import ejb.BooksentityFacade;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Hasangi
 */
@WebServlet(name = "BookView", urlPatterns = {"/BookView"})
public class BookView extends HttpServlet {

    @EJB
    private AuthorEntityFacade authorEntityFacade;
    @EJB
    private BooksentityFacade booksentityFacade;

    /**
     * Processes requests for both HTTP
     * <code>GET</code> and
     * <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            /*
             * TODO output your page here. You may use following sample code.
             */

            Long isbn = Long.parseLong(request.getParameter("isbn"));
            Booksentity book = new Booksentity();
            book = booksentityFacade.find(isbn);



            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet BookView</title>");
            out.println("<link rel='stylesheet' href='bootstrap.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='bootstrap.min.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='css/style.css' type='text/css'>");
          

            out.println("</head>");
            out.println("<body>");


            out.println(" <div id='header'>");
            out.println("<div class='clearfix'>");
            out.println("<div class='logo'>");
            out.println("<img src='images/logo.png' alt='LOGO' height='52' width='362'>");
            out.println(" </div>");
            out.println("   <ul class='navigation'>");
            out.println("<li><a href='index.jsp'>Home</a></li>");
            out.println("<li  class='active'><a href='ListBook'>List Books</a></li>");
            out.println("<li><a href='insertBook'>Add New Book</a></li>");
            out.println("<li><a href='ListAuthor'>List Authors</a></li>");
            out.println("   </ul>");
            out.println(" </div>");
            out.println(" </div>");

            out.println(" <div id='contents'>");
            out.println(" <div class='clearfix' >");
            out.println(" <div class='sidebar' >");
            out.println(" <div>");
            out.println("<h2>Manage Book Details</h2>");

            out.println("<ul>");
            out.println("<li><a href='BookView?isbn=" + book.getIsbn() + "'> Book Details</a></li>");
            out.println("<li><a href='updateBook?isbn=" + book.getIsbn() + "'>Update Book Details</a></li>");
            out.println("<li><a href='UpdateAuthor?isbn=" + book.getIsbn() + "'>Update Author Details</a></li>");
            out.println("<li><a href='insertAuthor?isbn=" + book.getIsbn() + "'>Insert New Author</a></li>");
            out.println("</ul>");
            out.println(" </div>");

            out.println(" </div>");

            out.println(" <div class='main' >");

            out.println("<h1><u><b>Book Details</b></u> </h1>");
            out.println("<p>ISBN: " + book.getIsbn() + "</p> ");
            out.println("<p>Book Title: " + book.getTitle() + "</p> ");
            out.println("<p>Book Price: " + book.getPrice() + "</p> ");
            out.println("<p>Publish Year: " + book.getBookyear() + "</p> ");
            out.println("<p>Language: " + book.getLanguage() + "</p> ");
             out.println("<h1><u><b>Author Details</b></u> </h1>");
           
             List authorlist = authorEntityFacade.findAll();
             int count=1;
        
            for (Iterator it = authorlist.iterator(); it.hasNext();) {
                AuthorEntity aur = (AuthorEntity) it.next();
                if(aur.getBook().getIsbn()== book.getIsbn()){
                out.println("<p><li type='square' >Author "+count+" : "+aur.getName()+"</li></p>");
                count++;
                }
            }
            if(count==1){
                out.println("<p>Author Details Are Not Inserted</p>");
            }
           
           
            out.println(" </div>");

          
          

            out.println(" </div>");
            out.println(" </div>");
            out.println("</body>");
            out.println("</html>");
        } finally {
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}


----------------------------------------------------------------------------------------------------------


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package web;

import ejb.Booksentity;
import ejb.BooksentityFacade;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Hasangi
 */
@WebServlet(name = "insertBook", urlPatterns = {"/insertBook"})
public class insertBook extends HttpServlet {

    @EJB
    private BooksentityFacade booksentityFacade;

    /**
     * Processes requests for both HTTP
     * <code>GET</code> and
     * <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");

        Long Bookisbn = 0L;
        Double Price = 0.0;
        Integer Year = 0;
        String Title = null;
        String Language = null;
        Integer state=0;
        if (request.getParameter("ISBN") != null) {
            String ISBN = request.getParameter("ISBN");
            System.out.print(ISBN);
            Bookisbn = Long.parseLong(ISBN);
        }
        if (request.getParameter("Title") != null) {
            Title = request.getParameter("Title");
        }
        if (request.getParameter("Price") != null) {
            Price = Double.parseDouble(request.getParameter("Price"));
        }
        if (request.getParameter("Year") != null) {
            Year = Integer.parseInt(request.getParameter("Year"));
        }
        if (request.getParameter("Language") != null) {
            Language = request.getParameter("Language");
        }

        if ((Title != null) && (Price != 0) && (Bookisbn != null) && (Year != 0) && (Language != null)) {


            try {
                // here we create NewsEntity, that will be sent in JMS message
                Booksentity e = new Booksentity();
                e.setIsbn(Bookisbn);
                e.setTitle(Title);
                e.setPrice(Price);
                e.setBookyear(Year);
                e.setLanguage(Language);
                booksentityFacade.create(e);
                 state=0;

                response.sendRedirect("ListBook");

            } catch (Exception e) {
                state=1;
            }
        }

        PrintWriter out = response.getWriter();
        try {
            /*
             * TODO output your page here. You may use following sample code.
             */
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet insertBook</title>");
         
            out.println("<link rel='stylesheet' href='bootstrap.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='bootstrap.min.css' type='text/css'>");
              out.println("<link rel='stylesheet' href='css/style.css' type='text/css'>");
            out.println("</head>");
            out.println("<body>");
            out.println(" <div id='header'>");
            out.println("<div class='clearfix'>");
            out.println("<div class='logo'>");
            out.println("<img src='images/logo.png' alt='LOGO' height='52' width='362'>");
            out.println(" </div>");
            out.println("   <ul class='navigation'>");
            out.println("<li><a href='index.jsp'>Home</a></li>");
            out.println("<li ><a href='ListBook'>List Books</a></li>");
            out.println("<li  class='active'><a href='insertBook'>Add New Book</a></li>");
            out.println("<li><a href='ListAuthor'>List Authors</a></li>");
            out.println("   </ul>");
            out.println(" </div>");
            out.println(" </div>");
            out.println(" <div id='contents'>");
            out.println(" <div class='clearfix' >");
           
            if(state==1){
               
                out.println("<div class='alert alert-danger'><a href='#' class='close' data-dismiss='alert'>&times; </a>");
            out.println("  <strong>Already Exist Book ISBN. Book Insertion Is Not Successfully..! </strong>");
            out.println(" </div>");
               
            }
           
           out.println("<h3><u><b>Add New Books</b></u> </h3>");

            out.println("<form class='form-horizonta' role='form'>");

            out.println("<fieldset><div class='form-group'>");
            out.println("<label for='ISBN' class='col-sm-2 control-label'>ISBN: </label><div class='col-sm-10'><input type='text' name='ISBN' placeholder='ISBN' required> </div></div></br>");

            out.println("<div class='form-group'>");
            out.println("<label for='Title' class='col-sm-2 control-label'>Book Title: </label><div class='col-sm-10'><input type='text' name='Title' placeholder='Book Title' required> </div></div></br>");

            out.println("<div class='form-group' >");
            out.println("<label for='Price' class='col-sm-2 control-label'>Price: </label><div class='col-sm-10'><input type='text' name='Price' placeholder='Price' required></div></div></br>");

            out.println("<div  class='form-group'>");
            out.println("<label for='Year' class='col-sm-2 control-label'>Year:</label><div class='col-sm-10'><input type='text' name='Year' placeholder='Year' required> </div></div></br>");

            out.println("<div  class='form-group'>");
            out.println("<label for='Language' class='col-sm-2 control-label'>Language:</label><div class='col-sm-10'><input type='text' name='Language' placeholder='Language' required> </div></div></br>");

            out.println("<div  class='form-group'><div class='col-sm-offset-2 col-sm-10'>");
            out.println("<button type='submit' class='btn btn-default'>Insert Book</button></div></div>");

            out.println("</fieldset></form>");
            out.println(" </div>");
            out.println(" </div>");
            out.println("</body>");
            out.println("</html>");
        } finally {
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
 ------------------------------------------------------------------------------------------------

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package web;

import ejb.Booksentity;
import ejb.BooksentityFacade;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Hasangi
 */
@WebServlet(name = "updateBook", urlPatterns = {"/updateBook"})
public class updateBook extends HttpServlet {

    @EJB
    private BooksentityFacade booksentityFacade;

    /**
     * Processes requests for both HTTP
     * <code>GET</code> and
     * <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
      
        Long Bookisbn = 0L;
        Double Price = 0.0;
        Integer Year = 0;
        String Title = null;
        String Language = null;
     
        if (request.getParameter("isbn") != null) {
            String ISBN = request.getParameter("isbn");
            System.out.print(ISBN);
            Bookisbn = Long.parseLong(ISBN);
        }
        if (request.getParameter("Title") != null) {
            Title = request.getParameter("Title");
        }
        if (request.getParameter("Price") != null) {
            Price = Double.parseDouble(request.getParameter("Price"));
        }
        if (request.getParameter("Year") != null) {
            Year = Integer.parseInt(request.getParameter("Year"));
        }
        if (request.getParameter("Language") != null) {
            Language = request.getParameter("Language");
        }

        if ((Title != null) && (Price != 0) && (Bookisbn != 0L) && (Year != 0) && (Language != null)) {


            try {
                // here we create NewsEntity, that will be sent in JMS message
                Booksentity e = new Booksentity();
                e.setIsbn(Bookisbn);
                e.setTitle(Title);
                e.setPrice(Price);
                e.setBookyear(Year);
                e.setLanguage(Language);
                booksentityFacade.edit(e);
                               
                response.sendRedirect("BookView?isbn=" + e.getIsbn() + "");

            } catch (Exception e) {
            
            }
        }
      
        PrintWriter out = response.getWriter();
        try {
            /*
             * TODO output your page here. You may use following sample code.
             */
            Long isbn = Long.parseLong(request.getParameter("isbn"));
            Booksentity book = new Booksentity();
            book = booksentityFacade.find(isbn);

            out.println("<html>");
            out.println("<head>");

            out.println("<title>Servlet updateBook</title>");
            out.println("<link rel='stylesheet' href='bootstrap.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='bootstrap.min.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='css/style.css' type='text/css'>");
            out.println("</head>");
            out.println("<body>");
            out.println(" <div id='header'>");
            out.println("<div class='clearfix'>");
            out.println("<div class='logo'>");
            out.println("<img src='images/logo.png' alt='LOGO' height='52' width='362'>");
            out.println(" </div>");
            out.println("   <ul class='navigation'>");
            out.println("<li><a href='index.jsp'>Home</a></li>");
            out.println("<li  class='active'><a href='ListBook'>List Books</a></li>");
            out.println("<li ><a href='insertBook'>Add New Book</a></li>");
            out.println("<li><a href='ListAuthor'>List Authors</a></li>");
            out.println("   </ul>");
            out.println(" </div>");
            out.println(" </div>");
            out.println(" <div id='contents'>");
            out.println(" <div class='clearfix' >");

            out.println(" <div class='sidebar' >");
            out.println(" <div>");
            out.println("<h2>Manage Book Details</h2>");

            out.println("<ul>");
            out.println("<li><a href='BookView?isbn=" + book.getIsbn() + "'> Book Details</a></li>");
            out.println("<li><a href='updateBook?isbn=" + book.getIsbn() + "'>Update Book Details</a></li>");
            out.println("<li><a href='UpdateAuthor?isbn=" + book.getIsbn() + "'>Update Author Details</a></li>");
            out.println("<li><a href='insertAuthor?isbn=" + book.getIsbn() + "'>Insert New Author</a></li>");
            out.println("</ul>");
            out.println(" </div>");

            out.println(" </div>");


            out.println(" <div class='main' >");
            out.println("<h1><u><b>Update Book Details</b></u> </h1>");

            out.println("<form class='form-horizonta' role='form'>");

            out.println("<fieldset><div class='form-group'>");
            out.println("<label for='ISBN' class='col-sm-3 control-label'>ISBN: </label><div ><label>" + book.getIsbn() + "</lable></div></div></br>");

            out.println("<div class='form-group'>");
            out.println("<label for='Title' class='col-sm-3 control-label'>Title: </label><div ><input value='" + book.getTitle() + "' type='text' name='Title' placeholder='Book Title' required> </div></div></br>");

            out.println("<div class='form-group' >");
            out.println("<label for='Price' class='col-sm-3 control-label'>Price: </label><div ><input value='" + book.getPrice() + "' type='text' name='Price' placeholder='Price' required></div></div></br>");

            out.println("<div  class='form-group'>");
            out.println("<label for='Year' class='col-sm-3 control-label'>Year:</label><div ><input value='" + book.getBookyear() + "' type='text' name='Year' placeholder='Year' required> </div></div></br>");

            out.println("<div  class='form-group'>");
            out.println("<label for='Language' class='col-sm-3 control-label'>Language:</label><div><input value='" + book.getLanguage() + "' type='text' name='Language' placeholder='Language' required> </div></div></br>");

            out.println("<div  class='form-group'><div class='col-sm-offset-3 '>");
            out.println("<button type='submit' class='btn btn-default'>Update Book</button></div></div>");
            out.println("<input value='" + book.getIsbn() + "' type='hidden' name='isbn' placeholder='ISBN' required> ");
            out.println("</fieldset></form>");
            out.println(" </div>");

            out.println(" </div>");
            out.println(" </div>");

            out.println("</body>");
            out.println("</html>");
        } finally {
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
-----------------------------------------------------------------------------------------------------





No comments:

Post a Comment