Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1044 → Rev 1045

/hostadmiral/trunk/doc/todo.txt
27,9 → 27,6
 
+/- Sort options for lists.
 
Different user name schemes, not only user@domain. Define an interface to allow admin
implement an own one. Implement a few common ones.
 
Allow to use existing system users: enter uid or name only, check in system for full
information.
 
83,3 → 80,5
 
+ Split model and store.
 
+ Different user name schemes, not only user@domain. Define an interface to allow admin
implement an own one. Implement a few common ones.
/hostadmiral/trunk/src/ak/hostadmiral/core/model/UserManager.java
132,6 → 132,9
listener.userModified(editor, user, oldUser);
}
}
 
// reset backup
user.resetOrigin();
}
 
public void addCreatedListener(UserCreatedListener listener)
/hostadmiral/trunk/src/ak/hostadmiral/core/model/User.java
62,6 → 62,11
origin = new User(this);
}
 
protected void resetOrigin()
{
origin = null;
}
 
/**
*
* @hibernate.property
/hostadmiral/trunk/src/ak/hostadmiral/core/model/InetDomainManager.java
102,6 → 102,9
listener.inetDomainModified(editor, domain, oldDomain);
}
}
 
// reset backup
domain.resetOrigin();
}
 
public void addCreatedListener(InetDomainCreatedListener listener)
/hostadmiral/trunk/src/ak/hostadmiral/core/model/SystemUser.java
39,6 → 39,11
origin = new SystemUser(this);
}
 
protected void resetOrigin()
{
origin = null;
}
 
/**
*
* @hibernate.property
/hostadmiral/trunk/src/ak/hostadmiral/core/model/MailboxManager.java
117,6 → 117,9
listener.mailboxModified(editor, mailbox, oldMailbox);
}
}
 
// reset backup
mailbox.resetOrigin();
}
 
public void addCreatedListener(MailboxCreatedListener listener)
/hostadmiral/trunk/src/ak/hostadmiral/core/model/SystemUserManager.java
118,6 → 118,9
listener.systemUserModified(editor, systemUser, oldSystemUser);
}
}
 
// reset backup
systemUser.resetOrigin();
}
 
public void addCreatedListener(SystemUserCreatedListener listener)
/hostadmiral/trunk/src/ak/hostadmiral/core/model/MailAliasManager.java
108,6 → 108,9
listener.mailAliasModified(editor, mailAlias, oldMailAlias);
}
}
 
// reset backup
mailAlias.resetOrigin();
}
 
public void addCreatedListener(MailAliasCreatedListener listener)
/hostadmiral/trunk/src/ak/hostadmiral/core/model/InetDomain.java
36,6 → 36,11
origin = new InetDomain(this);
}
 
protected void resetOrigin()
{
origin = null;
}
 
/**
*
* @hibernate.property
/hostadmiral/trunk/src/ak/hostadmiral/core/model/Mailbox.java
55,6 → 55,11
origin = new Mailbox(this);
}
 
protected void resetOrigin()
{
origin = null;
}
 
/**
*
* @hibernate.property
/hostadmiral/trunk/src/ak/hostadmiral/core/model/MailAlias.java
41,6 → 41,11
origin = new MailAlias(this);
}
 
protected void resetOrigin()
{
origin = null;
}
 
/**
*
* @hibernate.property
/hostadmiral/trunk/src/ak/hostadmiral/core/model/UserValidatorAtDomain.java
11,8 → 11,17
public void validateUser(User editor, User user)
throws ModelException
{
// superuser
if(editor.isSuperuser()) return;
 
// name not changed
if(user.getOrigin() != null && user.getOrigin().getLogin() != null
&& user.getLogin().equals(user.getOrigin().getLogin()))
{
return;
}
 
// go throug all domains
Collection domains = InetDomainManager.getInstance().listInetDomains(editor);
for(Iterator i = domains.iterator(); i.hasNext(); ) {
InetDomain domain = (InetDomain)i.next();
21,6 → 30,7
return;
}
 
// nothing found
throw new ModelUserException("ak.hostadmiral.core.uservalidator.atdomain.login.wrong");
}
}
/hostadmiral/trunk/src/ak/hostadmiral/core/servlet/HibernateFilter.java
35,28 → 35,7
public void init(FilterConfig filterConfig)
throws ServletException
{
// get config
this.filterConfig = filterConfig;
 
if(filterConfig != null) {
// register hibernate classes
String toRegister = filterConfig.getInitParameter("register");
if(toRegister != null) {
String[] registers = toRegister.split("\\s*;\\s*");
 
for(int i = 0; i < registers.length; i++) {
try {
String name = registers[i].trim();
if(name.equals("")) continue;
 
Class cl = Class.forName(name);
}
catch(Exception ex) {
logger.error("cannot register class", ex);
}
}
}
}
}
 
public void doFilter(ServletRequest request, ServletResponse response,
70,8 → 49,14
chain.doFilter(request, response);
 
if(HibernateUtil.isTransactionOpen()) {
logger.info("commit transaction");
HibernateUtil.commitTransaction();
if(Boolean.TRUE.equals(request.getAttribute("TRANSACTION_FAILED"))) {
logger.info("rollback transaction because it is marked as failed");
HibernateUtil.rollbackTransaction();
}
else {
logger.info("commit transaction");
HibernateUtil.commitTransaction();
}
}
}
catch(Exception ex) {
78,7 → 63,7
logger.error("exception by program execution", ex);
try {
if(HibernateUtil.isTransactionOpen()) {
logger.info("rollback transaction");
logger.info("rollback transaction because of exception");
HibernateUtil.rollbackTransaction();
}
}
/hostadmiral/trunk/src/ak/hostadmiral/core/action/GeneralExceptionHandler.java
80,6 → 80,8
{
logger.info("user exception handle:" + ex.getMessage());
 
request.setAttribute("TRANSACTION_FAILED", Boolean.TRUE);
 
// try to get property for this exception if any
String property = ActionMessages.GLOBAL_MESSAGE;
if(ex instanceof FormException) {
110,6 → 112,8
{
logger.info("model user exception handle:" + ex.getMessage());
 
request.setAttribute("TRANSACTION_FAILED", Boolean.TRUE);
 
// create new error message
ActionErrors errors = (ActionErrors)request.getAttribute(Globals.ERROR_KEY);
if(errors == null) {
/hostadmiral/trunk/src/ak/hostadmiral/core/action/UserAction.java
40,7 → 40,7
throws Exception
{
ActionUtils.prepare(request, response);
if("submit".equals(mapping.getParameter())) {
if("submit".equals(mapping.getParameter()) || "partsubmit".equals(mapping.getParameter())) {
User user = (User)request.getSession().getAttribute("user");
initUserList(request, user);
 
/hostadmiral/trunk/webapp/WEB-INF/conf/hostadmiral_config.xml.sample
7,6 → 7,7
<settings>
<username>postgres</username>
<password>password</password>
<url>jdbc:postgresql://localhost/hostadmiral</url>
</settings>
</datasource>
<initializations>
/hostadmiral/trunk/webapp/WEB-INF/conf/hostadmiral_config.xml.default
55,6 → 55,10
<param-name>store</param-name>
<param-value>ak.hostadmiral.core.model.store.hibernate.UserHibernate</param-value>
</init-param>
<init-param>
<param-name>userValidator</param-name>
<param-value>ak.hostadmiral.core.model.UserValidatorAtDomain</param-value>
</init-param>
</initialization>
<initialization>
<class>ak.hostadmiral.core.model.SystemUserManager</class>