Infopublic class Info extends BaseCommand Info handles the info command.
It is configured by:
<command name="info" class="Info"/>
It uses the formatted text-based resources for its return mail body:
- header
- info
- admincommands
After formatting the text, the message is delivered with {@link #sendStandardReply}
Todo: make displaying the current member list optional |
Fields Summary |
---|
protected org.apache.james.util.XMLResources[] | xmlResources | protected static final int | HEADER | protected static final int | INFO | protected static final int | ADMIN_COMMANDS |
Methods Summary |
---|
protected java.lang.String | getMemberList()Retrieve the current member list
StringBuffer buffer = new StringBuffer(0x1000);
buffer.append("\r\n");
UsersRepository usersRepository = getUsersRepository();
for (Iterator it = usersRepository.list(); it.hasNext();) {
String userName = (String) it.next();
buffer.append(" ").append(userName);
buffer.append("\r\n");
}
return buffer.toString();
| public void | init(org.apache.james.transport.mailets.ICommandListservManager commandListservManager, org.apache.avalon.framework.configuration.Configuration configuration)
super.init(commandListservManager, configuration);
xmlResources = initXMLResources(new String[]{"header", "info", "admincommands"});
| public void | onCommand(org.apache.mailet.Mail mail)Process the info command using the following text resources:
- {@link #HEADER}
- {@link #INFO}
- {@link #ADMIN_COMMANDS}
//send info mail
Properties props = getStandardProperties();
props.put("MEMBER_LIST", getMemberList());
StringBuffer plainTextMessage = new StringBuffer();
String header = xmlResources[HEADER].getString("text", props);
plainTextMessage.append(header);
String infoMail = xmlResources[INFO].getString("text", props);
plainTextMessage.append(infoMail);
String adminCommands = xmlResources[ADMIN_COMMANDS].getString("text", props);
plainTextMessage.append(adminCommands);
String subject = xmlResources[INFO].getString("info.subject", props);
sendStandardReply(mail, subject, plainTextMessage.toString(), null);
|
|