[jboss-cvs] jboss-seam/src/main/org/jboss/seam/mail ...
Peter Muir
peter at bleepbleep.org.uk
Mon Apr 23 18:26:58 EDT 2007
User: pmuir
Date: 07/04/23 18:26:58
Modified: src/main/org/jboss/seam/mail MailSession.java
Added: src/main/org/jboss/seam/mail Meldware.java
MeldwareUser.java
Log:
JBSEAM-1170, overhaul Meldware
Revision Changes Path
1.9 +2 -1 jboss-seam/src/main/org/jboss/seam/mail/MailSession.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: MailSession.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/mail/MailSession.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- MailSession.java 26 Mar 2007 18:27:23 -0000 1.8
+++ MailSession.java 23 Apr 2007 22:26:58 -0000 1.9
@@ -1,6 +1,7 @@
package org.jboss.seam.mail;
import static org.jboss.seam.ScopeType.APPLICATION;
+import static org.jboss.seam.InterceptionType.NEVER;
import static org.jboss.seam.annotations.Install.BUILT_IN;
import java.io.Serializable;
@@ -30,7 +31,7 @@
@Name("org.jboss.seam.mail.mailSession")
@Install(precedence=BUILT_IN, classDependencies="javax.mail.Session")
@Scope(APPLICATION)
- at Intercept(InterceptionType.NEVER)
+ at Intercept(NEVER)
public class MailSession extends AbstractMutable implements Serializable
{
private static final LogProvider log = Logging.getLogProvider(MailSession.class);
1.1 date: 2007/04/23 22:26:58; author: pmuir; state: Exp;jboss-seam/src/main/org/jboss/seam/mail/Meldware.java
Index: Meldware.java
===================================================================
package org.jboss.seam.mail;
import static org.jboss.seam.InterceptionType.NEVER;
import static org.jboss.seam.ScopeType.APPLICATION;
import static org.jboss.seam.annotations.Install.BUILT_IN;
import java.util.List;
import org.buni.meldware.mail.management.AdminTool;
import org.buni.meldware.mail.util.MMJMXUtil;
import org.jboss.seam.annotations.Create;
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Intercept;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Startup;
import org.jboss.seam.log.Log;
import org.jboss.seam.log.Logging;
/**
* Creates meldware users, mailboxes and aliases
*
*/
@Name("org.jboss.seam.mail.meldware")
@Startup
@Scope(APPLICATION)
@Intercept(NEVER)
@Install(precedence=BUILT_IN, classDependencies="org.buni.meldware.mail.mailbox.Mailbox", value=false)
public class Meldware
{
private List<MeldwareUser> users;
private List<String> domains;
private Log log = Logging.getLog(Meldware.class);
@Create
public void create()
{
// TODO Support domain creation as well. Currently they are written out to file.
log.info("Creating users and mailboxes");
//MailboxService ms = MMJMXUtil.getMBean("meldware.mail:type=MailboxManager,name=MailboxManager", MailboxService.class);
AdminTool at = MMJMXUtil.getMBean("meldware.mail:type=MailServices,name=AdminTool", AdminTool.class);
for (MeldwareUser meldwareUser : getUsers())
{
at.createUser(meldwareUser.getUsername(), meldwareUser.getPassword(), meldwareUser.getRoles());
// TODO This won't work on AS 4.2
/*Mailbox mbox = ms.createMailbox(meldwareUser.getUsername());
for (String alias : meldwareUser.getAliases())
{
ms.createAlias(mbox.getId(), alias);
}*/
log.info("Created #0 #1 #2", meldwareUser.isAdministrator() ? "administrator" : "user", meldwareUser.getUsername(), meldwareUser.getAliases() == null || meldwareUser.getAliases().size() == 0 ? "" : "with aliases " + meldwareUser.getAliases());
}
}
public List<MeldwareUser> getUsers()
{
return users;
}
public void setUsers(List<MeldwareUser> users)
{
this.users = users;
}
public List<String> getDomains()
{
return domains;
}
public void setDomains(List<String> domains)
{
this.domains = domains;
}
}
1.1 date: 2007/04/23 22:26:58; author: pmuir; state: Exp;jboss-seam/src/main/org/jboss/seam/mail/MeldwareUser.java
Index: MeldwareUser.java
===================================================================
package org.jboss.seam.mail;
import static org.jboss.seam.InterceptionType.NEVER;
import static org.jboss.seam.ScopeType.APPLICATION;
import static org.jboss.seam.annotations.Install.BUILT_IN;
import java.util.ArrayList;
import java.util.List;
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Intercept;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
@Name("org.jboss.seam.mail.meldwareUser")
@Scope(APPLICATION)
@Intercept(NEVER)
@Install(precedence=BUILT_IN, dependencies="org.jboss.seam.mail.meldware", value=false)
public class MeldwareUser
{
private String username;
private String password;
private boolean administrator;
private List<String> aliases;
public boolean isAdministrator()
{
return administrator;
}
public void setAdministrator(boolean admin)
{
this.administrator = admin;
}
public List<String> getAliases()
{
return aliases;
}
public void setAliases(List<String> aliases)
{
this.aliases = aliases;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public List<String> getRoles()
{
return getRoles(this);
}
private static List<String> getRoles(MeldwareUser user)
{
List<String> roles = new ArrayList<String>();
roles.add("calendaruser");
if (user.isAdministrator())
{
roles.add("adminuser");
}
return roles;
}
}
More information about the jboss-cvs-commits
mailing list