/* * Copyright 1999-2004 Alibaba.com All right reserved. This software is the confidential and proprietary information of * Alibaba.com ("Confidential Information"). You shall not disclose such Confidential Information and shall use it only * in accordance with the terms of the license agreement you entered into with Alibaba.com. */ package com.alibaba.china.gears.web.dubai.module.action; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.alibaba.china.fasttext.json.JSONObject; import com.alibaba.china.gears.biz.dubai.dal.daointerface.ResourceDAO; import com.alibaba.china.gears.biz.dubai.dal.dataobject.Resource; import com.alibaba.common.lang.StringEscapeUtil; import com.alibaba.webx.ActionResult; import com.alibaba.webx.action.FormGroup; import com.alibaba.webx.action.Parameter; /** * 类MenuresourceAction.java的实现描述:TODO 类实现描述 * * @author hang.yangh 2010-8-6 下午03:18:28 */ public class MenuresourceAction { public static Log log = LogFactory.getLog(MenuresourceAction.class); private ResourceDAO resourceDAO; // 获取静态位列表信息 public ActionResult query() { ActionResult result = ActionResult.create(this); List<Resource> resourceList = resourceDAO.getResourceList(); result.putInContext("resourceList", resourceList); return result; } // 请求单个静态位信息 public ActionResult queryResource(@Parameter(name = "id") String id) { ActionResult result = ActionResult.create(this); Resource resource = resourceDAO.getResource(id); JSONObject json = new JSONObject(); if (resource != null) { json.put("sucess", true); json.put("id", resource.getId()); json.put("name", resource.getName()); json.put("title", resource.getTitle()); json.put("type", resource.getType()); json.put("value", StringEscapeUtil.escapeJava(StringEscapeUtil.escapeHtml(resource.getValue()))); } else { json.put("sucess", false); } result.setPlainText(json.toString()); return result; } public ActionResult operation(@FormGroup(name = "resources") Resource resource, @Parameter(name = "operation") String operation, @Parameter(name = "resourceid") String resourceId) { ActionResult result = ActionResult.create(this); if (resourceId.length() > 0) resource.setId(Long.valueOf(resourceId)); String info = "出现错误"; if (resource != null) { try { info = (String) this.getClass().getMethod(operation, Resource.class).invoke(this, resource); } catch (Exception e) { if (log.isWarnEnabled()) log.warn(e); } } result.putInContext("info", info); result.putInContext("resourceid", resource.getId()); return result; } public String add(Resource resource) { if (this.existsResourceName(resource)) return "不能添加同名静态位"; if (resourceDAO.insert(resource) == 0) { return "添加成功"; } return "添加失败"; } public String delete(Resource resource) { if (resource.getId() == null) return "请选择一个静态位删除"; if (resourceDAO.deleteResource(String.valueOf(resource.getId())) == 0) { resource.setId(null); return "删除成功"; } return "删除失败"; } public String update(Resource resource) { if (resource.getId() == null) return "请选择一个静态位更新"; if (resourceDAO.update(resource) == 0) { return "更新成功"; } return "更新失败"; } private boolean existsResourceName(Resource resource) { List<Resource> resources = resourceDAO.getResourceList(); for (Resource rs : resources) { if (rs.getName().equals(resource.getName())) { return true; } } return false; } public void setResourceDAO(ResourceDAO resourceDAO) { this.resourceDAO = resourceDAO; } }