docmanmultiactioncontroller.java

来自「Java的框架」· Java 代码 · 共 100 行

JAVA
100
字号
package mcaps.core.docman.webapp.controller;

import java.util.ArrayList;
import java.util.List;

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

import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContextException;
import org.springframework.web.servlet.ModelAndView;

import mcaps.core.docman.util.NameConstants;
import mcap.core.base.webapp.controller.BaseMultiActionController;
import mcap.core.docman.model.FolderObject;
import mcap.core.docman.service.DocAccessException;
import mcap.core.docman.service.DocManManager;

/**
 * This class handle multiple request pertaining to
 * document management.
 *
 * @author Chan Chin Wei
 * @date Apr 7, 2006
 * @version 1.0.1.0
 */
public class DocManMultiActionController extends BaseMultiActionController implements InitializingBean {
	
	private static final String FOLDERS_VIEW = "core/docMan/docList";
	
	private DocManManager docManager;

	public DocManManager getDocManager() {
		return docManager;
	}

	public void setDocManager(DocManManager docManager) {
		this.docManager = docManager;
	}

//	===========================================================================================================
//	 INITIALIZING BEAN IMPLEMENTATION
//	===========================================================================================================


	/* (non-Javadoc)
	 * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
	 * Invoked by a BeanFactory after it has set all bean properties supplied. This allows 
	 * the bean instance to perform initialization only possible when all bean properties 
	 * have been set and to throw an exception in the event of misconfiguration. 
	 */
	public void afterPropertiesSet() throws Exception {
		if (docManager == null)
			throw new ApplicationContextException ("Must set docManager bean property on " + getClass());
		
	}

//	===========================================================================================================
//	 HANDLERS
//	===========================================================================================================

	/**
	 * Custom handler for documents display
	 * 
	 * @param request current HTTP request
	 * @param response current HTTP response
	 * @return a ModelAndView to render the response
	 */
	public ModelAndView foldersHandler(HttpServletRequest request,
			HttpServletResponse response) throws ServletException {
		String path = request.getParameter ("path");
		FolderObject folder = null;
		try {
			folder = docManager.getFolder(path, false);
		} catch (DocAccessException e) {
			e.printStackTrace();
			throw new ServletException (e.getMessage());
		}
		ModelAndView mv = new ModelAndView(FOLDERS_VIEW, NameConstants.FOLDER, folder);
		List flist = folder.getFolderList();
		List fllist = folder.getFileList();
		List retlist = null;
		if (flist != null) {
			retlist = new ArrayList ();
			retlist.addAll(flist);
			if (fllist != null)
				retlist.addAll(fllist);
		}
		else if (fllist != null) {
			retlist = new ArrayList ();
			retlist.addAll(fllist);
		}
		mv.addObject(NameConstants.FOLDERFILE_LIST, retlist);
		return mv;
	}
	

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?