This is a short snippet of code that is used to add roles to a database.
/**
* Adds the roles in the specified Vector to the
* specified Database.
*
* @author Johan Känngård, http://dev.kanngard.net
* @param db the Database to add the roles to.
* @param roles the roles in a Vector to add to
* the Database.
* @return a Vector of the roles that were added
* and null if no roles were added.
*/
public Vector addRoles(Database db, Vector roles)
throws NotesException {
Vector addedRoles = new Vector();
ACL acl = db.getACL();
String role = null;
for (int i = 0; i < roles.size(); i++) {
role = "[" + (String)roles.elementAt(i) + "]";
if (!(acl.getRoles().contains(role))) {
acl.addRole(role);
addedRoles.addElement(role);
}
}
if (addedRoles.size() != 0) {
acl.save();
}
return addedRoles;
}
It can be used by creating an agent with this code:
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
Database currentDb = agentContext.getCurrentDatabase();
Vector roles = new Vector();
roles.addElement("Administrator");
roles.addElement("User");
roles.addElement("Infomaster");
roles.addElement("Hacker");
System.out.println("Added " + addRoles(currentDb, roles)
+ " to " + currentDb.getFilePath());