/*
* Copyright 2005-2008 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.openuap.cms.resource.action;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.openuap.base.util.ControllerHelper;
import org.openuap.cms.core.action.AdminAction;
import org.openuap.cms.node.manager.NodeManager;
import org.openuap.cms.node.model.Node;
import org.openuap.cms.resource.manager.ResourceManager;
import org.springframework.web.servlet.ModelAndView;
/**
* <p>
* 资源选择控制器.
* </p>
*
* <p>
* $Id: ResourceSelectAction.java 4026 2011-03-22 14:58:42Z orangeforjava $
* </p>
*
* @author Joseph
* @version 1.0
*/
public class ResourceSelectAction extends AdminAction {
private String defaultScreensPath;
private String rsSelDialogViewName;
private String rsSelViewName;
private String rsSelFramesetViewName;
//
private NodeManager nodeManager;
private ResourceManager resourceManager;
/**
*
*/
public ResourceSelectAction() {
initDefaultViewName();
}
protected void initDefaultViewName() {
defaultScreensPath = "/plugin/cms/base/screens/resource/dialog/";
rsSelDialogViewName = defaultScreensPath + "resource_select_dialog.html";
rsSelViewName = defaultScreensPath + "resource_select.html";
rsSelFramesetViewName = defaultScreensPath + "resource_select_frameset.html";
}
/**
*
* @param request
*
* @param response
*
* @param helper
*
* @param model
*
* @return
*/
public ModelAndView doResourceFrameset(HttpServletRequest request,
HttpServletResponse response, ControllerHelper helper, Map model) {
ModelAndView mv = new ModelAndView(rsSelFramesetViewName, model);
String nodeId = request.getParameter("nodeId");
String category = request.getParameter("category");
// 自定义分类
String customCategory = request.getParameter("customCategory");
if (nodeId == null) {
nodeId = "0";
}
if (category == null) {
category = "img";
}
if (customCategory == null) {
customCategory = "";
}
model.put("nodeId", nodeId);
model.put("category", category);
model.put("customCategory", customCategory);
return mv;
}
/**
*
* @param request
*
* @param response
*
* @param helper
*
* @param model
*
* @return
*/
public ModelAndView doResourceDialog(HttpServletRequest request, HttpServletResponse response,
ControllerHelper helper, Map model) {
ModelAndView mv = new ModelAndView(rsSelDialogViewName, model);
String nodeId = request.getParameter("nodeId");
String page = request.getParameter("page");
String pagesize = request.getParameter("pageSize");
String category = request.getParameter("category");
String haveLinks = request.getParameter("haveLinks");
String customCategory = request.getParameter("customCategory");
if (nodeId == null) {
nodeId = "0";
}
if (page == null) {
page = "1";
}
if (pagesize == null) {
pagesize = "18";
}
if (category == null) {
category = "img";
}
if (haveLinks == null) {
haveLinks = "2";
}
Long nid = new Long(nodeId);
Long ipage = new Long(page);
Long pageSize = new Long(pagesize);
// List resources = null;
// int start=(ipage.intValue()-1)*ilength.intValue();
long totalCount = 0;
if (nodeId.equals("0")) {
if (customCategory != null && !customCategory.equals("")) {
totalCount = resourceManager.getResourceCountByCata(category, customCategory);
} else {
totalCount = resourceManager.getResourceCountByCata(category);
}
} else {
if (customCategory != null && !customCategory.equals("")) {
totalCount = resourceManager.getResourceCountByNodeCata(nid, category,
customCategory);
} else {
totalCount = resourceManager.getResourceCountByNodeCata(nid, category);
}
}
Node node = nodeManager.getNodeById(nid);
model.put("nodeManager", nodeManager);
model.put("node", node);
model.put("action", this);
model.put("page", ipage);
model.put("pageSize", pageSize);
model.put("category", category);
model.put("totalCount", new Long(totalCount));
model.put("haveLinks", haveLinks);
//
return mv;
}
/**
*
* @param request
*
* @param response
*
* @param helper
*
* @param model
*
* @return
*/
public ModelAndView doResourceList(HttpServletRequest request, HttpServletResponse response,
ControllerHelper helper, Map model) {
ModelAndView mv = new ModelAndView(rsSelViewName, model);
String nodeId = request.getParameter("nodeId");
String page = request.getParameter("page");
String pagesize = request.getParameter("pageSize");
String category = request.getParameter("category");
String haveLinks = request.getParameter("haveLinks");
//
String customCategory = request.getParameter("customCategory");
//
if (nodeId == null) {
nodeId = "0";
}
if (page == null) {
page = "1";
}
if (pagesize == null) {
pagesize = "18";
}
if (category == null) {
category = "img";
}
if (haveLinks == null) {
haveLinks = "2";
}
Long nid = new Long(nodeId);
Long ipage = new Long(page);
Long pageSize = new Long(pagesize);
List resources = null;
int start = (ipage.intValue() - 1) * pageSize.intValue();
long totalCount = 0;
if (nodeId.equals("0")) {
if (customCategory != null && !customCategory.equals("")) {
resources = resourceManager.getResourcesByCata(category, customCategory, new Long(
start), pageSize);
} else {
resources = resourceManager.getResourcesByCata(category, new Long(start), pageSize);
}
} else {
if (customCategory != null && !customCategory.equals("")) {
resources = resourceManager.getResourcesByNodeCata(nid, category, customCategory,
new Long(start), pageSize);
} else {
resources = resourceManager.getResourcesByNodeCata(nid, category, new Long(start),
pageSize);
}
}
Node node = nodeManager.getNodeById(nid);
model.put("resources", resources);
model.put("node", node);
model.put("action", this);
model.put("page", ipage);
model.put("category", category);
model.put("totalCount", new Long(totalCount));
model.put("haveLinks", haveLinks);
//
return mv;
}
public void setDefaultScreensPath(String defaultScreensPath) {
this.defaultScreensPath = defaultScreensPath;
}
public void setNodeManager(NodeManager nodeManager) {
this.nodeManager = nodeManager;
}
public void setRsSelDialogViewName(String rsSelDialogViewName) {
this.rsSelDialogViewName = rsSelDialogViewName;
}
public void setRsSelViewName(String rsSelViewName) {
this.rsSelViewName = rsSelViewName;
}
public void setResourceManager(ResourceManager resourceManager) {
this.resourceManager = resourceManager;
}
}