Package

Source Code of ScrumMasterServlet

import java.io.*; 
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.LinkedList;
import javax.servlet.*;
import javax.servlet.http.*;
import ApiScrumClass.PersistenceMySQL;
import ApiScrumClass.Person;
import ApiScrumClass.Product;
import ApiScrumClass.ScrumManager;
import java.security.NoSuchAlgorithmException;
import java.security.MessageDigest;
import org.json.JSONObject;
import com.google.gson.Gson;

public class ScrumMasterServlet extends HttpServlet {

//objects of the API
    private static ScrumManager scrum = new ScrumManager();
    private static PersistenceMySQL persistencia = new PersistenceMySQL();
    private static final long serialVersionUID = 8032611514671727168L;
    private static List<Product> products = new LinkedList<Product>();


   
    public Boolean checkPassword(String username, String password) {
        Person p = giveUser(username);
        if (p == null) {
           // Logger.getLogger(ApiScrumClass.Persistence.class.getName()).log(Level.WARNING,"Usuario incorrecto");
            return false;           
        }
        if (!(p.getPassword().equals(password))) {
           // Logger.getLogger(ApiScrumClass.Persistence.class.getName()).log(Level.WARNING,"Los password no coinciden");
            return false;
        }
        return true;
    }
    public Person giveUser(String username) {
        Person person;
        try {
            List <Person> listPerson = scrum.getCompleteStaffList();
            Iterator iterProducts = listPerson.iterator();
            while (iterProducts.hasNext()) {
                person = (Person) iterProducts.next();
                if (person.getName().equals(username))
                    return person;
            }
            return null;
        } catch (Exception e) {
            return null;
        }
    }
    private Person givePerson(String id) {
        return persistencia.getPerson(Integer.parseInt(id));
    }
    public String getPerson(String id) {
        try {
            Person p = givePerson(id);
            if (p != null)
                return p.getName();
            else
                return null;
        } catch (Exception e) {
            return null;
        }
    }
    public List<String> getProductList() {
        try {
            List <Product> list = scrum.getProductList();
            List<String> listAux = new ArrayList<String>();

            Iterator iterProducts = list.iterator();
            while (iterProducts.hasNext()) {
                listAux.add( String.valueOf(((Product) iterProducts.next()).getId()) );
            }
            return listAux;
        } catch (Exception e){
            return null;
        }
    }
    public List<String> getPersons() {
        List<String> list = new ArrayList<String>();
        Person person;
        try {
            List <Person> listPerson = scrum.getCompleteStaffList();
            if (listPerson == null)
                return null;
            Iterator iterProducts = listPerson.iterator();
            while (iterProducts.hasNext()) {
                person = (Person) iterProducts.next();
                list.add(String.valueOf(person.getIdPerson()));
            }
            return list;
        } catch (Exception e) {
            return null;
        }
    }
    private static List<Producto> productsss = new LinkedList<Producto>();
    private String encryptPassword(String password) throws NoSuchAlgorithmException {
        MessageDigest encript = MessageDigest.getInstance("MD5");
        encript.update(password.getBytes());
        byte[] b = encript.digest();
  int size = b.length;
  StringBuffer h = new StringBuffer(size);
  for (int i=0;i<size;i++){
    h.append(b[i]);
  }
  return h.toString();
    }
  
   
    @Override
    public void doGet(HttpServletRequest request,HttpServletResponse response)
        throws IOException, ServletException
    {
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
//Primero recogemos los posibles parametros
        String User=request.getParameter("user");
        String Password=request.getParameter("password");
        String Product=request.getParameter("product");
//Ejemplo de llamada a url
//http://localhost:8080/ScrumMasterServer/ScrumMasterServlet?user=eduardo&password=eduardo
        try {
            JSONObject responseObj = new JSONObject();
            List<JSONObject> productObjects = new LinkedList<JSONObject>();
            List<Product> products = scrum.getProductList();
            Gson gson = new Gson();
            
            for (Product product : products) {
                JSONObject productObj = new JSONObject();
              
                productObj.put("Description", product.getDescription());
                productObj.put("name", product.getName());
                productObj.put("Done", product.getDone());
                productObj.put("CurrentEstimation",product.getCurrentEstimation());
                productObj.put("InitialEstimation",product.getInitialEstimation())
                productObj.put("Assigned",product.getAssigned());
                productObj.put("Planned",product.getPlanned());
                productObj.put("id", product.getId());
                productObjects.add(productObj);
            }
            //responseObj.put("paso", checkPassword(User,encryptPassword(Password)));
            responseObj.put("paso", checkPassword(User,Password));
            responseObj.put("productos", productObjects);
            PrintWriter writer = response.getWriter();
            writer.write(responseObj.toString());
            //writer.flush();
        }
        catch (Exception e) {
            e.printStackTrace();
            throw new ServletException(e);
        }
       
        /*
    
//OBTENEMOS LA LISTA DE TODOS LOS PRODUCTOS
        try {
            List<Product> ListaProductos = scrum.getProductList();
            Product Producto;
            Iterator iterProductos = ListaProductos.iterator();
            boolean Primero=true;
            while (iterProductos.hasNext()) {
               Producto = (Product) iterProductos.next();
               if (Primero) {
                   out.write("{\"ProductID\":" + Producto.getId() + ",");
                    Primero=false;
               }else{
                   out.write("},{\"ProductID\":" + Producto.getId() + ",");
               }
               out.write("\"ProductNAME\":\"" + Producto.getName() + "\",");
               out.write("\"ProductDESCRIPTION\":\"" + Producto.getDescription() + "\",");
               out.write("\"ProductASSIGNED\":" + Producto.getAssigned() + ",");
               out.write("\"ProductINITIALESTIMATION\":" + Producto.getInitialEstimation() + ",");
               out.write("\"ProductCURRENTESTIMATION\":" + Producto.getCurrentEstimation() + ",");
               out.write("\"ProductPLANNED\":" + Producto.getPlanned() + ",");
               out.write("\"ProductASSIGNED\":" + Producto.getAssigned() + ",");
               out.write("\"ProductoDONE\":" + Producto.getDone());
            }
            out.write("}]}");
        } catch (Exception e) {
            out.print("ERROR EN LA CONSULTA DE PRODUCTOS:" + e.getMessage());
        }
        */
     }
    @Override
    public void doPost(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    {
        doGet(request, response);
    }

}
TOP

Related Classes of ScrumMasterServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.