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

📄 auditloginterceptor.java

📁 webwork in action 源码
💻 JAVA
字号:
package org.hibernate.auction.persistence.audit;import net.sf.hibernate.*;import net.sf.hibernate.type.Type;import java.io.Serializable;import java.util.*;import org.hibernate.auction.model.*;import org.apache.commons.logging.*;public class AuditLogInterceptor implements Interceptor {	private static Log log = LogFactory.getLog(AuditLogInterceptor.class);	private Session session;	private Long userId;	private Set inserts = new HashSet();	private Set updates = new HashSet();	public void setSession(Session session) {		this.session=session;	}	public void setUserId(Long userId) {		this.userId=userId;	}	public boolean onSave(Object entity,						 Serializable id,						 Object[] state,						 String[] propertyNames,						 Type[] types)			throws CallbackException {		if (entity instanceof Auditable)			inserts.add(entity);		return false;	}	public boolean onFlushDirty(Object entity,								Serializable id,								Object[] currentState,								Object[] previousState,								String[] propertyNames,								Type[] types)			throws CallbackException {		if (entity instanceof Auditable)			updates.add(entity);		return false;	}	public boolean onLoad(Object o, Serializable serializable, Object[] objects, String[] strings, Type[] types) throws CallbackException {		return false;	}	public void onDelete(Object o, Serializable serializable, Object[] objects, String[] strings, Type[] types) throws CallbackException {	}	public void preFlush(Iterator iterator) throws CallbackException {	}	public void postFlush(Iterator iterator) throws CallbackException {		try {			for (Iterator it = inserts.iterator(); it.hasNext();) {				Auditable entity = (Auditable) it.next();				log.debug("Intercepted creation of : " + entity);				AuditLog.logEvent("create",								  entity,								  userId,								  session.connection());			}			for (Iterator it = updates.iterator(); it.hasNext();) {				Auditable entity = (Auditable) it.next();				log.debug("Intercepted modification of : " + entity);				AuditLog.logEvent("update",								  entity,								  userId,								  session.connection());			}		} catch (HibernateException ex) {			throw new CallbackException(ex);		} finally {			inserts.clear();			updates.clear();		}	}	public Boolean isUnsaved(Object o) {		return null;	}	public int[] findDirty(Object o, Serializable serializable, Object[] objects, Object[] objects1, String[] strings, Type[] types) {		return null;	}	public Object instantiate(Class aClass, Serializable serializable) throws CallbackException {		return null;	}}

⌨️ 快捷键说明

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