Java tutorial
/** * Copyright (c) 2001-2012 "Redbasin Networks, INC" [http://redbasin.org] * * This file is part of Redbasin OpenDocShare community project. * * Redbasin OpenDocShare is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package web; import dao.*; import java.io.IOException; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import model.Displaypage; import model.Userpage; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; import util.DbConstants; import util.GlobalConst; import util.RegexStrUtil; import util.WebUtil; /** * * @author Smitha Gudur (smitha@redbasin.com) * @version $Revision: 1.1 $ */ public class CarryondeleteController extends BaseController implements Controller { /** Logger for this class and subclasses */ protected final Log logger = LogFactory.getLog(getClass()); // These properties are set from the spring config file // private BaseDaoModel daoMapper; /** * This method is called by the spring framework. The configuration * for this controller to be invoked is based on the pagetype and * is set in the urlMapping property in the spring config file. * * @param request the <code>HttpServletRequest</code> * @param response the <code>HttpServletResponse</code> * @throws ServletException * @throws IOException * @return ModelAndView this instance is returned to spring */ public synchronized ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { ModelAndView m = super.handleRequest(request, response); } catch (Exception e) { return handleError("error in handleRequest", e); } outOfSession(request, response); String category = request.getParameter(DbConstants.CATEGORY); if (!RegexStrUtil.isNull(category) && category.equals(DbConstants.FILE_CATEGORY)) { if (!WebUtil.isLicenseProfessional(login)) { return handleError("Cannot access user file features in deluxe version." + login); } } if (RegexStrUtil.isNull(category)) { return handleError( "categoryid is empty/null while deleting carryon. Forwarding to userpage of login " + login); } /** * error checking */ if (RegexStrUtil.isNull(login) || loginInfo == null) { return handleUserpageError("Login || loginInfo is null, CarryondeleteController. "); } String entryid = request.getParameter(DbConstants.ENTRYID); if (RegexStrUtil.isNull(entryid)) { return handleError( "entryid is empty/null while deleting carryon. Forwarding to userpage of login " + login); } if (entryid.length() > GlobalConst.entryIdSize) { return handleError("entryidSize is > Forwarding to userpage of login " + login); } int catValue = new Integer(category).intValue(); if (catValue < GlobalConst.categoryMinSize || catValue > GlobalConst.categoryMaxSize) { return handleError("category values is not within the appropriate range, catValue = " + catValue); } /** * delete blob streams from carryon */ if (getDaoMapper() == null) { return handleError("DaoMapper is null for delete carryon, login " + login); } CarryonDao carryonDao = (CarryonDao) getDaoMapper().getDao(DbConstants.CARRYON); if (carryonDao == null) { return handleError("carryonDao is null for delete carryon, login " + login); } String loginId = loginInfo.getValue(DbConstants.LOGIN_ID); try { carryonDao.deleteCarryon(entryid, loginId, category, login); } catch (BaseDaoException e) { return handleError("Exception occurred in deleteCarryon() for login " + login, e); } List carryon = null; List tagList = null; HashSet tagSet = null; try { carryon = carryonDao.getCarryonByCategory(loginId, category, DbConstants.READ_FROM_MASTER); tagList = carryonDao.getTags(loginId, DbConstants.READ_FROM_MASTER); tagSet = carryonDao.getUniqueTags(tagList); } catch (BaseDaoException e) { return handleError("Exception occurred in getCarryon() in carryon edit for login " + login, e); } /** * editphotos / editfiles - views */ String viewName = DbConstants.EDIT_PHOTOS; if (category != null && category.equalsIgnoreCase(DbConstants.FILE_CATEGORY)) { viewName = DbConstants.EDIT_FILES; } if (carryon == null) { return handleError("carryon is null."); } /* * display information about the files. */ DisplaypageDao displayDao = (DisplaypageDao) getDaoMapper().getDao(DbConstants.DISPLAY_PAGE); if (displayDao == null) { return handleError("displayDao is null in carryon edit for login " + login); } Displaypage displaypage = null; try { displaypage = displayDao.getDisplaypage(login, DbConstants.READ_FROM_SLAVE); } catch (BaseDaoException e) { return handleError("Exception occurred in getCarryon() in carryon edit for login " + login, e); } CobrandDao cobrandDao = (CobrandDao) getDaoMapper().getDao(DbConstants.COBRAND); if (cobrandDao == null) { return handleUserpageError("CobrandDao is null, CarryondeleteController"); } Userpage cobrand = cobrandDao.getUserCobrand(loginInfo.getValue(DbConstants.LOGIN_ID)); Map myModel = new HashMap(); myModel.put(viewName, carryon); if (tagSet != null) { myModel.put(DbConstants.USER_TAGS, RegexStrUtil.goodText(tagSet.toString())); } myModel.put(DbConstants.LOGIN_INFO, loginInfo); myModel.put(DbConstants.DISPLAY_PAGE, displaypage); myModel.put(DbConstants.DIR_EXISTS, rbDirectoryExists); myModel.put(DbConstants.COBRAND, cobrand); myModel.put(DbConstants.USER_PAGE, userpage); myModel.put(DbConstants.SHARE_INFO, shareInfo); myModel.put(DbConstants.BUSINESS_EXISTS, isBizExists(login)); return new ModelAndView(viewName, "model", myModel); //myModel.put(DbConstants.VISITOR_PAGE, memberUserpage); } /** * BaseDaoModel set by the spring framework. It maps the DAO implementation * to the pagetype. * * @param daoMapper set the BaseDaoModel instance */ public void setDaoMapper(BaseDaoModel daoMapper) { this.daoMapper = daoMapper; } /** * BaseDaoModel set by the spring framework. It maps the DAO implementation * to the pagetype. * * @return BaseDaoModel get the BaseDaoModel instance */ public BaseDaoModel getDaoMapper() { return daoMapper; } }