com.anthony.forumspring.controller.UsersController.java Source code

Java tutorial

Introduction

Here is the source code for com.anthony.forumspring.controller.UsersController.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.anthony.forumspring.controller;

import com.anthony.forumspring.bean.Users;
import com.anthony.forumspring.dao.IusersDao;
import com.anthony.forumspring.metier.IusersMetier;
import java.util.List;
import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

/**
 *
 * @author anthony
 */
@Controller

public class UsersController {

    ListableBeanFactory bf = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
    IusersDao m = (IusersDao) bf.getBean("dao");
    IusersMetier metierU = (IusersMetier) bf.getBean("userMetier");

    @RequestMapping(value = "/ListePersonne", method = RequestMethod.GET)
    public String afficherPersonne(final Model pModel) {

        List<Users> u = m.findAll();
        pModel.addAttribute("personne", u);
        return "ListePersonne";
    }

    @RequestMapping(value = "/CreateProfile", method = RequestMethod.GET)
    public ModelAndView createProfile(ModelAndView model) {
        Users users = new Users();
        model.addObject("users", users);
        model.setViewName("InsertPersonne");
        return model;

    }

    @RequestMapping(value = "/InsertPersonneTrue", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
    @ResponseBody
    public void InsertPersonne(@RequestBody Users user) {
        m.InsertPersonne(user);
    }

    @RequestMapping(value = "/saveContact", method = RequestMethod.POST)
    public ModelAndView saveContact(@ModelAttribute Users users) {
        m.InsertPersonne(users);
        return new ModelAndView("redirect:/Personne/ListePersonne");
    }

    @RequestMapping("/view")
    public @ResponseBody Users getPerson() {
        Users person = new Users();
        person.setUsername("antho");
        person.setPassword("hmk");
        return person;
    }

    @RequestMapping(value = "/InsertPersoneHome", method = RequestMethod.GET)
    public ModelAndView newContactPersonne(ModelAndView model) {
        model.setViewName("home");
        return model;
    }

    // handles person form submit

    // handles person form submit
    @RequestMapping(value = "InsertPersonBdd", method = RequestMethod.POST)
    @ResponseBody
    public ModelAndView savePersonBdd(Users person) {
        ModelAndView mav = new ModelAndView();

        System.out.println("Email :" + person.getEmail());

        if (m.existeUsers(person.getEmail())) {
            mav.addObject("erreurEmail", "Il existe dj un membre avec cet email !");

        } else {
            m.InsertPersonne(person);
            m.InsertAuthorities(person.getUsername(), "ROLE_USER");
            mav.addObject("success",
                    "Flcitation vous tes inscrit ! Connectez vous avec votre pseudo et votre mot de passe");

        }
        System.out.println("Email :" + person.getEmail());
        mav.setViewName("connexion_login");
        return mav;
    }

    @RequestMapping(value = "/Profile", method = RequestMethod.GET)
    public ModelAndView viewProfil(@RequestParam("username") String username) {
        ModelAndView mav = new ModelAndView();

        //Recherche des infos en fonction de l'username pass en parametre de l'url
        List<Users> infos = metierU.findAllByUsername(username);
        int nb = metierU.nbCommentPost(username);
        int nbT = metierU.nbCreateTopics(username);

        //On rcupere l'image du profil
        for (Users u : infos) {
            mav.addObject("picture", u.getPicture());
        }

        //On envoi  les jsp les infos du membre
        mav.addObject("infos", infos);
        mav.addObject("nbC", nb);
        mav.addObject("nbT", nbT);
        //On retourne la vue associe au controller
        mav.setViewName("profile");
        return mav;
    }

}