import lotus.domino.*; import java.util.Vector; public class JavaAgent extends AgentBase { public void NotesMain() { try { Session session = getSession(); AgentContext agentContext = session.getAgentContext(); // (Your code goes here) Database db = agentContext.getCurrentDatabase(); Document doc = db.createDocument(); RichTextItem rti = doc.createRichTextItem("Body"); Vector agents = db.getAgents(); for (int i=0; i<agents.size(); i++) { Agent agent = (Agent)agents.elementAt(i); if (agent.isPublic() & agent.isEnabled()) { rti.appendText(agent.getName()); rti.addTab(2); rti.appendText(agent.getComment()); rti.addNewLine(1); } } doc.appendItemValue("Subject", "Shared agent summary for " + db.getTitle()); doc.send(false, db.getManagers()); } catch(Exception e) { e.printStackTrace(); } } }
2. This example shows an agent that gets the NoteID of a document using the runOnServer method via another agent that executes the getParameterDocID method.
import lotus.domino.*; import java.util.*; public class JavaAgent extends AgentBase { public void NotesMain() { try { Session session = getSession(); AgentContext agentContext = session.getAgentContext(); // (Your code goes here) Database db = agentContext.getCurrentDatabase(); Agent ag1 = agentContext.getCurrentAgent(); Agent ag2 = db.getAgent("AgentGetParameterDocID"); Document doc = db.createDocument(); doc.replaceItemValue("AgentList", ag1.getName() + " performing agent.run(NoteID)"); doc.save(true,true); String paramid = doc.getNoteID(); ag2.runOnServer(paramid); doc.recycle(); Document doc2 = db.getDocumentByID(paramid); Vector v = doc2.getItemValue("AgentList"); String sAgList = (String)v.elementAt(0); System.out.println("Agent calling sequence: " + sAgList ); doc2.remove(true); } catch(Exception e) { e.printStackTrace(); } } }
AgentGetParameterDocID
import lotus.domino.*; import java.util.*; public class JavaAgent extends AgentBase { public void NotesMain() { try { Session session = getSession(); AgentContext agentContext = session.getAgentContext(); Database db = agentContext.getCurrentDatabase(); Agent ag1 = agentContext.getCurrentAgent(); String paramid = ag1.getParameterDocID(); Document doc = db.getDocumentByID(paramid); Vector v = doc.getItemValue("AgentList"); String sAgList = (String)v.elementAt(0); doc.replaceItemValue("AgentList", sAgList + " > " + ag1.getName()); doc.save(true,true); } catch(Exception e) { e.printStackTrace(); } } }