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

📄 baseprocessbean.java

📁 OBPM是一个开源
💻 JAVA
字号:
package cn.myapps.base.ejb;

import java.util.Collection;
import java.util.Iterator;

import org.apache.commons.beanutils.PropertyUtils;

import cn.myapps.base.action.ParamsTable;
import cn.myapps.base.dao.DataPackage;
import cn.myapps.base.dao.IBaseDAO;
import cn.myapps.base.dao.PersistenceUtils;
import cn.myapps.base.dao.ValueObject;
import cn.myapps.core.user.action.WebUser;
import cn.myapps.util.sequence.Sequence;

public abstract class BaseProcessBean implements BaseProcess {

	/**
	 * 
	 * @see cn.myapps.base.ejb.BaseProcess#doCreate(cn.myapps.base.dao.ValueObject)
	 *      Create a value object
	 * @param vo
	 *            The value object.
	 * @throws Exception
	 */
	public void doCreate(ValueObject vo) throws Exception {
		try {
			PersistenceUtils.beginTransaction();
			vo.setId(Sequence.getSequence());
			vo.setSortId(Sequence.getTimeSequence());
			getDAO().create(vo);
			PersistenceUtils.commitTransaction();
		} catch (Exception e) {
			e.printStackTrace();
			PersistenceUtils.rollbackTransaction();
		}
	}

	/**
	 * 
	 * @see cn.myapps.base.ejb.BaseProcess#doCreate(cn.myapps.base.dao.ValueObject[])
	 *      Create value object
	 * @param vos
	 *            The value object.
	 * @throws Exception
	 */
	public void doCreate(ValueObject[] vos) throws Exception {
		try {
			PersistenceUtils.beginTransaction();
			if (vos != null)
				for (int i = 0; i < vos.length; i++) {
					ValueObject vo = vos[i];
					vo.setId(Sequence.getSequence());
					vo.setSortId(Sequence.getTimeSequence());
					getDAO().create(vo);
				}
			PersistenceUtils.commitTransaction();
		} catch (Exception e) {
			e.printStackTrace();
			PersistenceUtils.rollbackTransaction();
		}
	}

	public void doCreate(Collection vos) throws Exception {
		try {
			PersistenceUtils.beginTransaction();
			int i = 0;
			if (vos != null)
				for (Iterator iter = vos.iterator(); iter.hasNext();) {
					ValueObject vo = (ValueObject) iter.next();
					vo.setId(Sequence.getSequence());
					vo.setSortId(Sequence.getTimeSequence());
					getDAO().create(vo);
					System.out.println("count->" + (i++));
				}
			PersistenceUtils.commitTransaction();
		} catch (Exception e) {
			e.printStackTrace();
			PersistenceUtils.rollbackTransaction();
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.myapps.base.ejb.BaseProcess#doCreate(cn.myapps.base.dao.ValueObject,
	 *      cn.myapps.core.user.action.WebUser)
	 */
	public void doCreate(ValueObject vo, WebUser user) throws Exception {
		try {
			PersistenceUtils.beginTransaction();
			vo.setId(Sequence.getSequence());
			vo.setSortId(Sequence.getTimeSequence());
			getDAO().create(vo);
			PersistenceUtils.commitTransaction();
		} catch (Exception e) {
			PersistenceUtils.rollbackTransaction();
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.myapps.base.ejb.BaseProcess#doRemove(java.lang.String)
	 */
	public void doRemove(String pk) throws Exception {
		try {
			PersistenceUtils.beginTransaction();
			getDAO().remove(pk);
			PersistenceUtils.commitTransaction();
		} catch (Exception e) {
			PersistenceUtils.rollbackTransaction();
			throw e;
		}
	}

	public void doRemove(String[] pks) throws Exception {
		try {
			PersistenceUtils.beginTransaction();
			if (pks != null) {
				for (int i = 0; i < pks.length; i++) {
					getDAO().remove(pks[i]);
				}
			}
			PersistenceUtils.commitTransaction();
		} catch (Exception e) {
			PersistenceUtils.rollbackTransaction();
			throw e;
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.myapps.base.ejb.BaseProcess#doUpdate(cn.myapps.base.dao.ValueObject)
	 */
	public void doUpdate(ValueObject vo) throws Exception {
		try {
			PersistenceUtils.beginTransaction();

			ValueObject po = getDAO().find(vo.getId());
			if (po != null) {
				PropertyUtils.copyProperties(po, vo);
				getDAO().update(po);
			} else {
				getDAO().update(vo);
			}

			PersistenceUtils.commitTransaction();
		} catch (Exception e) {
			e.printStackTrace();
			PersistenceUtils.rollbackTransaction();
		}
	}

	public void doUpdate(ValueObject[] vos) throws Exception {
		try {
			PersistenceUtils.beginTransaction();

			if (vos != null)
				for (int i = 0; i < vos.length; i++) {
					ValueObject vo = vos[i];
					ValueObject po = getDAO().find(vo.getId());
					if (po != null) {
						PropertyUtils.copyProperties(po, vo);
						getDAO().update(po);
					} else {
						getDAO().update(vo);
					}
				}

			PersistenceUtils.commitTransaction();
		} catch (Exception e) {
			e.printStackTrace();
			PersistenceUtils.rollbackTransaction();
		}
	}

	public void doUpdate(Collection vos) throws Exception {
		try {
			PersistenceUtils.beginTransaction();

			if (vos != null)
				for (Iterator iter = vos.iterator(); iter.hasNext();) {
					ValueObject vo = (ValueObject) iter.next();
					ValueObject po = getDAO().find(vo.getId());
					if (po != null) {
						PropertyUtils.copyProperties(po, vo);
						getDAO().update(po);
					} else {
						getDAO().update(vo);
					}
				}

			PersistenceUtils.commitTransaction();
		} catch (Exception e) {
			e.printStackTrace();
			PersistenceUtils.rollbackTransaction();
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.myapps.base.ejb.BaseProcess#doUpdate(cn.myapps.base.dao.ValueObject,
	 *      cn.myapps.core.user.action.WebUser)
	 */
	public void doUpdate(ValueObject vo, WebUser user) throws Exception {
		try {
			PersistenceUtils.beginTransaction();

			ValueObject po = getDAO().find(vo.getId());
			PropertyUtils.copyProperties(po, vo);

			getDAO().update(vo);
			PersistenceUtils.commitTransaction();
		} catch (Exception e) {
			PersistenceUtils.rollbackTransaction();
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.myapps.base.ejb.BaseProcess#doView(java.lang.String)
	 */
	public ValueObject doView(String pk) throws Exception {
		return getDAO().find(pk);
	}

	/**
	 * query the datapackage
	 * 
	 * @param params
	 *            ParamsTable
	 * @param user
	 *            WebUser
	 * @return datapackage
	 */
	public DataPackage doQuery(ParamsTable params, WebUser user)
			throws Exception {
		return getDAO().query(params, user);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.myapps.base.ejb.BaseProcess#doSimpleQuery(cn.myapps.base.action.ParamsTable)
	 */
	public Collection doSimpleQuery(ParamsTable params) throws Exception {
		return getDAO().simpleQuery(params);
	}

	public Collection doSimpleQuery(ParamsTable params, String application) throws Exception {
		if (application !=null) {
			if (params == null)
				params = new ParamsTable();
			params.setParameter("application",application);
		}
		
		return getDAO().simpleQuery(params);
	}
	/**
	 * Get the relate Dao
	 * 
	 * @return The relate Dao.
	 * @throws Exception
	 */
	protected abstract IBaseDAO getDAO() throws Exception;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -