acmetransactionlistener.txt
package com.acme.webservices.event;

import java.io.*;
import java.util.*;
import java.lang.*;

import com.osm.datamgmt.biz.*;
import com.osm.biz.*;
import com.osm.exception.*;
import com.osm.webservices.event.*;
import com.osm.webservices.service.*;

public class AcmeTransactionListener implements TransactionListener {

public void transactionApplied(TransactionEvent e) throws WMException {
List recordSets = e.getAuditRecordSets();
File partsFile = new File("C:\\Temp\\partsfile.txt");
try {
PrintWriter out = new PrintWriter(new FileOutputStream (partsFile));
out.println("Opened file: " + recordSets.size() + " recordSets");
out.flush();
for (int i = 0; i < recordSets.size(); ++i) {
AuditRecordSet ars = (AuditRecordSet) recordSets.get(i);
String myElid = ars.getElid();
WMElement myObject = WMSession.getWMSession().openElement(myElid, false);
if (myObject instanceof com.osm.datamgmt.biz.Part) {
out.println ("Object Name: " + myObject.getObjName());
out.flush();
for (int j = 0; j < ars.getAuditEventRecords().size(); ++j) {
AuditEventRecord aer = (AuditEventRecord) ars.getAuditEventRecords().get(j);
switch (aer.getTypeNumber()) {
case AuditStateList.AUDIT_CHANGE_NO :
out.println (" Miscellaneous change");
break;
case AuditStateList.NEW_ELEMENT_NO :
out.println (" New element");
break;
case AuditStateList.ADDED_NEWFILE_NO :
out.println (" Added New File");
break;
case AuditStateList.SYSTEM_ATTRIBUTE_CHANGE_NO :
out.println (" System Attribute Change");
break;
case AuditStateList.USER_ATTRIBUTE_CHANGE_NO :
out.println (" User Attribute Change");
break;
case AuditStateList.ATTRIBUTE_CHANGE_NO :
out.println (" Attribute Change");
break;
case AuditStateList.CHILD_REMOVED_NO :
out.println (" Item removed");
break;
case AuditStateList.CHILD_ADDED_NO :
out.println (" Item added");
break;
case AuditStateList.ITEM_AS_CHILD_ADDED_NO :
out.println (" New item added as child");
break;
case AuditStateList.NEW_REVISION_NO :
out.println (" New revision");
break;
case AuditStateList.OVERWRITE_NO :
out.println (" Overwrite");
break;
case AuditStateList.PACKET_SENT_NO :
out.println (" Packet sent");
break;
case AuditStateList.ADDED_NOTE_NO :
out.println (" Note added");
break;
case AuditStateList.STATE_CHANGE_NO :
out.println (" State changed");
break;
case AuditStateList.OWNER_CHANGE_NO :
out.println (" Owner changed");
break;
case AuditStateList.DELETED_NO :
out.println (" Item deleted");
break;
default: out.println (" Unknown event");
break;
} //switch
out.flush();
} //for
} //if
} //for
} //try
catch (IOException ignore) {
}
}
}
Was this helpful?