/hostadmiral/trunk/src/ak/hostadmiral/core/action/MailAliasAction.java |
---|
38,6 → 38,7 |
import ak.hostadmiral.core.model.MailAliasDestination; |
import ak.hostadmiral.core.model.MailAliasDestinationManager; |
import ak.hostadmiral.core.model.InetDomainManager; |
import ak.hostadmiral.core.servlet.SessionKeys; |
import ak.hostadmiral.core.form.MailAliasDestBean; |
public final class MailAliasAction |
52,7 → 53,7 |
{ |
ActionUtils.prepare(request, response); |
if("submit".equals(mapping.getParameter())) { |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
initLists(request, user); |
} |
} |
62,7 → 63,7 |
throws Exception |
{ |
ActionUtils.prepare(request, response); |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
if("list".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long page = StringConverter.parseLong(theForm.get("pg")); |
/hostadmiral/trunk/src/ak/hostadmiral/core/action/UserAction.java |
---|
28,6 → 28,7 |
import ak.hostadmiral.core.resources.CoreResources; |
import ak.hostadmiral.core.model.User; |
import ak.hostadmiral.core.model.UserManager; |
import ak.hostadmiral.core.servlet.SessionKeys; |
public final class UserAction |
extends Action |
41,7 → 42,7 |
{ |
ActionUtils.prepare(request, response); |
if("submit".equals(mapping.getParameter()) || "partsubmit".equals(mapping.getParameter())) { |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
initUserList(request, user); |
DynaActionForm theForm = (DynaActionForm)form; |
69,7 → 70,7 |
throws Exception |
{ |
ActionUtils.prepare(request, response); |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
if("list".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
/hostadmiral/trunk/src/ak/hostadmiral/core/action/FailedLoginsAction.java |
---|
16,6 → 16,7 |
import ak.hostadmiral.util.StringConverter; |
import ak.hostadmiral.core.model.User; |
import ak.hostadmiral.core.model.UserManager; |
import ak.hostadmiral.core.servlet.SessionKeys; |
public final class FailedLoginsAction |
extends Action |
25,7 → 26,7 |
throws Exception |
{ |
ActionUtils.prepare(request, response); |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
List logins = new ArrayList(UserManager.getInstance().listFailedLogins(user)); |
Collections.sort(logins, UserManager.LOGINS_TIME_COMPARATOR); |
/hostadmiral/trunk/src/ak/hostadmiral/core/action/SystemUserAction.java |
---|
30,6 → 30,7 |
import ak.hostadmiral.core.model.UserManager; |
import ak.hostadmiral.core.model.SystemUser; |
import ak.hostadmiral.core.model.SystemUserManager; |
import ak.hostadmiral.core.servlet.SessionKeys; |
public final class SystemUserAction |
extends Action |
43,7 → 44,7 |
{ |
ActionUtils.prepare(request, response); |
if("submit".equals(mapping.getParameter())) { |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
initUserList(request, user); |
} |
} |
53,7 → 54,7 |
throws Exception |
{ |
ActionUtils.prepare(request, response); |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
if("list".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
/hostadmiral/trunk/src/ak/hostadmiral/core/action/UserUpdater.java |
---|
0,0 → 1,80 |
package ak.hostadmiral.core.action; |
import java.util.Set; |
import java.util.HashSet; |
import java.util.Iterator; |
import javax.servlet.http.HttpSessionListener; |
import javax.servlet.http.HttpSessionEvent; |
import javax.servlet.http.HttpSession; |
import org.apache.log4j.Logger; |
import org.apache.struts.Globals; |
import ak.hostadmiral.util.ModelException; |
import ak.hostadmiral.core.model.User; |
import ak.hostadmiral.core.model.UserManager; |
import ak.hostadmiral.core.model.UserModifiedListener; |
import ak.hostadmiral.core.servlet.SessionKeys; |
public final class UserUpdater |
implements UserModifiedListener, HttpSessionListener |
{ |
private static final Logger logger = Logger.getLogger(UserUpdater.class); |
protected Set sessions = new HashSet(); |
protected boolean registered = false; |
public UserUpdater() |
{ |
logger.info("registered for session events"); |
} |
protected void register() |
{ |
UserManager.getInstance().addModifiedListener(this); |
registered = true; |
logger.info("registered for user modifications"); |
} |
public void sessionCreated(HttpSessionEvent se) |
{ |
if(!registered) register(); // FIXME is application always initialized |
// before create a session? |
logger.info("add session"); |
sessions.add(se.getSession()); |
} |
public void sessionDestroyed(HttpSessionEvent se) |
{ |
if(!registered) register(); |
if(logger.isInfoEnabled()) { |
logger.info("remove session for " + se.getSession().getAttribute(SessionKeys.USER)); |
} |
sessions.remove(se.getSession()); |
} |
public void userModified(User editor, User user, User oldUser) |
throws ModelException |
{ |
logger.info("user modified: " + user); |
for(Iterator i = sessions.iterator(); i.hasNext(); ) { |
HttpSession s = (HttpSession)i.next(); |
User u = (User)s.getAttribute(SessionKeys.USER); |
if(u != null) { |
if(u.equals(oldUser)) { |
logger.info("update user"); |
s.setAttribute(SessionKeys.USER, user); |
s.setAttribute(Globals.LOCALE_KEY, user.getLocale()); |
} |
} |
} |
} |
} |
/hostadmiral/trunk/src/ak/hostadmiral/core/action/IndexAction.java |
---|
14,6 → 14,7 |
import ak.hostadmiral.core.model.InetDomainManager; |
import ak.hostadmiral.core.model.MailboxManager; |
import ak.hostadmiral.core.model.MailAliasManager; |
import ak.hostadmiral.core.servlet.SessionKeys; |
public final class IndexAction |
extends Action |
23,7 → 24,7 |
throws Exception |
{ |
ActionUtils.prepare(request, response); |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
request.setAttribute("showSystemUsers", |
Boolean.valueOf(SystemUserManager.getInstance().areSystemUsersAvailable(user))); |
/hostadmiral/trunk/src/ak/hostadmiral/core/action/InetDomainAction.java |
---|
30,6 → 30,7 |
import ak.hostadmiral.core.model.UserManager; |
import ak.hostadmiral.core.model.InetDomain; |
import ak.hostadmiral.core.model.InetDomainManager; |
import ak.hostadmiral.core.servlet.SessionKeys; |
public final class InetDomainAction |
extends Action |
43,7 → 44,7 |
{ |
ActionUtils.prepare(request, response); |
if("submit".equals(mapping.getParameter())) { |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
initUserList(request, user); |
} |
} |
53,7 → 54,7 |
throws Exception |
{ |
ActionUtils.prepare(request, response); |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
if("list".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
/hostadmiral/trunk/src/ak/hostadmiral/core/action/ChangePasswordAction.java |
---|
17,6 → 17,7 |
import ak.hostadmiral.core.resources.CoreResources; |
import ak.hostadmiral.core.model.User; |
import ak.hostadmiral.core.model.UserManager; |
import ak.hostadmiral.core.servlet.SessionKeys; |
public final class ChangePasswordAction |
extends Action |
32,7 → 33,7 |
else { |
DynaActionForm theForm = (DynaActionForm)form; |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
if(user.checkPassword((String)theForm.get("oldpassword"))) { |
user.setPassword(user, (String)theForm.get("password")); |
/hostadmiral/trunk/src/ak/hostadmiral/core/action/LoginAction.java |
---|
18,6 → 18,7 |
import ak.hostadmiral.core.resources.CoreResources; |
import ak.hostadmiral.core.model.User; |
import ak.hostadmiral.core.model.UserManager; |
import ak.hostadmiral.core.servlet.SessionKeys; |
public final class LoginAction |
extends Action |
46,7 → 47,7 |
return mapping.getInputForward(); |
} |
else { |
request.getSession().setAttribute("user", user); |
request.getSession().setAttribute(SessionKeys.USER, user); |
request.getSession().setAttribute(Globals.LOCALE_KEY, user.getLocale()); |
String origin = BackPath.findBackPath(request).getBackwardUrl(); |
/hostadmiral/trunk/src/ak/hostadmiral/core/action/UserLoginsAction.java |
---|
17,6 → 17,7 |
import ak.hostadmiral.util.CollectionInfo; |
import ak.hostadmiral.core.model.User; |
import ak.hostadmiral.core.model.UserManager; |
import ak.hostadmiral.core.servlet.SessionKeys; |
public final class UserLoginsAction |
extends Action |
28,7 → 29,7 |
throws Exception |
{ |
ActionUtils.prepare(request, response); |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
DynaActionForm theForm = (DynaActionForm)form; |
Long userId = StringConverter.parseLong(theForm.get("id")); |
/hostadmiral/trunk/src/ak/hostadmiral/core/action/MailboxAction.java |
---|
32,6 → 32,7 |
import ak.hostadmiral.core.model.MailboxManager; |
import ak.hostadmiral.core.model.SystemUserManager; |
import ak.hostadmiral.core.model.InetDomainManager; |
import ak.hostadmiral.core.servlet.SessionKeys; |
public final class MailboxAction |
extends Action |
45,7 → 46,7 |
{ |
ActionUtils.prepare(request, response); |
if("submit".equals(mapping.getParameter())) { |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
initLists(request, user); |
} |
} |
55,7 → 56,7 |
throws Exception |
{ |
ActionUtils.prepare(request, response); |
User user = (User)request.getSession().getAttribute("user"); |
User user = (User)request.getSession().getAttribute(SessionKeys.USER); |
if("list".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long page = StringConverter.parseLong(theForm.get("pg")); |
/hostadmiral/trunk/src/ak/hostadmiral/core/model/GeneralModelObject.java |
---|
121,4 → 121,26 |
{ |
this.modUser = modUser; |
} |
public String toString() |
{ |
return getClass().getName() + " [" + getId() + "]"; |
} |
public boolean equals(Object o) |
{ |
if(o == null) return false; |
if(!getClass().isInstance(o)) return false; |
ModelObject u = (ModelObject)o; |
return (getId() != null) && (u.getId() != null) && (getId().equals(u.getId())); |
} |
public int hashCode() |
{ |
if(getId() == null) |
return 0; |
else |
return getId().hashCode(); |
} |
} |
/hostadmiral/trunk/src/ak/hostadmiral/core/model/InetDomain.java |
---|
131,4 → 131,9 |
d.setName(origin.getName()); |
return d; |
} |
public String toString() |
{ |
return "InetDomain id=[" + getId() + "] name=[" + name + "]"; |
} |
} |
/hostadmiral/trunk/src/ak/hostadmiral/core/model/MailAliasDestination.java |
---|
128,5 → 128,14 |
{ |
return true; |
} |
public String toString() |
{ |
return "MailAliasDestination id=[" + getId() + "] alias=[" |
+ (alias == null ? "_none_" : alias.getAddress() + "@" |
+ (alias.getDomain() == null ? "_none_" : alias.getDomain().getName())) |
+ "] mailbox=[" + (mailbox == null ? "_none_" : mailbox.getLogin() + "@" |
+ (mailbox.getDomain() == null ? "_none_" : mailbox.getDomain().getName())) + "]" |
+ "] email=[" + (email == null ? "_none_" : email) + "]"; |
} |
} |
/hostadmiral/trunk/src/ak/hostadmiral/core/model/User.java |
---|
295,14 → 295,6 |
this.loginHistory = loginHistory; |
} |
public boolean equals(Object o) |
{ |
if(o == null || !(o instanceof User)) return false; |
User u = (User)o; |
return (getId() != null) && (u.getId() != null) && (getId().equals(u.getId())); |
} |
protected void update(User origin) |
{ |
this.login = origin.login; |
311,14 → 303,6 |
this.locale = origin.locale; |
} |
public int hashCode() |
{ |
if(getId() == null) |
return 0; |
else |
return getId().hashCode(); |
} |
public String getTypeKey() |
{ |
return ak.hostadmiral.core.resources.CoreResources.TYPE_USER; |
387,6 → 371,6 |
public String toString() |
{ |
return getClass().getName() + " [" + getId() + "] [" + getLogin() + "]"; |
return "User id=[" + getId() + "] login=[" + login + "]"; |
} |
} |
/hostadmiral/trunk/src/ak/hostadmiral/core/model/SystemUser.java |
---|
156,4 → 156,9 |
u.setName(origin.getName()); |
return u; |
} |
public String toString() |
{ |
return "SystemUser id=[" + getId() + "] uid=[" + uid + "] name=[" + name + "]"; |
} |
} |
/hostadmiral/trunk/src/ak/hostadmiral/core/model/Mailbox.java |
---|
292,4 → 292,10 |
m.setOwner(origin.getOwner()); |
return m; |
} |
public String toString() |
{ |
return "Mailbox id=[" + getId() + "] login=[" + login + "@" |
+ (domain == null ? "_none_" : domain.getName()) + "]"; |
} |
} |
/hostadmiral/trunk/src/ak/hostadmiral/core/model/MailAlias.java |
---|
201,4 → 201,10 |
m.setOwner(origin.getOwner()); |
return m; |
} |
public String toString() |
{ |
return "MailAlias id=[" + getId() + "] address=[" + address + "@" |
+ (domain == null ? "_none_" : domain.getName()) + "]"; |
} |
} |
/hostadmiral/trunk/src/ak/hostadmiral/core/model/UserManager.java |
---|
30,6 → 30,7 |
private Collection deletingListeners = new ArrayList(); |
private Collection deletedListeners = new ArrayList(); |
// FIMXE: check that it works |
private Map loggedinUsers = new WeakHashMap(); |
public UserManager() |
/hostadmiral/trunk/src/ak/hostadmiral/core/servlet/LoginFilter.java |
---|
126,7 → 126,7 |
if(session == null) |
throw new AccessControlException("No session"); |
Object userObj = session.getAttribute("user"); |
Object userObj = session.getAttribute(SessionKeys.USER); |
if(userObj == null) |
throw new AccessControlException("No user"); |
/hostadmiral/trunk/src/ak/hostadmiral/core/servlet/SessionKeys.java |
---|
0,0 → 1,6 |
package ak.hostadmiral.core.servlet; |
public abstract class SessionKeys |
{ |
public static final String USER = "user"; |
} |