Examples: hashPassword method
This agent deals with three fields in the selected document: PasswordCreate, a password field entered by the user; PasswordVerification, another password field entered by the user; and Password, a hidden text field generated by the agent. If Password is null or an empty string, the agent hashes a value from PasswordCreate. If Password contains a value, the agent verifies it against PasswordVerify.
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
// (Your code goes here)
DocumentCollection dc = agentContext.getUnprocessedDocuments();
Document doc = dc.getFirstDocument();
// If password exists, verify it
String password = doc.getItemValueString("Password");
if (password != null && password != "" && password.length() > 0) {
String pVerify = doc.getItemValueString("PasswordVerification");
if (pVerify != null && pVerify != "" && pVerify.length() > 0) {
if (session.verifyPassword(pVerify, password))
System.out.println("Password verification OK");
else
System.out.println("Password verification failed");
doc.replaceItemValue("PasswordVerification", "");
doc.save(true, true, true);
}
else
System.out.println("Password verification not specified");
}
else { // if password does not exist, create it
String pCreate = doc.getItemValueString("PasswordCreate");
if (pCreate != null && pCreate != "" && pCreate.length() >0) {
doc.replaceItemValue("Password",
session.hashPassword(pCreate));
doc.replaceItemValue("PasswordCreate", "");
doc.save(true, true, true);
System.out.println("Password created");
}
else
System.out.println("Password not specified");
}
} catch(Exception e) {
e.printStackTrace();
}
}
}