Package Controller

Source Code of Controller.personController

package Controller;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import dao.*;

import Model.Person;
import Model.Phone;

public class personController implements Controller
{
  private DAO model;
  private ArrayList<Person> listPerson = new ArrayList<Person>();

  public personController()
  {
    model = new DAO_H2();
    setActionReadall();
  }



  @Override
  public ModelAndView handleRequest( HttpServletRequest request, HttpServletResponse respons ) throws Exception
  {
    String buffer;
    String id;
   
    request.setCharacterEncoding("UTF-8");
   
    buffer = request.getRequestURL().toString();
    buffer = buffer.substring(buffer.indexOf(request.getContextPath())+11, buffer.length());
   
    System.out.println( "url = " +request.getRequestURL() );
   
    if ( buffer.equals("index.htm") )
    {
      return new ModelAndView( "viewPerson", "listPerson" , listPerson );
    }
   
    if ( buffer.length()>7 && buffer.substring(0,6).equals("delete") )
    {
      id=buffer.substring(6,buffer.indexOf(".htm"));
      setActionDelete(Integer.parseInt(id));
      setActionReadall();
      return new ModelAndView( "viewPerson", "listPerson" , listPerson );
    }
   
    if ( buffer.length()>5 && buffer.substring(0,4).equals("edit") )
    {
      if (request.getParameter("id")!=null)
      {
        setActionUpdate(newPerson( request ));
        setActionReadall();
      }
     
      id=buffer.substring(4,buffer.indexOf(".htm"));
      return new ModelAndView( "editPerson", "person" , findPerson( Integer.parseInt(id) ) );
    }
   
    if ( buffer.equals("newPerson.htm") )
    {
      if (request.getParameter("id")!=null)
      {
        setActionCreate( newPerson( request ) );
        setActionReadall();
      }
     
      id=buffer.substring(4,buffer.indexOf(".htm"));
      return new ModelAndView( "editPerson", "person" , getNewPerson() );
    }
   
    return new ModelAndView( "errorPage", "error404", null );
  }
 
  public void setActionReadall()
  {
    try
    {
      model.Connect();
      listPerson = model.ReadAll();
      model.Disconnect();
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }
 
  public Person findPerson( int id )
  {
    Person person = new Person();
   
    for (Person tmp : listPerson)
    {
      if ( tmp.getId()==id )
      {
        return tmp;
      }
    }
    return person;
  }

  public void setActionDelete( int id )
  {
    if (!listPerson.isEmpty())
    {
      try
      {
        model.Connect();
        model.Delete(id);
        model.Disconnect();
      }
      catch (Exception e)
      {
        e.printStackTrace();
      }
    }
  }
 
  public void setActionUpdate(Person person)
  {
    try
    {
      model.Connect();
      model.Update(person);
      model.Disconnect();
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }
 
  public void setActionCreate(Person person)
  {
    ArrayList<Person> persons = new ArrayList<Person>();
    persons.add(person);
   
    try
    {
      model.Connect();
      model.Create(persons);
      model.Disconnect();
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }
 
  public Person getNewPerson()
  {
    int id=0;
   
    Person person = new Person();
   
    try
    {
      model.Connect();
      id=model.MaxId();
      model.Disconnect();
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
    person.setId(id+1);

    return person;
  }
 
  public Person newPerson( HttpServletRequest request )
  {
    Person person = new Person();
    ArrayList<Phone> phones = new ArrayList<Phone>();
    String phone = "phone[0].phone";;
    int i=0;
   
    person.setId( Integer.parseInt(request.getParameter("id")) );
    person.setFistname(request.getParameter("fistname"));
    person.setSurname(request.getParameter("surname"));
    person.setAge( Integer.parseInt(request.getParameter("age")) );
   
    while(request.getParameter(phone)!=null)
    {
      phones.add(new Phone( request.getParameter(phone) ));
      phone = "phone["+i+"].phone";
      i++;
    }
   
    if (!phones.isEmpty())
    {
      phones.remove(0);
    }
   
    person.setPhone(phones);
   
    return person;
  }

}
TOP

Related Classes of Controller.personController

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.