📄 mmsbuildaction.java
字号:
/*
* Created on 2005-7-4
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.rainbow.mms.manage;
import java.util.Date;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import java.util.TreeMap;
import org.apache.log4j.Logger;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.ActionSupport;
import com.rainbow.mms.common.MimeContent;
import com.rainbow.mms.common.MmsContent;
import com.rainbow.mms.common.SimpleSmilControl;
import com.rainbow.util.tools.HibernateUtil;
/**
* 根据彩信内容的每个页来组装成完整的彩信内容体,
* 输入参数:
* mmsPageList 页联表,每个元素是MmsPageBuildAction类型,Session保存的对象;
* subject 彩信主题,Session保存的对象;
* memo 描述,Session保存的对象;
* 输出参数:
* mmsResult 组装后的彩信内容体;
* mmsPageList、subject、memo将被置为null
*
* @author Rainbow MMS Group Leader -- TrWorks
*/
public class MmsBuildAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private Logger log = Logger.getLogger(MmsBuildAction.class);
public String execute() throws Exception {
MmsPageBuildAction pageAction = new MmsPageBuildAction();
if (ERROR == pageAction.execute()) {
return ERROR;
}
List mmsPageList = (List) ActionContext.getContext().getSession().get(
"mmsPageList");
if (mmsPageList == null) {
log.error("MmsBuildAction execute Param -- mmsPageList is null.");
return ERROR;
}
String mmsSubject = (String) ActionContext.getContext().getSession()
.get("subject");
String mmsMemo = (String) ActionContext.getContext().getSession().get(
"memo");
SimpleSmilControl smil = new SimpleSmilControl();
List listMimeElement = new LinkedList();
String bResult = ERROR;
try {
Session sess = HibernateUtil.currentSession();
Transaction tx = sess.beginTransaction();
for (int i = 0; i < mmsPageList.size(); i++) {
MmsPageBuildAction action = (MmsPageBuildAction) mmsPageList
.get(i);
TreeMap elementMap = action.getPageMap();
int slidNo = smil.addSlid(action.getTimeInterval());
Set set = elementMap.keySet();
Iterator it = set.iterator();
while (it.hasNext()) {
MimeContent content = (MimeContent) elementMap.get(it
.next());
System.out.println(content.toString());
//smil.addRef(slidNo, content.getMimeContentName());
smil.addMimeContent(content.getMimeType(), slidNo, content.getMimeContentName());
listMimeElement.add(content);
sess.save(content);
}
}
MimeContent smilContent = new MimeContent();
smilContent.setCharacterContent(smil.toString());
smilContent.setBinaryContent(null);
smilContent.setCreateTime(new Date());
long time = System.currentTimeMillis();
smilContent.setMimeContentName(String.valueOf(time) + ".smil");
smilContent.setMimeType("application/smil");
listMimeElement.add(0, smilContent);
sess.save(smilContent);
MmsContent mms = new MmsContent();
mms.setCreateFrom(0);
mms.setCreateTime(new Date());
mms.setMmsContentElments(listMimeElement);
mms.setSubject(mmsSubject);
mms.setCreaterMemo(mmsMemo);
sess.save(mms);
tx.commit();
ActionContext.getContext().getSession().put("mmsPageList", null);
ActionContext.getContext().getSession().put("mmsResult", mms);
ActionContext.getContext().getSession().put("subject", null);
ActionContext.getContext().getSession().put("memo", null);
bResult = SUCCESS;
} catch (Exception e) {
e.printStackTrace();
bResult = ERROR;
} finally {
HibernateUtil.closeSession();
}
return bResult;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -