Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1221 → Rev 1222

/hostadmiral/trunk/doc/todo.txt
1,7 → 1,11
Host Admiral TODO
========================================================================================================================
================================================================================================================
Implement listerners as weak reference, create a general engine for this (?), possible java 1.5.
Move logged in users accounting from the session hack to model, as weak references.
 
Do not show any exceptions to user, show just 'internal error'.
Show user no exceptions, just 'internal error'.
 
No unique error handle by mail alias creation.
 
76,10 → 80,11
Double check concurency update.
Study Hibernate behavior if it cannot save some information - seems to be not recoverable, restart needed.
Study Hibernate behavior if it cannot save some information - seems to be not recoverable,
restart needed.
Done
------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
+ Track database structure version.
/hostadmiral/trunk/src/ak/hostadmiral/core/model/MailboxManager.java
261,7 → 261,7
{
Collection mailboxes = store.listOwnMailboxes(user);
 
return iterateBeforeDelete(editor, mailboxes, known);
return iterateBeforeDelete(editor, mailboxes, known, CascadeDeleteElement.DELETE);
}
 
public void userDeleting(User editor, User user)
279,7 → 279,7
{
Collection mailboxes = store.listMailboxesForDomain(domain);
 
return iterateBeforeDelete(editor, mailboxes, known);
return iterateBeforeDelete(editor, mailboxes, known, CascadeDeleteElement.DELETE);
}
 
public void inetDomainDeleting(User editor, InetDomain domain)
297,7 → 297,7
{
Collection mailboxes = store.listMailboxesForSystemUser(user);
 
return iterateBeforeDelete(editor, mailboxes, known);
return iterateBeforeDelete(editor, mailboxes, known, CascadeDeleteElement.CHANGE);
}
 
public void systemUserDeleting(User editor, SystemUser user)
306,12 → 306,13
Collection mailboxes = store.listMailboxesForSystemUser(user);
 
for(Iterator i = mailboxes.iterator(); i.hasNext(); ) {
// FIXME do not delete, just reset system user (?)
delete(editor, (Mailbox)i.next());
Mailbox mailbox = (Mailbox)i.next();
mailbox.setSystemUser(null);
save(editor, mailbox);
}
}
 
private Collection iterateBeforeDelete(User editor, Collection mailboxes, Collection known)
private Collection iterateBeforeDelete(User editor, Collection mailboxes, Collection known, int action)
throws ModelException
{
Collection cascade = new ArrayList();
321,7 → 322,9
 
known.add(mailbox);
if(mailbox.viewableBy(editor)) {
if(mailbox.deleteableBy(editor))
if(action == CascadeDeleteElement.CHANGE && mailbox.editableBy(editor))
cascade.add(new CascadeDeleteElement(mailbox, CascadeDeleteElement.CHANGE, null));
else if(action == CascadeDeleteElement.DELETE && mailbox.deleteableBy(editor))
cascade.add(new CascadeDeleteElement(mailbox, CascadeDeleteElement.DELETE,
this.beforeDelete(editor, mailbox, known)));
else
/hostadmiral/trunk/src/ak/hostadmiral/core/servlet/LoginFilter.java
111,7 → 111,7
if(!(request instanceof HttpServletRequest))
throw new ServletException("Do not know how to handle non-HTTP requests");
if(!(response instanceof HttpServletResponse))
throw new ServletException("Do not know how to handle non-HTTP response");
throw new ServletException("Do not know how to handle non-HTTP responses");
 
HttpServletRequest httpRequest = (HttpServletRequest)request;
HttpServletResponse httpResponse = (HttpServletResponse)response;