Auditing code 举例

package com.testAuditing;

import java.util.Iterator;

import org.apache.log4j.Logger;

import com.filenet.api.collection.EventSet;
import com.filenet.api.collection.VersionableSet;
import com.filenet.api.core.Connection;
import com.filenet.api.core.Document;
import com.filenet.api.core.Factory;
import com.filenet.api.core.ObjectStore;
import com.filenet.api.core.Versionable;
import com.filenet.api.events.Event;
import com.filenet.api.util.Id;
import com.util.CEHelper;

import junit.framework.TestCase;

public class AuditingTest extends TestCase {
	
	Logger logger = Logger.getLogger(AuditingTest.class.toString());

	/**
	 * auditing一个文档的getContent、checkout、checkin等事件,
	 * 一旦一个文档当前版本(A1)发生checkin到另一个主版本(A2)后,则checkin被auditing到A2版本上。
	 */
	public void testRetrive(){
		
		Connection conn = CEHelper.getConnection();
		CEHelper.pushSubject(conn, "administrator", "filenet");
		ObjectStore os = CEHelper.getObjectStore(conn);
		
		Document doc = Factory.Document.fetchInstance(os, new Id("{413083CB-9D09-4666-A348-9D4B3AC135D1}"), null);
		
		EventSet events = doc.get_AuditedEvents();
		Iterator<Event> iter = events.iterator();
		Event e = null;
		while(iter.hasNext()){
			e = (Event)iter.next();
			logger.info("e.get_Creator() = " + e.get_Creator());
			logger.info("e.get_EventStatus() = " + e.get_EventStatus());
			logger.info("e.get_ClassDescription().get_DisplayName() = " + e.get_ClassDescription().get_DisplayName());
			logger.info("e.get_DateCreated() = " + e.get_DateCreated());
			logger.info("e.get_Name() = " + e.get_Name());
		}
		
		Document doc1 = Factory.Document.fetchInstance(os, new Id("{157BE333-70AB-4B85-8F0E-9AC587E26FF2}"), null);
		EventSet events1 = doc1.get_AuditedEvents();
		Iterator<Event> iter1 = events1.iterator();
		Event e1 = null;
		while(iter1.hasNext()){
			e1 = (Event)iter1.next();
			logger.info("e1.get_Creator() = " + e1.get_Creator());
			logger.info("e1.get_EventStatus() = " + e1.get_EventStatus());
			logger.info("e1.get_ClassDescription().get_DisplayName() = " + e1.get_ClassDescription().get_DisplayName());
			logger.info("e1.get_DateCreated() = " + e1.get_DateCreated());
			logger.info("e1.get_Name() = " + e1.get_Name());
		}
		
		CEHelper.popSubject();
	}
	
	/**
	 *  通过一个ID获取到该文档的各个版本,将对应版本转化为Document后即可获取到该版本的auditing
	 */
	public void testVersions(){
		
		Connection conn = CEHelper.getConnection();
		CEHelper.pushSubject(conn, "administrator", "filenet");
		ObjectStore os = CEHelper.getObjectStore(conn);
		
		Document doc = Factory.Document.fetchInstance(os, new Id("{157BE333-70AB-4B85-8F0E-9AC587E26FF2}"), null);
		VersionableSet versions = doc.get_Versions();
		Iterator<Versionable> iter = versions.iterator();
		Document doc_temp = null;
		Event e1 = null;
		while(iter.hasNext()){
			doc_temp = (Document)iter.next();
			EventSet events = doc_temp.get_AuditedEvents();
			logger.info("doc_temp.get_Id().toString() = " + doc_temp.get_Id().toString() );
			Iterator<Event> iter1 = events.iterator();
			while(iter1.hasNext()){
				e1 = (Event)iter1.next();
				logger.info("e1.get_Creator() = " + e1.get_Creator());
				logger.info("e1.get_EventStatus() = " + e1.get_EventStatus());
				logger.info("e1.get_ClassDescription().get_DisplayName() = " + e1.get_ClassDescription().get_DisplayName());
				logger.info("e1.get_DateCreated() = " + e1.get_DateCreated());
				logger.info("e1.get_Name() = " + e1.get_Name());
			}
		}
		
		CEHelper.popSubject();
	}
	
	public void testDeletion(){
		
	}
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值