Package net.baguajie.web.mvc.controllers

Source Code of net.baguajie.web.mvc.controllers.GetSpotsFromCategoryController

package net.baguajie.web.mvc.controllers;

import java.util.ArrayList;
import java.util.Collection;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import net.baguajie.constants.ApplicationConfig;
import net.baguajie.domains.Spot;
import net.baguajie.domains.User;
import net.baguajie.repositories.SpotRepository;
import net.baguajie.repositories.UserRepository;
import net.baguajie.web.utils.SessionUtil;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.data.domain.Sort.Order;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/categories")
public class GetSpotsFromCategoryController {
 
  @Autowired
  SpotRepository spotRepository;
  @Autowired
  UserRepository userRepository;
  @Autowired
  SessionUtil sessionUtil;
 
  @RequestMapping(value="/thumb", method=RequestMethod.GET)
  public String thumb(Model model, HttpServletRequest request,
      HttpSession session){
   
    String uid = request.getParameter("uid");
    String category = request.getParameter("category");
    Pageable pageable = new PageRequest(0,
        ApplicationConfig.categoryThumbPageSize, new Sort(new Order(
            Direction.DESC, "createdAt")));
    User user = userRepository.findOne(uid);
    Page<Spot> spots = spotRepository.findByCreatedByAndCategory(uid, category, pageable);
    model.addAttribute("category", category);
    model.addAttribute("user", user);
    if(spots!=null){
      model.addAttribute("total", spots.getTotalElements());
      Collection<Spot> thumbs = new ArrayList<Spot>();
      for (Spot spot : spots) {
        thumbs.add(spot);
      }
      model.addAttribute("thumbs", thumbs);
    }else{
      model.addAttribute("total", 0);
    }
    return "categories/single.thumb";
  }
}
TOP

Related Classes of net.baguajie.web.mvc.controllers.GetSpotsFromCategoryController

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.