Package com.artezio.testapp.controller

Source Code of com.artezio.testapp.controller.PersonController

package com.artezio.testapp.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.artezio.testapp.domain.Person;
import com.artezio.testapp.service.CityService;
import com.artezio.testapp.service.PersonService;

@Controller
public class PersonController {
 
  private static final Logger logger = LoggerFactory.getLogger(PersonController.class);
 
  @Autowired
  private PersonService personService;
 
  @Autowired
  private CityService cityService;

  /*
  @RequestMapping(value = "/person", method = RequestMethod.GET)
  public String shoHomePage(Model model) {
   
    model.addAttribute("persons", personService.listPerson());
    model.addAttribute("cityList", cityService.listCity());
    model.addAttribute("personFilter", new Person());
   
    return "person";
  }
  */
 
  @RequestMapping(value = "/person", method = {RequestMethod.POST, RequestMethod.GET})
  public String shoFilteredPage(Model model, Person personFilter) {
      /*
        @RequestParam(value = "personName", required = false) String name,
        @RequestParam(value = "personCity", required = false) Integer cityId,
        @RequestParam(value = "personPhilosopher", required = false) Boolean philosopher,
      */
   
    model.addAttribute("persons", personService.listPerson(personFilter.getName(),
        personFilter.getCity(), personFilter.getPhilosopher()));
   
    model.addAttribute("cityList", cityService.listCity());
    model.addAttribute("personFilter", personFilter);
   
    return "person";
  }
 
  @RequestMapping(value = "person/new")
  public String shoNewPerson(Model model){
    logger.info("Request for adding person");
   
    model.addAttribute("person", new Person());
    model.addAttribute("cityList", cityService.listCity());
   
    return "edit-person";
  }
 
  @RequestMapping(value = "person/edit/{personId}")
  public String shoEditPerson(@PathVariable(value = "personId") Integer personId, Model model){
    logger.info("Request for editing person");
   
    model.addAttribute("person", personService.getPerson(personId));
    model.addAttribute("cityList", cityService.listCity());
   
    return "edit-person";
  }
 
  @RequestMapping(value = "person/save")
  public String savePerson(Person person){
    logger.info("Request for saving person");
   
    if(person.getCity().getId()==null){
      person.setCity(null);
    }
   
    personService.addPerson(person);
   
    return "redirect:/person";
  }
 
  @RequestMapping(value = "person/delete/{personId}")
  public String removePerson(@PathVariable(value = "personId") Integer personId){
    logger.info("Request for deliting person");
   
    personService.removePerson(personId);
   
    return "redirect:/person";
  }
 
 
}
TOP

Related Classes of com.artezio.testapp.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.