⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmsbuildaction.java

📁 MM7彩信对接网关示例
💻 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 + -