📄 moduleitemmanagebean.java
字号:
/*$Id: ModuleItemManageBean.java,v 1.3 2008/11/24 02:34:31 libin Exp $ *-------------------------------------- * Apusic (Kingdee Middleware) *--------------------------------------- * Copyright By Apusic ,All right Reserved * author date comment * chenhongxin 2008-4-14 Created*/package org.operamasks.example.ejb.hr.litebean.module;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.UUID;import org.operamasks.example.ejb.hr.entity.Module;import org.operamasks.example.ejb.hr.entity.ModuleItem;import org.operamasks.example.ejb.hr.service.ServiceBean;import org.operamasks.example.ejb.hr.util.LoggerUtil;import org.operamasks.example.ejb.hr.util.TagPanelUtil;import org.operamasks.example.ejb.hr.util.Util;import org.operamasks.faces.annotation.Action;import org.operamasks.faces.annotation.BeforeRender;import org.operamasks.faces.annotation.Bind;import org.operamasks.faces.annotation.DataModel;import org.operamasks.faces.annotation.ManagedBean;import org.operamasks.faces.annotation.ManagedBeanScope;import org.operamasks.faces.annotation.ManagedProperty;import org.operamasks.faces.annotation.Required;import org.operamasks.faces.component.grid.impl.UIDataGrid;import org.operamasks.faces.component.layout.impl.UIWindow;/** * 模块项管理页面的托管Bean * @author chenhongxin */@ManagedBean(name="module.moduleItemManageBean", scope=ManagedBeanScope.SESSION)public class ModuleItemManageBean extends BaseBean { /** * 操作记录标识 */ private Operation curItemOperation = Operation.NOTHING; /** * 注入主模块管理页面托管Bean */ @ManagedProperty("#{module.moduleManageBean}") private ModuleManageBean moduleManageBean; /** * 注入服务提供Bean,该Bean提供各种的业务操作对象 */ @ManagedProperty("#{serviceBean}") private ServiceBean service; /** * 绑定页面的DataGrid组件 */ @Bind(id="itemDataGrid", attribute="binding") private UIDataGrid itemDataGrid; /** * 绑定页面的Window组件 */ @Bind(id="detailItemDialog", attribute="binding") private UIWindow detailItemDialog; /** * 绑定明细编辑框里的模块项名称输入域,并指定Required验证失败的提示信息 */ @Bind(id="itemName", attribute="value") @Required(message = "#{this.getMessages().get('required')}") private String itemName; /** * 绑定明细编辑框里的图标地址输入域,并指定Required验证失败的提示信息 */ @Bind(id="itemIcon", attribute="value") @Required(message = "#{this.getMessages().get('required')}") private String itemIcon; /** * 绑定明细编辑框里的模块项操作页面Url输入域,并指定Required验证失败的提示信息 */ @Bind(id="itemUrl", attribute="value") @Required(message = "#{this.getMessages().get('required')}") private String itemUrl; /** * DataGrid绑定数据的获取 * @return 绑定数据的List集合 */ @DataModel(id="itemDataGrid") private List<ModuleItem> getItemDataGridValues(){ Module selectedModule = moduleManageBean.getSelectedModule(); //获取主模块管理页面中双击选中的主模块 if(selectedModule != null) { return selectedModule.getModuleItems(); } return Collections.emptyList(); } /** * 绑定添加按钮的点击击事件 */ @Action(id="add") public void add() { curItemOperation = Operation.ADD; detailItemDialog.show(); } /** * 绑定修改按钮的点击事件 */ @Action(id="modify") public void modify() { ModuleItem item = (ModuleItem)itemDataGrid.getSelectedRowData(); if (item != null) { itemName = item.getName(); itemIcon = item.getIcon(); itemUrl = item.getUrl(); curItemOperation = Operation.MODIFY; detailItemDialog.show(); } } /** * 绑定删除按钮的点击事件 */ @Action(id="del") public void del() { ModuleItem item = (ModuleItem)itemDataGrid.getSelectedRowData(); Module selectedModule = moduleManageBean.getSelectedModule(); if (item != null && selectedModule != null) { selectedModule.getModuleItems().remove(item); service.getModuleService().modifyModule(selectedModule); service.getModuleItemService().removeModuleItem(item); itemDataGrid.reload(); } } /** * 绑定确定按钮的点击事件 */ @Action(id="ok") public void ok(){ Module selectedModule = moduleManageBean.getSelectedModule(); if (curItemOperation == Operation.ADD) { ModuleItem item = new ModuleItem(); item.setId(UUID.randomUUID().toString()); item.setName(itemName); item.setIcon(itemIcon); item.setUrl(itemUrl); item.setModule(selectedModule); selectedModule.getModuleItems().add(item); service.getModuleService().modifyModule(selectedModule); itemDataGrid.reload(); } else if (curItemOperation == Operation.MODIFY) { ModuleItem item = (ModuleItem)itemDataGrid.getSelectedRowData(); if(item != null) { item.setName(itemName); item.setIcon(itemIcon); item.setUrl(itemUrl); item.setModule(selectedModule); service.getModuleService().modifyModule(selectedModule); itemDataGrid.reload(); } } try {//创建模块项图标的Css文件 TagPanelUtil.createTagPanelIconCss(getIconsPath(service.getModuleItemService().listModuleItem()), getOutPut()); } catch (Exception e) { LoggerUtil.error("创建TagPanel标签图标的Css文件失败...", e); //do nothing; } cancel(); } /** * 绑定取消按钮的点击事件,使用immediate=true跳过数据验证 */ @Action(id="cancel", immediate = true) public void cancel(){ itemName = ""; itemIcon = ""; itemUrl = ""; curItemOperation = Operation.NOTHING; detailItemDialog.close(); } @BeforeRender protected void beforeRender(boolean isPostBack) { initBaseResource();// itemDataGrid.reload(); } /** * 获取所有模块项的图标地址集合 * @param items 模块项集合 * @return 所有模块项的图标地址集合 */ private List<String> getIconsPath(List<ModuleItem> items) { if(items == null) { return Collections.emptyList(); } else { List<String> list = new ArrayList<String>(); for (ModuleItem item : items) { list.add(item.getIcon()); } return list; } } /** * 获取图标Css文件输出物理路径 * @return 图标Css文件输出物理路径 */ private String getOutPut() { return Util.getRealPath("/resources/css/tabPanelIcon.css"); } /** * 获取图片文件的URL地址 * @param icon 图片的相对地址 * @return 图片文件的URL地址 */ public String getIconUrl(String icon) { return Util.getBasePath() + icon; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -