Package com.simpletwitter.web.controllers

Source Code of com.simpletwitter.web.controllers.TweetController

package com.simpletwitter.web.controllers;

import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
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.servlet.ModelAndView;

import com.simpletwitter.common.Authenticator;
import com.simpletwitter.models.Tweet;
import com.simpletwitter.models.TwitterUser;
import com.simpletwitter.service.TweetService;
import com.simpletwitter.service.TwitterUserService;

@Controller
public class TweetController {

  @RequestMapping(value = "/tweet.html", method = RequestMethod.POST, params = "bean=tweet")
  public ModelAndView handleRequest(@ModelAttribute("tweet") Tweet tweet,
      HttpServletRequest request) throws Exception {
    TwitterUser currUser = Authenticator.isValid(request);
    ModelAndView mv = new ModelAndView();
    if (currUser != null) {
      if (tweet.getTweetMessage() != null
          && !"".equals(tweet.getTweetMessage())) {
        if (tweet.getTweetMessage().length() <= 100) {
          tweet.setDateCreated(new Date());
          tweet.setTwitterUser(currUser);
          TweetService.createTweet(tweet);
        } else {
          mv.addObject("tweetlengtherror",
              "Not more than 100 charcters are allowed");
        }
      }
      Set<Tweet> tweets = TweetService.getTweetStream(
          currUser.getObjId(), currUser.getFollowing());
      Set<TwitterUser> allUserList = TwitterUserService
          .getAllUserList(currUser);
      Map<String, Integer> followCount = TwitterUserService
          .getFollowCount(currUser.getObjId());
      int tweetCount = TwitterUserService.getTweetCount(currUser);
      Tweet eTweet = new Tweet();
      mv.addObject("tweet", eTweet);
      mv.setViewName("twitterhomepage");
      mv.addObject("tweets", tweets);
      mv.addObject("user", currUser);
      mv.addObject("userlist", allUserList);
      mv.addObject("followcount", followCount);
      mv.addObject("tweetcount", tweetCount);
    } else {
      Authenticator.loginFailed(mv, null);
    }
    return mv;
  }

  @RequestMapping(value = "/tweetdelete.html", method = RequestMethod.GET, params = "objid")
  public ModelAndView viewUser(@RequestParam(value = "objid") String objId,
      HttpServletRequest request) {
    TwitterUser currUser = Authenticator.isValid(request);
    ModelAndView mv = new ModelAndView();
    if (currUser != null) {
      Tweet tweet = TweetService.getTweet(Long.valueOf(objId));
      if (currUser.equals(tweet.getTwitterUser())) {
        TweetService.deleteTweet(tweet);
      }
      Set<Tweet> tweets = TweetService.getTweetStream(
          currUser.getObjId(), currUser.getFollowing());
      Set<TwitterUser> allUserList = TwitterUserService
          .getAllUserList(currUser);
      Map<String, Integer> followCount = TwitterUserService
          .getFollowCount(currUser.getObjId());
      int tweetCount = TwitterUserService.getTweetCount(currUser);
      Tweet eTweet = new Tweet();
      mv.addObject("tweet", eTweet);
      mv.setViewName("twitterhomepage");
      mv.addObject("tweets", tweets);
      mv.addObject("user", currUser);
      mv.addObject("userlist", allUserList);
      mv.addObject("followcount", followCount);
      mv.addObject("tweetcount", tweetCount);
    } else {
      Authenticator.loginFailed(mv, null);
    }
    return mv;
  }
}
TOP

Related Classes of com.simpletwitter.web.controllers.TweetController

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.