Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1010 → Rev 1011

/hostadmiral/trunk/src/ak/hostadmiral/core/model/MailboxManager.java
44,7 → 44,10
register();
}
 
private Collection createdListeners = new ArrayList();
private Collection modifiedListeners = new ArrayList();
private Collection beforeDeleteListeners = new ArrayList();
private Collection deletedListeners = new ArrayList();
 
private MailboxManager()
{
137,6 → 140,8
if(!mailbox.editableBy(editor))
throw new ModelSecurityException();
 
boolean isNew = mailbox.isNew();
 
//mailbox.setModUser(editor); // FIXME
 
try {
146,8 → 151,44
{
throw new ModelException(ex);
}
 
// inform listeners
if(isNew) {
for(Iterator i = createdListeners.iterator(); i.hasNext(); ) {
MailboxCreatedListener listener = (MailboxCreatedListener)i.next();
listener.mailboxCreated(editor, mailbox);
}
}
else {
Mailbox oldMailbox = mailbox.getOrigin();
if(oldMailbox == null) oldMailbox = mailbox;
for(Iterator i = modifiedListeners.iterator(); i.hasNext(); ) {
MailboxModifiedListener listener = (MailboxModifiedListener)i.next();
listener.mailboxModified(editor, mailbox, oldMailbox);
}
}
}
 
public void addCreatedListener(MailboxCreatedListener listener)
{
createdListeners.add(listener);
}
 
public void removeCreatedListener(MailboxCreatedListener listener)
{
createdListeners.remove(listener);
}
 
public void addModifiedListener(MailboxModifiedListener listener)
{
modifiedListeners.add(listener);
}
 
public void removeModifiedListener(MailboxModifiedListener listener)
{
modifiedListeners.remove(listener);
}
 
public void addBeforeDeleteListener(MailboxBeforeDeleteListener listener)
{
beforeDeleteListeners.add(listener);
158,6 → 199,16
beforeDeleteListeners.remove(listener);
}
 
public void addDeletedListener(MailboxDeletedListener listener)
{
deletedListeners.add(listener);
}
 
public void removeDeletedListener(MailboxDeletedListener listener)
{
deletedListeners.remove(listener);
}
 
public Collection beforeDelete(User editor, Mailbox mailbox, Collection known)
throws ModelException
{
176,9 → 227,14
public void delete(User editor, Mailbox mailbox)
throws ModelException
{
// check rights
if(!mailbox.deleteableBy(editor))
throw new ModelSecurityException();
 
// backup copy
Mailbox oldMailbox = new Mailbox(mailbox);
 
// delete it
try {
HibernateUtil.currentSession().delete(mailbox);
}
186,6 → 242,12
{
throw new ModelException(ex);
}
 
// inform listeners
for(Iterator i = deletedListeners.iterator(); i.hasNext(); ) {
MailboxDeletedListener listener = (MailboxDeletedListener)i.next();
listener.mailboxDeleted(editor, oldMailbox);
}
}
 
public Collection listMailboxes(User editor)