I to can't capture the NSFNoteUpdateExtendedEvent. I get at lot of NSFNoteCreateEvent but no NSFNoteUpdate*Event.
Full code is posted as attachement.
Do you have some line of code showing have to capture a triggered update?
// Michael
public void run(RunWhen runWhen, String[] args, IProgressMonitor monitor)
throws NotesException {
if (runWhen.getUnit() != RunUnit.triggered) {
// We only support triggered events
return;
}
IExtensionManagerEvent event = runWhen.getExtensionManagerEvent();
AbstractEMEvent ae = (AbstractEMEvent) event;
String eventClassName = ae.getClass().getName();
String eventName = (eventClassName.lastIndexOf(".") == -1 ? eventClassName
: eventClassName.substring(eventClassName.lastIndexOf("."),
eventClassName.length()));
String dbPath = ae.getDbPath();
/*
* This code is run when I open the document I like to update
*/
if (event.getEventId() == IExtensionManagerEvent.HOOK_EVENT_NOTE_OPEN) {
try {
NSFHookNoteOpenEvent nSFHookEvent = null;
nSFHookEvent = (NSFHookNoteOpenEvent) event;
if (!ignorList.contains(nSFHookEvent.getDbPath())) {
logMessage(MessageFormat
.format(
"Trigger event: "
+ eventName
+ "({0}) with dbPath = {1} and NoteId {2} and username {3}",
event.getEventId(), dbPath, nSFHookEvent
.getNoteId(), nSFHookEvent
.getUserName()));
}
} catch (Exception e) {
logMessage("Trigger event: " + eventName + " ... ERROR "
+ e.getLocalizedMessage());
}
}
/*
* This code is run sometime when I update a document
*/
else if (event.getEventId() == IExtensionManagerEvent.HOOK_EVENT_NOTE_UPDATE) {
try {
NSFHookNoteUpdateEvent nSFHookEvent = null;
nSFHookEvent = (NSFHookNoteUpdateEvent) event;
if (!ignorList.contains(nSFHookEvent.getDbPath())) {
logMessage(MessageFormat
.format(
"Trigger event: "
+ eventName
+ "({0}) with dbPath = {1} and NoteId {2} and username {3}",
event.getEventId(), dbPath, nSFHookEvent
.getNoteId(), nSFHookEvent
.getUserName()));
}
} catch (Exception e) {
logMessage("Trigger event: " + eventName + " ... ERROR "
+ e.getLocalizedMessage());
}
}
/*
* This code is always run when I update a document - nSFEvent.getNoteId() being null
*/
else if (event.getEventId() == IExtensionManagerEvent.EM_NSFNOTECREATE) {
try {
NSFNoteCreateEvent nSFEvent = null;
nSFEvent = (NSFNoteCreateEvent) event;
if (!ignorList.contains(nSFEvent.getDbPath())) {
logMessage(MessageFormat.format("Trigger event: "
+ eventName
+ "({0}) with dbPath = {1} and NoteId {2}}", event
.getEventId(), dbPath, nSFEvent.getNoteId()));
}
} catch (Exception e) {
logMessage("Trigger event: " + eventName + " ... ERROR "
+ e.getLocalizedMessage());
}
}
/*
* This code is not run when I update a document !!!
*/
else if (event.getEventId() == IExtensionManagerEvent.EM_NSFNOTEUPDATEXTENDED ||
event.getEventId() == IExtensionManagerEvent.EM_NSFNOTEUPDATE) {
try {
NSFNoteUpdateExtendedEvent nSFEvent = null;
nSFEvent = (NSFNoteUpdateExtendedEvent ) event;
if (!ignorList.contains(nSFEvent.getDbPath())) {
logMessage(MessageFormat.format("Trigger event: "
+ eventName
+ "({0}) with dbPath = {1} and NoteId {2}}", event
.getEventId(), dbPath, nSFEvent.getNoteId()));
}
} catch (Exception e) {
logMessage("Trigger event: " + eventName + " ... ERROR "
+ e.getLocalizedMessage());
}
}
else {
if (dbPath.equals("TaskletDemo.nsf")) {
logMessage(MessageFormat.format("Trigger event: " + eventName
+ "({0}) with dbPath = {1} and NoteId {2}", event
.getEventId(), dbPath, ae.getNoteId()));
}
}
}