diff --git a/book/bean/AuthorBean.java b/book/bean/AuthorBean.java new file mode 100644 index 0000000..fd11ff2 --- /dev/null +++ b/book/bean/AuthorBean.java @@ -0,0 +1,26 @@ +package com.wipro.book.bean; + +public class AuthorBean { + private int authorCode; + private String authorName; + private long contactNumber; + public int getAuthorCode() { + return authorCode; + } + public void setAuthorCode(int authorCode) { + this.authorCode = authorCode; + } + public String getAuthorName() { + return authorName; + } + public void setAuthorName(String authorName) { + this.authorName = authorName; + } + public long getContactNumber() { + return contactNumber; + } + public void setContactNumber(long contactNumber) { + this.contactNumber = contactNumber; + } + +} diff --git a/book/bean/BookBean.java b/book/bean/BookBean.java new file mode 100644 index 0000000..f4d46cb --- /dev/null +++ b/book/bean/BookBean.java @@ -0,0 +1,39 @@ +package com.wipro.book.bean; + +public class BookBean { + private String isbn; + private String bookName; + private AuthorBean author; + private char bookType; + private float cost; + public String getIsbn() { + return isbn; + } + public void setIsbn(String isbn) { + this.isbn = isbn; + } + public String getBookName() { + return bookName; + } + public void setBookName(String bookName) { + this.bookName = bookName; + } + public AuthorBean getAuthor() { + return author; + } + public void setAuthor(AuthorBean author) { + this.author = author; + } + public char getBookType() { + return bookType; + } + public void setBookType(char bookType) { + this.bookType = bookType; + } + public float getCost() { + return cost; + } + public void setCost(float cost) { + this.cost = cost; + } +} diff --git a/book/dao/AuthorDao.java b/book/dao/AuthorDao.java new file mode 100644 index 0000000..59c2842 --- /dev/null +++ b/book/dao/AuthorDao.java @@ -0,0 +1,56 @@ +package com.wipro.book.dao; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import com.wipro.book.bean.AuthorBean; +import com.wipro.book.util.*; +public class AuthorDao { + public AuthorBean getAuthor(int authorCode) { + Connection conn = DBUtil.DBConnection(); + PreparedStatement ps; + try { + ps = conn.prepareStatement("select * from author_tbl_me12 where author_code=?"); + ps.setInt(1, authorCode); + ResultSet rs = ps.executeQuery(); + AuthorBean bean = null; + while(rs.next()){ + bean = new AuthorBean(); + bean.setAuthorCode(authorCode); + bean.setAuthorName(rs.getString(2)); + bean.setContactNumber(rs.getLong(3)); + } + return bean; + } + catch(SQLException e) { + e.printStackTrace(); + } + catch(NullPointerException e) { + System.out.println("error" + authorCode); + } + return null; + } + public AuthorBean getAuthor(String authorName) { + Connection conn = DBUtil.DBConnection(); + PreparedStatement ps; + try { + ps = conn.prepareStatement("select * from author_tbl_me12 where author_name=?"); + ps.setString(1, authorName); + ResultSet rs = ps.executeQuery(); + AuthorBean bean = new AuthorBean(); + while(rs.next()){ + bean.setAuthorCode(rs.getInt(1)); + bean.setAuthorName(rs.getString(2)); + bean.setContactNumber(rs.getLong(3)); + } + return bean; + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + return null; + } +} diff --git a/book/dao/BookDao.java b/book/dao/BookDao.java new file mode 100644 index 0000000..886d198 --- /dev/null +++ b/book/dao/BookDao.java @@ -0,0 +1,55 @@ +package com.wipro.book.dao; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import com.wipro.book.bean.BookBean; +import com.wipro.book.util.DBUtil; + +public class BookDao { + public BookBean fetchBook(String isbn){ + Connection conn = DBUtil.DBConnection(); + PreparedStatement ps; + try { + ps = conn.prepareStatement("select * from book_tbl_me12 where ISBN=?"); + ps.setString(1, isbn); + ResultSet rs = ps.executeQuery(); + BookBean bean =null; + while(rs.next()){ + bean = new BookBean(); + bean.setIsbn(isbn); + bean.setBookName(rs.getString(2)); + bean.setBookType(rs.getString(3).charAt(0)); + bean.setAuthor( new AuthorDao().getAuthor(rs.getInt(4))); + bean.setCost(rs.getFloat(5)); + } + return bean; + } catch (SQLException e) { + e.printStackTrace(); + } + catch(NullPointerException e){ + System.out.println("error" + isbn); + + } + + return null; + } + + public int createBook(BookBean book){ + Connection conn = DBUtil.DBConnection(); + try { + PreparedStatement ps = conn.prepareStatement("insert into book_tbl_me12 values(?,?,?,?,?)"); + ps.setString(1, book.getIsbn()); + ps.setString(2, book.getBookName()); + ps.setString(3,((Character)book.getBookType()).toString()); + ps.setInt(4, book.getAuthor().getAuthorCode()); + ps.setFloat(5, book.getCost()); + ps.execute(); + return 1; + } catch (SQLException e) { + e.printStackTrace(); + return 0; + } + } +} diff --git a/book/service/Administrator.java b/book/service/Administrator.java new file mode 100644 index 0000000..fa167bf --- /dev/null +++ b/book/service/Administrator.java @@ -0,0 +1,25 @@ +package com.wipro.book.service; + +import com.wipro.book.bean.BookBean; +import com.wipro.book.dao.BookDao; + +public class Administrator { + public String addBook(BookBean bookBean) { + if(bookBean==null||bookBean.getBookName().equals("")||bookBean.getIsbn().equals("")||bookBean.getBookType()!='T'&&bookBean.getBookType()!='G'||bookBean.getCost()<=0||bookBean.getAuthor().getAuthorName()==null||bookBean.getAuthor().getAuthorName().equals("")){ + return "INVALID"; + } + int res = new BookDao().createBook(bookBean); + if(res == 1){ + return "SUCCESS"; + + } + else{ + return "FAILURE"; + } + } + public BookBean viewBook(String isbn) { + if(isbn.equals("")) + return null; + return new BookDao().fetchBook(isbn); + } +} diff --git a/book/servlets/MainServlet.java b/book/servlets/MainServlet.java new file mode 100644 index 0000000..487a10d --- /dev/null +++ b/book/servlets/MainServlet.java @@ -0,0 +1,97 @@ +package com.wipro.book.servlets; + +import java.io.IOException; +import java.io.PrintWriter; + +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.wipro.book.bean.BookBean; +import com.wipro.book.dao.AuthorDao; +import com.wipro.book.service.Administrator; + +@WebServlet("/MainServlet"); +public class MainServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + public MainServlet() { + super(); + } + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + response.getWriter().append("Served at: ").append(request.getContextPath()); + } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + String operation = request.getParameter("operation"); + if(operation.equals("AddBook")){ + String result = addBook(request); + + if(result.equals("SUCCESS")){ + RequestDispatcher rd = request.getRequestDispatcher("/Menu.html"); + rd.include(request, response); + } + else if(result.equals("FAILURE")){ + RequestDispatcher rd = request.getRequestDispatcher("Failure.html"); + rd.include(request, response); + } + else{ + RequestDispatcher rd = request.getRequestDispatcher("Invalid.html"); + rd.include(request, response); + } + } + if(operation.equals("Search")){ + BookBean bean = viewBook(request.getParameter("isbn")); + if(bean==null){ + RequestDispatcher rd = request.getRequestDispatcher("Invalid.html"); + rd.include(request, response); + return; + } + response.setContentType("text/html"); + PrintWriter out = response.getWriter(); + out.println("
| ISBN | "+bean.getIsbn()+" |
| Book Name | "+bean.getBookName()+" |
| Book Type | "+type+" |
| Author Name | "+bean.getAuthor().getAuthorName()+" |
| Contact | "+bean.getAuthor().getContactNumber()+" |
| Cost | "+bean.getCost()+" |