diff --git a/src/controller/access/AccessControllerAdd.java b/src/controller/access/AccessControllerAdd.java index 733ab1d..c8bd32e 100644 --- a/src/controller/access/AccessControllerAdd.java +++ b/src/controller/access/AccessControllerAdd.java @@ -1,18 +1,66 @@ package controller.access; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.List; +import javax.servlet.http.*; +import com.google.appengine.api.datastore.Key; +import com.google.appengine.api.datastore.KeyFactory; + +import controller.PMF; + +import javax.servlet.*; +import javax.jdo.PersistenceManager; +import model.entity.*; @SuppressWarnings("serial") public class AccessControllerAdd extends HttpServlet { - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - } - - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - } -} + public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + PersistenceManager pm = PMF.get().getPersistenceManager(); + /*Role r = new Role("mesero"); + Resource re = new Resource("/comida"); + try { + pm.makePersistent(r); + pm.makePersistent(re); + } finally { + pm.close(); + }*/ + try{ + System.out.print(request.getParameter("info")); + String query = "select from " + Role.class.getName(); + String query2 = "select from " + Resource.class.getName(); + List roles = (List)pm.newQuery(query).execute(); + List resources = (List)pm.newQuery(query2).execute(); + request.setAttribute("roles", roles); + request.setAttribute("resources", resources); + String queryp = "select " + Role.class.getName(); + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/Views/Access/add.jsp"); + dispatcher.forward(request, response); + try{ + if(request.getParameter("info").equals("agregar")){ + String idRole=request.getParameter("rolesl"); + String idResource=request.getParameter("resourcesl"); + if(idRole == null || idRole.equals("")|| idResource == null || idResource.equals("")){System.out.print("nombre vacio");} + else{ + Access a = new Access( + new Long(idRole).longValue(), + new Long(idResource).longValue(), + true + ); + //persist the entity + try { + System.out.print(request.getParameter("action")); + pm.makePersistent(a); + } finally { + pm.close(); + } + } + } + }catch (java.lang.NullPointerException np){} + }catch(java.lang.NullPointerException np){} { + System.out.print("error"); + } + } + public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doGet(request, response); + } +} \ No newline at end of file diff --git a/src/controller/access/AccessControllerDelete.java b/src/controller/access/AccessControllerDelete.java index 355dcd4..8ccb6bb 100644 --- a/src/controller/access/AccessControllerDelete.java +++ b/src/controller/access/AccessControllerDelete.java @@ -1,18 +1,33 @@ package controller.access; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import javax.servlet.http.*; +import java.util.Date; +import java.util.List; +import java.text.DateFormat; +import javax.servlet.*; +import javax.jdo.PersistenceManager; +import model.entity.*; +import com.google.appengine.api.datastore.Key; +import com.google.appengine.api.datastore.KeyFactory; +import controller.PMF; @SuppressWarnings("serial") public class AccessControllerDelete extends HttpServlet { - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - } - - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - } -} + public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // create the persistence manager instance + PersistenceManager pm = PMF.get().getPersistenceManager(); + // create the new account + try{ + Key k = KeyFactory.createKey(Access.class.getSimpleName(), new Long(request.getParameter("accessId")).longValue()); + Access r = pm.getObjectById(Access.class, k); + pm.deletePersistent(r); + response.sendRedirect("/access"); + } catch(javax.jdo.JDOObjectNotFoundException nf) { + response.sendRedirect("/access"); + } + } + public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doGet(request, response); + } +} \ No newline at end of file diff --git a/src/controller/access/AccessControllerEdit.java b/src/controller/access/AccessControllerEdit.java new file mode 100644 index 0000000..9679280 --- /dev/null +++ b/src/controller/access/AccessControllerEdit.java @@ -0,0 +1,55 @@ +package controller.access; + +import java.io.IOException; +import javax.servlet.http.*; +import java.util.Date; +import java.util.List; +import java.text.DateFormat; +import javax.servlet.*; +import javax.jdo.PersistenceManager; +import model.entity.*; +import com.google.appengine.api.datastore.Key; +import com.google.appengine.api.datastore.KeyFactory; + +import controller.PMF; +@SuppressWarnings("serial") +public class AccessControllerEdit extends HttpServlet { + public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // create the persistence manager instance + PersistenceManager pm = PMF.get().getPersistenceManager(); + try{ + System.out.print(request.getParameter("info")); + Key k = KeyFactory.createKey(Access.class.getSimpleName(), new Long(request.getParameter("id")).longValue()); + Access a = pm.getObjectById(Access.class, k); + request.setAttribute("access", a); + String query = "select from " + Role.class.getName(); + String query2 = "select from " + Resource.class.getName(); + List roles = (List)pm.newQuery(query).execute(); + List resources = (List)pm.newQuery(query2).execute(); + request.setAttribute("roles", roles); + request.setAttribute("resources", resources); + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/Views/Access/edit.jsp"); + dispatcher.forward(request, response); + try{ + if(request.getParameter("info").equals("editar")){ + String idRole=request.getParameter("rolesl"); + String idResource=request.getParameter("resourcesl"); + if(idRole == null || idRole.equals("")|| idResource == null || idResource.equals("")){System.out.print("nombre vacio");} + else{ + if(a.getIdRole().equals(idRole)==false){ + a.setIdRole(new Long(idRole).longValue()); + } + if(a.getIdResource().equals(idResource)==false){ + a.setIdResource(new Long(idResource).longValue()); + } + } + } + }catch (java.lang.NullPointerException np){} + }catch(javax.jdo.JDOObjectNotFoundException nf) { + response.sendRedirect("/index.html"); + } + } + public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doGet(request, response); + } +} \ No newline at end of file diff --git a/src/controller/access/AccessControllerIndex.java b/src/controller/access/AccessControllerIndex.java index 7997bc1..0ee92fd 100644 --- a/src/controller/access/AccessControllerIndex.java +++ b/src/controller/access/AccessControllerIndex.java @@ -1,18 +1,32 @@ package controller.access; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import javax.servlet.http.*; +import java.util.Date; +import java.util.List; +import java.text.DateFormat; +import javax.servlet.*; +import javax.jdo.PersistenceManager; +import model.entity.*; +import com.google.appengine.api.datastore.Key; +import com.google.appengine.api.datastore.KeyFactory; +import controller.PMF; @SuppressWarnings("serial") public class AccessControllerIndex extends HttpServlet { - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - } - - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - } -} + public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { + // create the persistence manager instance + PersistenceManager pm = PMF.get().getPersistenceManager(); + // query for the entities by name + String query = "select from " + Access.class.getName(); + List accesses = (List)pm.newQuery(query).execute(); + // pass the list to the jsp + request.setAttribute("accesses", accesses); + // forward the request to the jsp + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/Views/Access/index.jsp"); + dispatcher.forward(request, response); + } + public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doGet(request, response); + } +} \ No newline at end of file diff --git a/src/controller/access/AccessControllerView.java b/src/controller/access/AccessControllerView.java index 4ccb150..2be0659 100644 --- a/src/controller/access/AccessControllerView.java +++ b/src/controller/access/AccessControllerView.java @@ -1,18 +1,43 @@ package controller.access; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import javax.servlet.http.*; +import java.util.Date; +import java.util.List; +import java.text.DateFormat; +import javax.servlet.*; +import javax.jdo.PersistenceManager; +import model.entity.*; +import com.google.appengine.api.datastore.Key; +import com.google.appengine.api.datastore.KeyFactory; +import controller.PMF; @SuppressWarnings("serial") public class AccessControllerView extends HttpServlet { - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - } - - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - } -} + public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // create the persistence manager instance + PersistenceManager pm = PMF.get().getPersistenceManager(); + try{ + System.out.print(request.getParameter("info")); + Key k = KeyFactory.createKey(Access.class.getSimpleName(), new Long(request.getParameter("id")).longValue()); + Access a = pm.getObjectById(Access.class, k); + request.setAttribute("access", a); + Key krol = KeyFactory.createKey(Role.class.getSimpleName(), a.getIdRole()); + Role rol = pm.getObjectById(Role.class, krol); + String nrol = rol.getName(); + Key kres = KeyFactory.createKey(Resource.class.getSimpleName(), a.getIdResource()); + Resource res = pm.getObjectById(Resource.class, kres); + String nres = res.getName(); + System.out.print(nres); + request.setAttribute("role", nrol); + request.setAttribute("resource", nres); + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/Views/Access/view.jsp"); + dispatcher.forward(request, response); + }catch(javax.jdo.JDOObjectNotFoundException nf) { + response.sendRedirect("/access"); + } + } + public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doGet(request, response); + } +} \ No newline at end of file diff --git a/src/model/Access.java b/src/model/Access.java index 3194028..49054cd 100644 --- a/src/model/Access.java +++ b/src/model/Access.java @@ -1,4 +1,45 @@ -package model; +package model.entity; +import javax.jdo.annotations.IdGeneratorStrategy; +import javax.jdo.annotations.IdentityType; +import javax.jdo.annotations.PersistenceCapable; +import javax.jdo.annotations.Persistent; +import javax.jdo.annotations.PrimaryKey; +@PersistenceCapable(identityType = IdentityType.APPLICATION) public class Access { -} +@PrimaryKey +@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Long id; +@Persistent private Long idRole; +@Persistent private Long idResource; +@Persistent private boolean status; + + public Access(Long idRole, Long idResource, boolean status) { + this.idRole = idRole; + this.idResource = idResource; + this.status = status; + } + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + public Long getIdRole() { + return idRole; + } + public void setIdRole(Long idRole) { + this.idRole = idRole; + } + public Long getIdResource() { + return idResource; + } + public void setIdResource(Long idResource) { + this.idResource = idResource; + } + public boolean getStatus() { + return status; + } + public void setStatus(boolean status) { + this.status = status; + } +} \ No newline at end of file diff --git a/war/WEB-INF/View/Access/add.jsp b/war/WEB-INF/View/Access/add.jsp index b07451b..f383d8b 100644 --- a/war/WEB-INF/View/Access/add.jsp +++ b/war/WEB-INF/View/Access/add.jsp @@ -1,16 +1,43 @@ -<%-- - Created by IntelliJ IDEA. - User: Fernando - Date: 07/06/2018 - Time: 16:39 - To change this template use File | Settings | File Templates. ---%> -<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> +<%@ page import="model.entity.*"%> +<%@ page import="java.util.List"%> +<% + List roles = (List)request.getAttribute("roles"); + List resourses = (List)request.getAttribute("resources"); +%> + - Title + +Insert title here +Back

+

+ + + + +
- + \ No newline at end of file diff --git a/war/WEB-INF/View/Access/edit.jsp b/war/WEB-INF/View/Access/edit.jsp new file mode 100644 index 0000000..790fc5f --- /dev/null +++ b/war/WEB-INF/View/Access/edit.jsp @@ -0,0 +1,45 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> +<%@ page import="model.entity.*"%> +<%@ page import="java.util.List"%> +<% + List roles = (List)request.getAttribute("roles"); + List resourses = (List)request.getAttribute("resources"); + Access a = (Access)request.getAttribute("access"); +%> + + + + +Insert title here + + +Back

+

+ + + + + + +
+ + \ No newline at end of file diff --git a/war/WEB-INF/View/Access/index.jsp b/war/WEB-INF/View/Access/index.jsp index b07451b..0a02671 100644 --- a/war/WEB-INF/View/Access/index.jsp +++ b/war/WEB-INF/View/Access/index.jsp @@ -1,16 +1,41 @@ -<%-- - Created by IntelliJ IDEA. - User: Fernando - Date: 07/06/2018 - Time: 16:39 - To change this template use File | Settings | File Templates. ---%> -<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> +<%@ page import="java.util.List"%> +<%@ page import="model.entity.*"%> +<% + List accesses = (List)request.getAttribute("accesses"); +%> + - Title + +Insert title here - +Regresar + + + + + + + +<% if (accesses.size() > 0) { %> + <% for (int i = 0;i + <% Access e = (Access)accesses.get(i); %> + + + + + + + + + + <% } %> +
IDRoleResourceStatus
<%= e.getId() %><%= e.getIdRole() %><%= e.getIdResource() %><%= e.getStatus() %>ViewEdit
Delete
+<% } else { %> +

No hay empleados registrados +<% } %> - + \ No newline at end of file diff --git a/war/WEB-INF/View/Access/view.jsp b/war/WEB-INF/View/Access/view.jsp index b07451b..ec846e1 100644 --- a/war/WEB-INF/View/Access/view.jsp +++ b/war/WEB-INF/View/Access/view.jsp @@ -1,16 +1,32 @@ -<%-- - Created by IntelliJ IDEA. - User: Fernando - Date: 07/06/2018 - Time: 16:39 - To change this template use File | Settings | File Templates. ---%> -<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> +<%@ page import="model.entity.*"%> +<% + Access access = (Access)request.getAttribute("access"); + String role = (String)request.getAttribute("role"); + String resource = (String)request.getAttribute("resource"); +%> + - Title + +Insert title here - +Back

+ + + + + + + + + + + + + +
ID<%= access.getId() %>
Role<%= role %>
Resource<%= resource %>
- + \ No newline at end of file diff --git a/war/WEB-INF/web.xml b/war/WEB-INF/web.xml index a6e110f..4d0420a 100644 --- a/war/WEB-INF/web.xml +++ b/war/WEB-INF/web.xml @@ -118,40 +118,45 @@ - AccessControllerAdd - controller.access.AccessControllerAdd - - - AccessControllerAdd - /access/add - - - - AccessControllerIndex - controller.access.AccessControllerIndex - - - AccessControllerIndex - /access - - - - AccessControllerView - controller.access.AccessControllerView - - - AccessControllerView - /access/view - - - - AccessControllerDelete - controller.access.AccessControllerDelete - - - AccessControllerDelete - /access/delete - + AccessControllerEdit + controller.access.AccessControllerEdit + + + AccessControllerEdit + /access/edit + + + AccessControllerAdd + controller.access.AccessControllerAdd + + + AccessControllerAdd + /access/add + + + AccessControllerIndex + controller.access.AccessControllerIndex + + + AccessControllerIndex + /access + + + AccessControllerView + controller.access.AccessControllerView + + + AccessControllerView + /access/view + + + AccessControllerDelete + controller.access.AccessControllerDelete + + + AccessControllerDelete + /access/delete +