package com.cmbstc.component.mgr.model.action;
import static com.cmbstc.component.mgr.dimensionality.entity.ModelConstant.OPERATING_CREATE;
import static com.cmbstc.component.mgr.dimensionality.entity.ModelConstant.RESULT_INIT;
import static com.cmbstc.component.mgr.dimensionality.entity.ModelConstant.RESULT_MODEL_MANAGE;
import static com.cmbstc.component.mgr.dimensionality.entity.ModelConstant.RESULT_MODEL_SCAN;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Scope;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Component;
import com.cmbstc.component.mgr.dimensionality.action.ModelMgrHelper;
import com.cmbstc.component.mgr.dimensionality.action.ModelView;
import com.cmbstc.component.mgr.dimensionality.entity.CommLogsBean;
import com.cmbstc.component.mgr.dimensionality.entity.LogsActionKeys;
import com.cmbstc.component.mgr.dimensionality.entity.ModelBean;
import com.cmbstc.component.mgr.dimensionality.service.ICommLogsService;
import com.cmbstc.component.mgr.model.entity.ModelForm;
import com.cmbstc.component.mgr.model.entity.QueryModelCondition;
import com.cmbstc.component.mgr.model.service.IModelMgrService;
import com.cmbstc.core.web.BaseAction;
import com.lowagie.text.pdf.codec.Base64.InputStream;
import com.opensymphony.xwork2.ModelDriven;
/**
* 模型管理Action,处理添加、修改、删除、查询等操作
*
* @ClassName: ModelMgrAction
* @author TYY
* @date 2013-11-16 上午10:52:01
*/
@Component("modelMgrAction")
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
public class ModelMgrAction extends BaseAction implements
ModelDriven<ModelForm> {
/**
*
*/
private static final long serialVersionUID = -8742205840937241333L;
/**
* 日志工具类
*/
private Logger logger = Logger.getLogger(this.getClass());
/**
* 模型管理service接口
*/
private IModelMgrService modelMgrService;
//专题管理service
// private IModelSpecialTopicService modelSpecialTopicService;
/**
* 模型操作service接口
*/
// private IModelOperateService modelOperateService;
/**
* 应用分类service
*/
// private AppTypeMgrService appService;
/**
* 系统日志service接口
*/
private ICommLogsService commLogsService;
/**
* 模型评分service
*/
// private ModelScoreService modelScoreService;
// /**
// * 模型维度service
// */
// @Autowired
// private IModelDimensionalityService modelDimensionalityService;
// private IUserService userService;
/**
* 页面参数封装
*/
private ModelForm form = new ModelForm();
/**
* 模型管理辅助类
*/
private ModelMgrHelper helper = ModelMgrHelper.getInstance();
/**
* 页面展示对象实体,模型浏览时使用
*/
private ModelView view;
/**
* 模型下载流对象
*/
private InputStream inputStream;
/**
* 跳转到模型添加页面时根据此属性判断当前是添加或者是修改, 如果不是添加则需要对页面做条件回填操作
*/
private boolean add = Boolean.TRUE;
/**
* 模型列表
*/
private List<ModelView> viewList;
/**
* 模型维度信息列表
*/
// private List<ModelDimensionalityBean> dimensionalityList;
/**
* 积分接口
*/
// private ScoreDetailService scoreDetailService;
/**
* 缓存维度信息
*/
// public Map<String, List<ModelDimensionalityBean>> map = new
// HashMap<String, List<ModelDimensionalityBean>>();
// 模型留言的留言每页显示的记录条数
/**
* 设置模型时从该方法跳转到模型添加页面,页面上根据 add属性的值判断当前是添加或者修改
*
* @return 跳转到模型设置页面
*/
public String modelSet() {
try {
if (StringUtils.isNotBlank(form.getModelId())) {
// 页面传递了id参数时从后台获取相应的模型信息返回
ModelBean model = modelMgrService.getModel(form.getModelId());
helper.buildForm(model, form);
this.add = Boolean.FALSE;
}
} catch (DataAccessException e) {
this.getOperateResult().setSuccess(Boolean.FALSE);
this.getOperateResult().setMessage("系统内部错误,获取数据失败。");
logger.info("modelSet():" + e);
}
return "modelSet";
}
@Override
public ModelForm getModel() {
return form;
}
/**
* 添加或修改模型
*
* @return 跳转到模型管理页面
*/
public String modelManage() {
logger.info("modelManage...");
CommLogsBean logBean;
try {
ModelBean model = helper.buildModel(form);
model.setUser(getUser());
if (StringUtils.isBlank(model.getId())) {
model.setOperatingType(OPERATING_CREATE);
model.setId(helper.generateId());
logBean = helper.buildCommLogsBean(this.getSession(),
LogsActionKeys.CREATE, "添加模型:" + form.getModelName());
// 添加模型
helper.buildAttachment(model, form);
helper.buildLabeles(model, form);
// 构建模型分类标签2013/05/17
helper.buildModelCategoryLabel(model, form);
modelMgrService.addModel(model);
} else {
logBean = helper.buildCommLogsBean(this.getSession(),
LogsActionKeys.UPDATE, "修改模型:" + form.getModelName());
helper.buildAttachment(model, form);
helper.buildLabeles(model, form);
// 构建模型分类标签2013/05/17
helper.buildModelCategoryLabel(model, form);
// 修改模型
modelMgrService.modifyModel(model);
}
commLogsService.saveLogsInfo(logBean);
this.getOperateResult().setMessage("保存成功。");
} catch (DataAccessException e) {
this.getOperateResult().setSuccess(Boolean.FALSE);
this.getOperateResult().setMessage("系统内部错误,保存失败。");
logger.info("modelManage():" + e);
}
form = new ModelForm();
form.setOperate(RESULT_INIT);
return init();
}
/**
* 进入模型管理页面或查询模型时从该方法跳转
*
* @return 跳转到模型管理页面
*/
public String init() {
form.setOperate(RESULT_INIT);
return RESULT_INIT;
}
/**
* 删除模型
*
* @return 跳转到模型管理页面
*/
public String deleteModel() {
logger.info("deleteModel():" + form.getModelId());
try {
if (StringUtils.isNotBlank(form.getModelId())) {
String[] arr = form.getModelId().split(",");
String logPrefix = "删除模型:";
if ("batch".equals(form.getDeleteType())) {
// 长度大于1时为批量删除
logPrefix = "批量删除模型:";
}
for (String id : arr) {
ModelBean tempModel = modelMgrService.getModel(id);
CommLogsBean logBean = helper.buildCommLogsBean(
this.getSession(), LogsActionKeys.DELETE, logPrefix
+ tempModel.getName());
commLogsService.saveLogsInfo(logBean);
}
modelMgrService.deleteModel(form.getModelId());
helper.deleteAttachmentFile(form.getModelId());
}
this.getOperateResult().setMessage("删除成功。");
} catch (DataAccessException e) {
this.getOperateResult().setSuccess(Boolean.FALSE);
this.getOperateResult().setMessage("系统内部错误,删除失败。");
logger.info("deleteModel():" + e);
} catch (IOException e) {
logger.info("delete attachment file failed:" + e);
}
return search();
}
/**
* 模型查询
*
* @return 跳转到模型浏览或模型管理页面
* @title search
* String
*/
public String search() {
QueryModelCondition queryCondition = new QueryModelCondition();
helper.buildQueryCondition(queryCondition, form);
setSpecialIdsParams(queryCondition);
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Spring+Struts2+MyBatis完整框架 (1171个子文件)
all-wcprops 14KB
all-wcprops 3KB
all-wcprops 3KB
all-wcprops 2KB
all-wcprops 2KB
all-wcprops 1KB
all-wcprops 1KB
all-wcprops 1KB
all-wcprops 1KB
all-wcprops 1KB
all-wcprops 1KB
all-wcprops 1KB
all-wcprops 1KB
all-wcprops 1011B
all-wcprops 1005B
all-wcprops 972B
all-wcprops 824B
all-wcprops 820B
all-wcprops 779B
all-wcprops 753B
all-wcprops 742B
all-wcprops 733B
all-wcprops 713B
all-wcprops 637B
all-wcprops 629B
all-wcprops 546B
all-wcprops 546B
all-wcprops 536B
all-wcprops 524B
all-wcprops 508B
all-wcprops 506B
all-wcprops 496B
all-wcprops 481B
all-wcprops 477B
all-wcprops 472B
all-wcprops 463B
all-wcprops 462B
all-wcprops 453B
all-wcprops 450B
all-wcprops 448B
all-wcprops 444B
all-wcprops 442B
all-wcprops 420B
all-wcprops 419B
all-wcprops 412B
all-wcprops 368B
all-wcprops 364B
all-wcprops 353B
all-wcprops 352B
all-wcprops 343B
all-wcprops 335B
all-wcprops 325B
all-wcprops 309B
all-wcprops 309B
all-wcprops 305B
all-wcprops 305B
all-wcprops 303B
all-wcprops 303B
all-wcprops 295B
all-wcprops 293B
all-wcprops 291B
all-wcprops 289B
all-wcprops 288B
all-wcprops 287B
all-wcprops 287B
all-wcprops 285B
all-wcprops 285B
all-wcprops 285B
all-wcprops 283B
all-wcprops 280B
all-wcprops 276B
all-wcprops 272B
all-wcprops 270B
all-wcprops 264B
all-wcprops 252B
all-wcprops 252B
all-wcprops 248B
all-wcprops 246B
all-wcprops 244B
all-wcprops 230B
all-wcprops 226B
all-wcprops 194B
all-wcprops 129B
all-wcprops 128B
all-wcprops 126B
all-wcprops 124B
all-wcprops 122B
all-wcprops 121B
all-wcprops 118B
all-wcprops 117B
all-wcprops 117B
all-wcprops 116B
all-wcprops 115B
all-wcprops 114B
all-wcprops 113B
all-wcprops 113B
all-wcprops 112B
all-wcprops 111B
all-wcprops 111B
all-wcprops 109B
共 1171 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
资源评论
- hkwzhh2014-08-05注释不多,感觉还可以吧···功能不太完善,比如session的管理,没有统一规划好,可能会造成一些内存的泄露,可以用来学习,但是还不太适合直接用在大项目上
陶喜儿
- 粉丝: 5
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功