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.Hdlogin; import model.Photo; 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; /** * * @author Smitha Gudur (smitha@redbasin.com) * @version $Revision: 1.1 $ */ public class CarryonmediaController extends BaseController implements Controller { /** Logger for this class and subclasses */ protected final Log logger = LogFactory.getLog(getClass()); /** * 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); } /** * Error checking, don't check for session management * as mini album can be viewed out of session */ if (RegexStrUtil.isNull(login) && RegexStrUtil.isNull(member)) { return handleError("Login & member are null, CarryonmediaController"); } String entryid = request.getParameter(DbConstants.ENTRYID); if (RegexStrUtil.isNull(entryid)) { return handleError("entryid is empty/null, forwarding to userpage of login " + login); } if (entryid.length() > GlobalConst.entryIdSize) { return handleError("entryidSize is > forwarding to userpage of login " + login); } /** * gets the daomapper */ if (getDaoMapper() == null) { return handleError("DaoMapper is null in carryon edit."); } String pageNum = request.getParameter(DbConstants.PAGE_NUM); String published = request.getParameter(DbConstants.PUBLISHED); Userpage cobrand = null; /** * logged in user, accessing another members files or photos * myself = false * logged in user, accessing own files or photos, * myself = true */ boolean myself = false; if (!RegexStrUtil.isNull(login)) { if (!RegexStrUtil.isNull(member) && login.equals(member)) { myself = true; } else { if (RegexStrUtil.isNull(member)) { myself = true; } } } /** * display information about the files, if the category !=1 (files) */ Displaypage displayPage = null; DisplaypageDao displayDao = (DisplaypageDao) getDaoMapper().getDao(DbConstants.DISPLAY_PAGE); if (displayDao == null) { return handleError("displayDao is null in carryon edit for login " + login); } boolean displayPhotos, displayFiles; displayPhotos = displayFiles = false; try { if (myself) { displayPage = displayDao.getDisplaypage(login, DbConstants.READ_FROM_MASTER); } else { displayPage = displayDao.getDisplaypage(member, DbConstants.READ_FROM_SLAVE); } } catch (BaseDaoException e) { return handleError("Exception occurred in getDisplaypage(), CarryonmediaController ", e); } if ((displayPage != null) && (displayPage.getValue(DbConstants.FILES).equals("1"))) { displayFiles = true; } /** * DbConstants.FILES */ if (!myself && !displayFiles) { return handleError("member does not give access to display files to others" + member); } CobrandDao cobrandDao = (CobrandDao) getDaoMapper().getDao(DbConstants.COBRAND); if (cobrandDao == null) { return handleUserpageError("CobrandDao is null, CarryonmediaController"); } CarryonDao carryonDao = (CarryonDao) getDaoMapper().getDao(DbConstants.CARRYON); if (carryonDao == null) { return handleError("carryonDao is null in carryon edit."); } Photo photo = null; List tagList = null; HashSet tagSet = null; Hdlogin memberInfo = null; try { if (myself) { if (loginInfo != null) { cobrand = cobrandDao.getUserCobrand(loginInfo.getValue(DbConstants.LOGIN_ID)); photo = carryonDao.getCarryon(entryid, loginInfo.getValue(DbConstants.LOGIN_ID)); tagList = carryonDao.getTags(loginInfo.getValue(DbConstants.LOGIN_ID), DbConstants.READ_FROM_SLAVE); tagSet = carryonDao.getUniqueTags(tagList); } memberInfo = loginInfo; } else { if (!RegexStrUtil.isNull(member)) { MemberDao memberDao = (MemberDao) getDaoMapper().getDao(DbConstants.MEMBER); if (memberDao == null) { return handleError("memberDao is null in CarryoeditController, for member= " + member); } memberInfo = memberDao.getMemberInfo(member); if (memberInfo != null) { cobrand = cobrandDao.getUserCobrand(memberInfo.getValue(DbConstants.LOGIN_ID)); photo = carryonDao.getCarryon(entryid, memberInfo.getValue(DbConstants.LOGIN_ID)); tagList = carryonDao.getTags(memberInfo.getValue(DbConstants.LOGIN_ID), DbConstants.READ_FROM_SLAVE); tagSet = carryonDao.getUniqueTags(tagList); } } else { return handleError("Member is null in CarryonmediaController"); } } } catch (BaseDaoException e) { return handleError("Exception occurred in getCarryon()", e); } if (photo == null) { return handleError("photo is null, CarryonmediaController."); } Map myModel = new HashMap(); if (memberInfo != null) { myModel.put(DbConstants.MEMBER_INFO, memberInfo); } if (tagSet != null) { myModel.put(DbConstants.USER_TAGS, RegexStrUtil.goodText(tagSet.toString())); } String viewName = DbConstants.MEDIA_CARRYON; myModel.put(DbConstants.LOGIN_INFO, loginInfo); myModel.put(DbConstants.PHOTO, photo); myModel.put(DbConstants.PUBLISHED, published); myModel.put(DbConstants.DISPLAY_PAGE, displayPage); myModel.put(DbConstants.USER_PAGE, userpage); myModel.put(DbConstants.SHARE_INFO, shareInfo); myModel.put(DbConstants.VISITOR_PAGE, memberUserpage); myModel.put(DbConstants.DIR_EXISTS, rbDirectoryExists); myModel.put(DbConstants.COBRAND, cobrand); myModel.put(DbConstants.BUSINESS_EXISTS, isBizExists(login)); return new ModelAndView(viewName, "model", myModel); } /** * 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; } }