Package com.tubeonfire.controller

Source Code of com.tubeonfire.controller.AdCategoryController

package com.tubeonfire.controller;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

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

import com.google.appengine.api.blobstore.BlobKey;
import com.google.appengine.api.blobstore.BlobstoreService;
import com.google.appengine.api.blobstore.BlobstoreServiceFactory;
import com.google.appengine.api.datastore.Text;
import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
import com.tubeonfire.entity.Category;
import com.tubeonfire.entity.Playlist;
import com.tubeonfire.entity.Tube;
import com.tubeonfire.model.CategoryModel;
import com.tubeonfire.model.PlaylistModel;
import com.tubeonfire.model.TubeModel;
import com.tubeonfire.util.StringHelper;

public class AdCategoryController extends HttpServlet {
  private static final long serialVersionUID = 1L;
  private BlobstoreService blobstoreService = BlobstoreServiceFactory
      .getBlobstoreService();

  protected void doGet(HttpServletRequest request,
      HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    UserService userService = UserServiceFactory.getUserService();
    User user = userService.getCurrentUser();
    String path = ((HttpServletRequest) request).getRequestURI();
    String action = "";
    String[] splittedURI = path.split("/");
    // if length = 3, this is for action request.
    if (splittedURI.length == 4) {
      action = splittedURI[splittedURI.length - 1];
      System.out.println("Do action : " + action);
      // create new category, return create page.
      if (action.equalsIgnoreCase("manager")) {
        List<Category> result = CategoryModel.all();
        if (result != null && result.size() > 0) {
          request.setAttribute("result", result);
          request.getRequestDispatcher("/category_manager.jsp")
              .forward(request, response);
        } else {
          response.getWriter()
              .println("Category table have no item.");
        }
      }
      // create category.
      else if (action.equalsIgnoreCase("create")) {
        request.getRequestDispatcher("/category_create.jsp").forward(
            request, response);
      }
      // edit category.
      else if (action.equalsIgnoreCase("edit")) {
        response.getWriter().println("Edit.");
      }
      // delete category.
      else if (action.equalsIgnoreCase("delete")) {
        String id = request.getParameter("id");
        if (id != null) {
          Category cate = CategoryModel.getByCateAlias(id);
          if (cate != null) {
            cate.setStatus(4);
            CategoryModel.update(cate);
            CategoryModel.closePM();
            response.getWriter().println("Deleted.");
          } else {
            response.getWriter().println("Category is not exits.");
          }

        } else {
          response.getWriter().println(
              "Invalid category. Please try again.");
        }
      }// edit list clips in category.
      else if (action.equalsIgnoreCase("edit_videos")) {
        response.getWriter().println("Edit video.");
      }
      // add clips to category.
      else if (action.equalsIgnoreCase("add_video")) {
        String tubeId = request.getParameter("tubeId");
        String categoryAlias = request.getParameter("categoryAlias");
        Tube tub = TubeModel.getByTubeId(tubeId);
        Category cate = CategoryModel.getByCateAlias(categoryAlias);
        if (tub != null && cate != null) {
          List<Text> listTubes = new ArrayList<Text>();
          if (cate.getListTubes().size() > 0) {
            listTubes = cate.getListTubes();
          }         
          for (int i = 0; i < listTubes.size(); i++) {
            if (listTubes.get(i).equals(tub.getTubeId())) {
              listTubes.remove(i);
              break;
            }
          }
          listTubes.add(new Text(tub.toString()));
          cate.setListTubes(listTubes);
          CategoryModel.update(cate);
          CategoryModel.closePM();
          System.out.println("Ok, video added to playlist");

        } else {
          response.getWriter().println(
              "Tube or category are not exits.");
        }
        response.getWriter().println("Add video to category.");
      }
    }
    // if length = 4, this is view detail playlist request.
    else if (splittedURI.length == 5) {
      response.getWriter().println("Length = 5.");
    }
  }

  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    UserService userService = UserServiceFactory.getUserService();
    User user = userService.getCurrentUser();
    if (user != null) {
      String action = req.getParameter("action");
      if (action.equalsIgnoreCase("create")) {
        Category cate = new Category();
        if (req.getParameter("title") != null) {
          cate.setTitle(new Text(req.getParameter("title")));
        }
        if (req.getParameter("description") != null) {
          cate.setDescription(new Text(req
              .getParameter("description")));
        }
        Map<String, List<BlobKey>> blobs = blobstoreService
            .getUploads(req);
        List<BlobKey> blobKeys = blobs.get("myFile");
        if (blobKeys != null && blobKeys.size() > 0) {
          cate.setThumbImageUrl(new Text(blobKeys.get(0)
              .getKeyString()));
        }
        cate.setCount(0);
        cate.setStatus(1);
        cate.setAlias(StringHelper.getAliasByLanguage(req
            .getParameter("title")));
        CategoryModel.add(cate);
        resp.sendRedirect("/admin/category/manager");

      } else if (action.equalsIgnoreCase("edit")) {
        resp.getWriter().println("Edit Category");
      }
    } else {
      System.out.println("User is not login.");
      resp.sendRedirect("/login");
    }
  }
}
TOP

Related Classes of com.tubeonfire.controller.AdCategoryController

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.