Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1028 → Rev 1027

/hostadmiral/trunk/src/ak/hostadmiral/core/model/MailboxManager.java
304,7 → 304,7
+ " left join domains as d on mb.domain = d.id"
+ " left join users as o on mb.owner = o.id"
+ " left join systemusers as su on mb.systemUser = su.id"
+ HibernateUtil.formOrderClause(sortingKeys, sortKeysSql),
+ HibernateUtil.formOrderClause(sortingKeys, sortKeys),
new String[] { "mb", "d", "o", "su" },
new Class[] { Mailbox.class, InetDomain.class, User.class, SystemUser.class },
null,
328,20 → 328,20
}
 
return HibernateUtil.pageableListSql(rowsPerPage, pageNumber,
"(select {mb.*}, {d.*}, {o.*}, {su.*}"
"select {mb.*}, {d.*}, {o.*}, {su.*}"
+ " from mailboxes as mb"
+ " left join domains as d on mb.domain = d.id"
+ " left join users as o on mb.owner = o.id"
+ " left join systemusers as su on mb.systemUser = su.id"
+ " where mb.owner=?)"
+ " union "
+ "(select {mb.*}, {d.*}, {o.*}, {su.*}"
+ " where mb.owner=?"
+ " union"
+ " select {mb.*}, {d.*}, {o.*}, {su.*}"
+ " from mailboxes as mb"
+ " left join domains as d on mb.domain = d.id"
+ " left join users as o on mb.owner = o.id"
+ " left join systemusers as su on mb.systemUser = su.id"
+ " where d.owner=?)"
+ HibernateUtil.formOrderClause(sortingKeys, sortKeysSql),
+ " where d.owner=?"
+ HibernateUtil.formOrderClause(sortingKeys, sortKeys),
new String[] { "mb", "d", "o", "su" },
new Class[] { Mailbox.class, InetDomain.class, User.class, SystemUser.class },
new Object[] { editor, editor },
526,11 → 526,11
public static final Integer SORT_LOGIN = new Integer(1);
public static final Integer SORT_DOMAIN = new Integer(2);
 
protected static Map sortKeysSql = new HashMap();
protected static Map sortKeys = new HashMap();
 
static {
sortKeysSql.put(SORT_LOGIN, "login0_");
sortKeysSql.put(SORT_DOMAIN, "name1_");
sortKeys.put(SORT_LOGIN, "login0_");
sortKeys.put(SORT_DOMAIN, "name1_");
}
 
public static final Comparator LOGIN_COMPARATOR = new LoginComparator();
/hostadmiral/trunk/src/ak/hostadmiral/core/model/SystemUserManager.java
3,7 → 3,6
import java.util.*;
import net.sf.hibernate.*;
import net.sf.hibernate.type.Type;
import ak.hostadmiral.util.CollectionInfo;
import ak.hostadmiral.util.HibernateUtil;
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.util.ModelSecurityException;
305,39 → 304,15
public Collection listSystemUsers(User editor)
throws ModelException
{
return listSystemUsers(null, 0, 0, null, editor);
}
 
public Collection listSystemUsers(CollectionInfo info, int rowsPerPage, int pageNumber,
Integer[] sortingKeys, User editor)
throws ModelException
{
try {
if(editor.isSuperuser()) {
if(info != null) {
info.init(((Integer)HibernateUtil.currentSession().iterate(
"select count(*) from SystemUser").next()).intValue(),
pageNumber, rowsPerPage);
}
 
return HibernateUtil.pageableList(rowsPerPage, pageNumber,
"select u from SystemUser u left join fetch u.owner"
+ HibernateUtil.formOrderClause(sortingKeys, sortKeys), null, null);
return HibernateUtil.currentSession().find(
"select u from SystemUser u left join fetch u.owner");
}
else {
if(info != null) {
info.init(((Integer)HibernateUtil.currentSession().iterate(
"select count(*) from SystemUser where owner is null or owner = ?",
editor, Hibernate.entity(User.class))
.next()).intValue(),
pageNumber, rowsPerPage);
}
 
return HibernateUtil.pageableList(rowsPerPage, pageNumber,
"select u from SystemUser u left join u.owner o"
+ " where u.owner is null or u.owner = ?"
+ HibernateUtil.formOrderClause(sortingKeys, sortKeys),
new Object[] { editor }, new Type[] { Hibernate.entity(User.class) } );
return HibernateUtil.currentSession().find(
"select u from SystemUser u left join u.owner o where o is null or o=?",
editor, Hibernate.entity(User.class));
}
}
catch(HibernateException ex)
417,16 → 392,6
}
}
 
public static final Integer SORT_UID = new Integer(1);
public static final Integer SORT_NAME = new Integer(2);
 
protected static Map sortKeys = new HashMap();
 
static {
sortKeys.put(SORT_UID, "u.uid");
sortKeys.put(SORT_NAME, "u.name");
}
 
public static final Comparator UID_COMPARATOR = new UidComparator();
public static final Comparator NAME_COMPARATOR = new NameComparator();
 
/hostadmiral/trunk/src/ak/hostadmiral/core/model/MailAliasManager.java
3,7 → 3,7
import java.util.*;
import net.sf.hibernate.*;
import net.sf.hibernate.type.Type;
import ak.hostadmiral.util.CollectionInfo;
import ak.hostadmiral.util.CollectionUtils;
import ak.hostadmiral.util.HibernateUtil;
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.util.ModelSecurityException;
274,61 → 274,24
public Collection listMailAliases(User editor)
throws ModelException
{
return listMailAliases(null, 0, 0, null, editor);
}
 
public Collection listMailAliases(CollectionInfo info, int rowsPerPage, int pageNumber,
Integer[] sortingKeys, User editor)
throws ModelException
{
try {
if(editor.isSuperuser()) {
if(info != null) {
info.init(((Integer)HibernateUtil.currentSession().iterate(
"select count(*) from MailAlias").next()).intValue(),
pageNumber, rowsPerPage);
}
 
return HibernateUtil.pageableList(rowsPerPage, pageNumber,
if(editor.isSuperuser())
return HibernateUtil.currentSession().find(
"select a from MailAlias a left join fetch a.domain as d"
+ " left join fetch a.owner"
+ HibernateUtil.formOrderClause(sortingKeys, sortKeys), null, null);
}
else {
if(info != null) {
List countlist = HibernateUtil.sqlQuery(
"select count(*) from ("
+ " select a.id from mailaliases a"
+ " where a.owner=?"
+ " union"
+ " select a.id from mailaliases a"
+ " left join domains as d on a.domain = d.id"
+ " where d.owner=?"
+ ") as count_table",
new Object[] { editor.getId(), editor.getId() });
 
info.init(((Long)countlist.get(0)).intValue(),
pageNumber, rowsPerPage);
}
 
return HibernateUtil.pageableListSql(rowsPerPage, pageNumber,
"(select {a.*}, {d.*}, {o.*}"
+ " from mailaliases as a"
+ " left join domains as d on a.domain = d.id"
+ " left join users as o on a.owner = o.id"
+ " where a.owner=?)"
+ " union "
+ "(select {a.*}, {d.*}, {o.*}"
+ " from mailaliases as a"
+ " left join domains as d on a.domain = d.id"
+ " left join users as o on a.owner = o.id"
+ " where d.owner=?)"
+ HibernateUtil.formOrderClause(sortingKeys, sortKeysSql),
new String[] { "a", "d", "o" },
new Class[] { MailAlias.class, InetDomain.class, User.class },
new Object[] { editor, editor },
new Type[] { Hibernate.entity(User.class), Hibernate.entity(User.class) });
}
+ " left join fetch a.owner");
else
// FIXME: any problems for big lists or by pages?
return CollectionUtils.addUnique(
HibernateUtil.currentSession().find(
"select a from MailAlias a left join fetch a.domain as d"
+ " left join fetch a.owner"
+ " where d.owner=?",
new Object[] { editor }, new Type[] { Hibernate.entity(User.class) } ),
HibernateUtil.currentSession().find(
"select a from MailAlias a left join fetch a.domain as d"
+ " left join fetch a.owner"
+ " where a.owner=?",
new Object[] { editor }, new Type[] { Hibernate.entity(User.class) } ));
}
catch(HibernateException ex)
{
459,23 → 422,6
return cascade;
}
 
public static final Integer SORT_ADDRESS = new Integer(1);
public static final Integer SORT_DOMAIN = new Integer(2);
 
protected static Map sortKeys = new HashMap();
 
static {
sortKeys.put(SORT_ADDRESS, "a.address");
sortKeys.put(SORT_DOMAIN, "d.name");
}
 
protected static Map sortKeysSql = new HashMap();
 
static {
sortKeysSql.put(SORT_ADDRESS, "address0_");
sortKeysSql.put(SORT_DOMAIN, "name1_");
}
 
public static final Comparator ADDRESS_COMPARATOR = new AddressComparator();
 
private static class AddressComparator
/hostadmiral/trunk/src/ak/hostadmiral/core/model/UserManager.java
3,7 → 3,6
import java.util.*;
import net.sf.hibernate.*;
import net.sf.hibernate.type.Type;
import ak.hostadmiral.util.CollectionInfo;
import ak.hostadmiral.util.HibernateUtil;
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.util.ModelSecurityException;
287,38 → 286,14
public Collection listUsers(User editor)
throws ModelException
{
return listUsers(null, 0, 0, null, editor);
}
 
public Collection listUsers(CollectionInfo info, int rowsPerPage, int pageNumber,
Integer[] sortingKeys, User editor)
throws ModelException
{
try {
if(editor.isSuperuser()) {
if(info != null) {
info.init(((Integer)HibernateUtil.currentSession().iterate(
"select count(*) from User").next()).intValue(),
pageNumber, rowsPerPage);
}
 
return HibernateUtil.pageableList(rowsPerPage, pageNumber,
"select u from User u left join fetch u.boss"
+ HibernateUtil.formOrderClause(sortingKeys, sortKeys), null, null);
return HibernateUtil.currentSession().find(
"select u from User u left join fetch u.boss");
}
else {
if(info != null) {
info.init(((Integer)HibernateUtil.currentSession().iterate(
"select count(*) from User u where u = ? or u.boss = ?",
new Object[] { editor, editor},
new Type[] { Hibernate.entity(User.class), Hibernate.entity(User.class) }
).next()).intValue(),
pageNumber, rowsPerPage);
}
 
return HibernateUtil.pageableList(rowsPerPage, pageNumber,
"select u from User u left join fetch u.boss where u = ? or u.boss = ?"
+ HibernateUtil.formOrderClause(sortingKeys, sortKeys),
return HibernateUtil.currentSession().find(
"select u from User u where u = ? or u.boss = ?",
new Object[] { editor, editor},
new Type[] { Hibernate.entity(User.class), Hibernate.entity(User.class) } );
}
444,14 → 419,6
}
}
 
public static final Integer SORT_LOGIN = new Integer(1);
 
protected static Map sortKeys = new HashMap();
 
static {
sortKeys.put(SORT_LOGIN, "u.login");
}
 
public static final Comparator LOGIN_COMPARATOR = new LoginComparator();
public static final Comparator LOGINS_TIME_COMPARATOR = new LoginsTimeComparator();
 
/hostadmiral/trunk/src/ak/hostadmiral/core/model/InetDomainManager.java
3,7 → 3,6
import java.util.*;
import net.sf.hibernate.*;
import net.sf.hibernate.type.Type;
import ak.hostadmiral.util.CollectionInfo;
import ak.hostadmiral.util.HibernateUtil;
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.util.ModelSecurityException;
267,39 → 266,14
public Collection listInetDomains(User editor)
throws ModelException
{
return listInetDomains(null, 0, 0, null, editor);
}
 
public Collection listInetDomains(CollectionInfo info, int rowsPerPage, int pageNumber,
Integer[] sortingKeys, User editor)
throws ModelException
{
try {
if(editor.isSuperuser()) {
if(info != null) {
info.init(((Integer)HibernateUtil.currentSession().iterate(
"select count(*) from InetDomain").next()).intValue(),
pageNumber, rowsPerPage);
}
 
 
return HibernateUtil.pageableList(rowsPerPage, pageNumber,
"select d from InetDomain d left join fetch d.owner"
+ HibernateUtil.formOrderClause(sortingKeys, sortKeys), null, null);
}
else {
if(info != null) {
info.init(((Integer)HibernateUtil.currentSession().iterate(
"select count(*) from InetDomain where d.owner=?",
editor, Hibernate.entity(User.class)).next()).intValue(),
pageNumber, rowsPerPage);
}
 
return HibernateUtil.pageableList(rowsPerPage, pageNumber,
"select d from InetDomain d where d.owner=?"
+ HibernateUtil.formOrderClause(sortingKeys, sortKeys),
new Object[] { editor }, new Type[] { Hibernate.entity(User.class) } );
}
if(editor.isSuperuser())
return HibernateUtil.currentSession().find(
"select d from InetDomain d left join fetch d.owner");
else
return HibernateUtil.currentSession().find(
"select d from InetDomain d where d.owner=?",
editor, Hibernate.entity(User.class));
}
catch(HibernateException ex)
{
378,14 → 352,6
}
}
 
public static final Integer SORT_NAME = new Integer(1);
 
protected static Map sortKeys = new HashMap();
 
static {
sortKeys.put(SORT_NAME, "d.name");
}
 
public static final Comparator NAME_COMPARATOR = new NameComparator();
 
private static class NameComparator
/hostadmiral/trunk/src/ak/hostadmiral/core/taglib/list/PageIterateTag.java
34,18 → 34,6
this.infoProperty = infoProperty;
}
 
protected int max = 0;
 
public String getMax()
{
return Integer.toString(this.max);
}
 
public void setMax(String max)
{
this.max = Integer.parseInt(max);
}
 
protected int displayPage;
 
public int getDisplayPage()
62,9 → 50,8
 
public int doStartTag() throws JspException
{
displayPage = 0;
collectionInfo = findCollectionInfo();
displayPage = (max == 0) ? 0
: Math.max(0, collectionInfo.getCurrentPage() - max/2);
 
if(collectionInfo == null) return SKIP_BODY;
 
82,19 → 69,10
bodyContent.clearBody();
}
 
displayPage++;
 
if(max == 0 && displayPage < collectionInfo.getTotalPages()) {
if(++displayPage < collectionInfo.getTotalPages())
return EVAL_BODY_TAG;
}
else if(max > 0 && displayPage < collectionInfo.getTotalPages()
&& displayPage < collectionInfo.getCurrentPage() + max/2)
{
return EVAL_BODY_TAG;
}
else {
else
return SKIP_BODY;
}
}
 
public int doEndTag() throws JspException
114,6 → 92,5
super.release();
infoBean = null;
infoProperty = null;
max = 0;
}
}
/hostadmiral/trunk/src/ak/hostadmiral/core/action/MailAliasAction.java
1,7 → 1,6
package ak.hostadmiral.core.action;
 
import java.util.List;
import java.util.Collection;
import java.util.Iterator;
import java.util.Collections;
import java.util.ArrayList;
27,7 → 26,6
 
import ak.hostadmiral.util.StringConverter;
import ak.hostadmiral.util.UserException;
import ak.hostadmiral.util.CollectionInfo;
import ak.hostadmiral.core.CoreResources;
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserManager;
44,8 → 42,6
extends Action
implements ErrorHandlerX
{
public static final int PAGE_SIZE = 20;
 
public void handleErrors(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
64,16 → 60,9
ActionUtils.prepare(request, response);
User user = (User)request.getSession().getAttribute("user");
if("list".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
Long page = StringConverter.parseLong(theForm.get("pg"));
CollectionInfo listInfo = new CollectionInfo();
Collection list = MailAliasManager.getInstance().listMailAliases(
listInfo, PAGE_SIZE, (page == null) ? 0 : page.intValue(),
new Integer[] { MailAliasManager.SORT_DOMAIN, MailAliasManager.SORT_ADDRESS },
user);
 
request.setAttribute("aliases", list);
request.setAttribute("listInfo", listInfo);
List list = new ArrayList(MailAliasManager.getInstance().listMailAliases(user));
Collections.sort(list, MailAliasManager.ADDRESS_COMPARATOR);
request.setAttribute("aliases", list);
request.setAttribute("allowedToCreate",
Boolean.valueOf(MailAliasManager.getInstance().allowedToCreate(user)));
 
/hostadmiral/trunk/src/ak/hostadmiral/core/action/SystemUserAction.java
1,7 → 1,6
package ak.hostadmiral.core.action;
 
import java.util.List;
import java.util.Collection;
import java.util.Collections;
import java.util.ArrayList;
import java.util.HashSet;
24,7 → 23,6
 
import ak.hostadmiral.util.StringConverter;
import ak.hostadmiral.util.UserException;
import ak.hostadmiral.util.CollectionInfo;
import ak.hostadmiral.core.CoreResources;
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserManager;
35,8 → 33,6
extends Action
implements ErrorHandlerX
{
public static final int PAGE_SIZE = 20;
 
public void handleErrors(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
56,15 → 52,9
User user = (User)request.getSession().getAttribute("user");
 
if("list".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
Long page = StringConverter.parseLong(theForm.get("pg"));
CollectionInfo listInfo = new CollectionInfo();
Collection list = SystemUserManager.getInstance().listSystemUsers(
listInfo, PAGE_SIZE, (page == null) ? 0 : page.intValue(),
new Integer[] { SystemUserManager.SORT_NAME }, user);
 
request.setAttribute("users", list);
request.setAttribute("listInfo", listInfo);
List list = new ArrayList(SystemUserManager.getInstance().listSystemUsers(user));
Collections.sort(list, SystemUserManager.NAME_COMPARATOR);
request.setAttribute("users", list);
request.setAttribute("allowedToCreate",
Boolean.valueOf(SystemUserManager.getInstance().allowedToCreate(user)));
 
/hostadmiral/trunk/src/ak/hostadmiral/core/action/InetDomainAction.java
1,7 → 1,6
package ak.hostadmiral.core.action;
 
import java.util.List;
import java.util.Collection;
import java.util.Collections;
import java.util.ArrayList;
import java.util.HashSet;
24,7 → 23,6
 
import ak.hostadmiral.util.StringConverter;
import ak.hostadmiral.util.UserException;
import ak.hostadmiral.util.CollectionInfo;
import ak.hostadmiral.core.CoreResources;
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserManager;
35,8 → 33,6
extends Action
implements ErrorHandlerX
{
public static final int PAGE_SIZE = 20;
 
public void handleErrors(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
56,15 → 52,9
User user = (User)request.getSession().getAttribute("user");
 
if("list".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
Long page = StringConverter.parseLong(theForm.get("pg"));
CollectionInfo listInfo = new CollectionInfo();
Collection list = InetDomainManager.getInstance().listInetDomains(
listInfo, PAGE_SIZE, (page == null) ? 0 : page.intValue(),
new Integer[] { InetDomainManager.SORT_NAME }, user);
 
request.setAttribute("domains", list);
request.setAttribute("listInfo", listInfo);
List list = new ArrayList(InetDomainManager.getInstance().listInetDomains(user));
Collections.sort(list, InetDomainManager.NAME_COMPARATOR);
request.setAttribute("domains", list);
request.setAttribute("allowedToCreate",
Boolean.valueOf(InetDomainManager.getInstance().allowedToCreate(user)));
 
/hostadmiral/trunk/src/ak/hostadmiral/core/action/UserAction.java
1,7 → 1,6
package ak.hostadmiral.core.action;
 
import java.util.List;
import java.util.Collection;
import java.util.Collections;
import java.util.ArrayList;
import java.util.HashSet;
24,7 → 23,6
 
import ak.hostadmiral.util.StringConverter;
import ak.hostadmiral.util.UserException;
import ak.hostadmiral.util.CollectionInfo;
import ak.hostadmiral.core.CoreResources;
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserManager;
33,8 → 31,6
extends Action
implements ErrorHandlerX
{
public static final int PAGE_SIZE = 20;
 
public void handleErrors(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
72,15 → 68,9
User user = (User)request.getSession().getAttribute("user");
 
if("list".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
Long page = StringConverter.parseLong(theForm.get("pg"));
CollectionInfo listInfo = new CollectionInfo();
Collection list = UserManager.getInstance().listUsers(
listInfo, PAGE_SIZE, (page == null) ? 0 : page.intValue(),
new Integer[] { UserManager.SORT_LOGIN }, user);
 
request.setAttribute("users", list);
request.setAttribute("listInfo", listInfo);
List list = new ArrayList(UserManager.getInstance().listUsers(user));
Collections.sort(list, UserManager.LOGIN_COMPARATOR);
request.setAttribute("users", list);
request.setAttribute("allowedToCreate",
Boolean.valueOf(UserManager.getInstance().allowedToCreate(user)));
request.setAttribute("mayViewAllLogins", Boolean.valueOf(user.mayViewAllLogins()));
/hostadmiral/trunk/src/ak/hostadmiral/util/HibernateUtil.java
216,31 → 216,6
}
}
 
public static List pageableList(int pageSize, int pageNumber,
String query, Object[] values, Type[] types)
throws ModelException
{
try {
Query hq = currentSession().createQuery(query);
 
if(values != null && types != null) {
for(int i = 0; i < values.length; i++)
hq.setParameter(i, values[i], types[i]);
}
 
if(pageSize > 0) {
hq.setFirstResult(pageSize * pageNumber);
hq.setMaxResults(pageSize);
}
 
return hq.list();
}
catch(HibernateException ex)
{
throw new ModelException(ex);
}
}
 
protected static List selectFirstClassColumn(List list)
throws ModelException
{
/hostadmiral/trunk/webapp/mail/box/list.jsp
85,9 → 85,9
<list:hasprev infoBean="listInfo"><list:prevpage infoBean="listInfo">&lt;</list:prevpage></list:hasprev>
<list:noprev infoBean="listInfo">&lt;</list:noprev>
 
<list:iterate infoBean="listInfo" max="20">
<list:iterate infoBean="listInfo">
<list:iscurrent>
<list:displaypage />
<list:pagelink>[<list:displaypage />]</list:pagelink>
</list:iscurrent>
<list:notcurrent>
<list:pagelink><list:displaypage /></list:pagelink>
/hostadmiral/trunk/webapp/mail/alias/list.jsp
5,8 → 5,6
<%@ taglib uri="/WEB-INF/ak-backpath.tld" prefix="backpath" %>
<%@ taglib uri="/WEB-INF/ak-strutsx.tld" prefix="strutsx" %>
<%@ taglib uri="/WEB-INF/hostadmiral-core.tld" prefix="core" %>
<%@ taglib uri="/WEB-INF/hostadmiral-list.tld" prefix="list" %>
<backpath:init backPathIgnore="pg" />
<html>
 
<head>
79,33 → 77,6
</logic:iterate>
</table>
 
<p>
List size: <bean:write name="listInfo" property="size" />
Page: <list:currentpage infoBean="listInfo" /> of <bean:write name="listInfo" property="totalPages" />
</p>
<p>
<list:hasfirst infoBean="listInfo"><list:firstpage infoBean="listInfo">&lt;&lt;</list:firstpage></list:hasfirst>
<list:nofirst infoBean="listInfo">&lt;&lt;</list:nofirst>
 
<list:hasprev infoBean="listInfo"><list:prevpage infoBean="listInfo">&lt;</list:prevpage></list:hasprev>
<list:noprev infoBean="listInfo">&lt;</list:noprev>
 
<list:iterate infoBean="listInfo" max="20">
<list:iscurrent>
<list:displaypage />
</list:iscurrent>
<list:notcurrent>
<list:pagelink><list:displaypage /></list:pagelink>
</list:notcurrent>
</list:iterate>
 
<list:hasnext infoBean="listInfo"><list:nextpage infoBean="listInfo">&gt;</list:nextpage></list:hasnext>
<list:nonext infoBean="listInfo">&gt;</list:nonext>
 
<list:haslast infoBean="listInfo"><list:lastpage infoBean="listInfo">&gt;&gt;</list:lastpage></list:haslast>
<list:nolast infoBean="listInfo">&gt;&gt;</list:nolast>
</p>
 
<logic:equal name="allowedToCreate" value="true">
<backpath:link action="/mail/alias/edit"><bean:message key="ak.hostadmiral.page.mail.alias.list.add" /></backpath:link>
</logic:equal>
113,7 → 84,7
<br>
<backpath:backlink><bean:message key="ak.hostadmiral.page.mail.alias.list.back" /></backpath:backlink>
 
<p>
<p>
<bean:message key="ak.hostadmiral.page.general.version" />:
<bean:write name="projectVersion" />
</p>
/hostadmiral/trunk/webapp/WEB-INF/hostadmiral-list.tld
660,11 → 660,6
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>max</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
 
<tag>
/hostadmiral/trunk/webapp/WEB-INF/struts-config.xml
22,12 → 22,6
</form-bean>
 
<form-bean
name="UserListForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="pg" type="java.lang.String" />
</form-bean>
 
<form-bean
name="UserForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="id" type="java.lang.String" />
61,12 → 55,6
</form-bean>
 
<form-bean
name="SystemUserListForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="pg" type="java.lang.String" />
</form-bean>
 
<form-bean
name="SystemUserForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="id" type="java.lang.String" />
84,12 → 72,6
</form-bean>
 
<form-bean
name="InetDomainListForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="pg" type="java.lang.String" />
</form-bean>
 
<form-bean
name="InetDomainForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="id" type="java.lang.String" />
134,12 → 116,6
</form-bean>
 
<form-bean
name="MailAliasListForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="pg" type="java.lang.String" />
</form-bean>
 
<form-bean
name="MailAliasForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="id" type="java.lang.String" />
260,9 → 236,6
path="/user/list"
type="ak.hostadmiral.core.action.UserAction"
parameter="list"
name="UserListForm"
validate="true"
scope="request"
>
<forward name="default" path="/user/list.jsp" />
</action>
339,9 → 312,6
path="/user/system/list"
type="ak.hostadmiral.core.action.SystemUserAction"
parameter="list"
name="SystemUserListForm"
validate="true"
scope="request"
>
<forward name="default" path="/user/system/list.jsp" />
</action>
396,9 → 366,6
path="/domain/list"
type="ak.hostadmiral.core.action.InetDomainAction"
parameter="list"
name="InetDomainListForm"
validate="true"
scope="request"
>
<forward name="default" path="/domain/list.jsp" />
</action>
510,9 → 477,6
path="/mail/alias/list"
type="ak.hostadmiral.core.action.MailAliasAction"
parameter="list"
name="MailAliasListForm"
validate="true"
scope="request"
>
<forward name="default" path="/mail/alias/list.jsp" />
</action>
/hostadmiral/trunk/webapp/WEB-INF/validation.xml
30,12 → 30,6
</field>
</form>
 
<form name="UserListForm">
<field property="pg" depends="integer">
<msg name="integer" key="ak.hostadmiral.page.general.page.wrong" />
</field>
</form>
 
<form name="UserForm">
<field property="id" depends="long">
<msg name="long" key="ak.hostadmiral.core.user.id.wrong" />
74,12 → 68,6
</field>
</form>
 
<form name="SystemUserListForm">
<field property="pg" depends="integer">
<msg name="integer" key="ak.hostadmiral.page.general.page.wrong" />
</field>
</form>
 
<form name="SystemUserForm">
<field property="id" depends="long">
<msg name="long" key="ak.hostadmiral.core.user.system.edit.id.wrong" />
102,12 → 90,6
</field>
</form>
 
<form name="InetDomainListForm">
<field property="pg" depends="integer">
<msg name="integer" key="ak.hostadmiral.page.general.page.wrong" />
</field>
</form>
 
<form name="InetDomainForm">
<field property="id" depends="long">
<msg name="long" key="ak.hostadmiral.core.domain.edit.id.wrong" />
128,8 → 110,8
</form>
 
<form name="MailboxListForm">
<field property="pg" depends="integer">
<msg name="integer" key="ak.hostadmiral.page.general.page.wrong" />
<field property="pg" depends="long">
<msg name="long" key="ak.hostadmiral.page.general.page.wrong" />
</field>
</form>
 
159,12 → 141,6
</field>
</form>
 
<form name="MailAliasListForm">
<field property="pg" depends="integer">
<msg name="integer" key="ak.hostadmiral.page.general.page.wrong" />
</field>
</form>
 
<form name="MailAliasForm">
<field property="id" depends="long">
<msg name="long" key="ak.hostadmiral.core.mail.alias.edit.id.wrong" />
/hostadmiral/trunk/webapp/domain/list.jsp
5,8 → 5,6
<%@ taglib uri="/WEB-INF/ak-backpath.tld" prefix="backpath" %>
<%@ taglib uri="/WEB-INF/ak-strutsx.tld" prefix="strutsx" %>
<%@ taglib uri="/WEB-INF/hostadmiral-core.tld" prefix="core" %>
<%@ taglib uri="/WEB-INF/hostadmiral-list.tld" prefix="list" %>
<backpath:init backPathIgnore="pg" />
<html>
 
<head>
72,33 → 70,6
</logic:iterate>
</table>
 
<p>
List size: <bean:write name="listInfo" property="size" />
Page: <list:currentpage infoBean="listInfo" /> of <bean:write name="listInfo" property="totalPages" />
</p>
<p>
<list:hasfirst infoBean="listInfo"><list:firstpage infoBean="listInfo">&lt;&lt;</list:firstpage></list:hasfirst>
<list:nofirst infoBean="listInfo">&lt;&lt;</list:nofirst>
 
<list:hasprev infoBean="listInfo"><list:prevpage infoBean="listInfo">&lt;</list:prevpage></list:hasprev>
<list:noprev infoBean="listInfo">&lt;</list:noprev>
 
<list:iterate infoBean="listInfo" max="20">
<list:iscurrent>
<list:displaypage />
</list:iscurrent>
<list:notcurrent>
<list:pagelink><list:displaypage /></list:pagelink>
</list:notcurrent>
</list:iterate>
 
<list:hasnext infoBean="listInfo"><list:nextpage infoBean="listInfo">&gt;</list:nextpage></list:hasnext>
<list:nonext infoBean="listInfo">&gt;</list:nonext>
 
<list:haslast infoBean="listInfo"><list:lastpage infoBean="listInfo">&gt;&gt;</list:lastpage></list:haslast>
<list:nolast infoBean="listInfo">&gt;&gt;</list:nolast>
</p>
 
<logic:equal name="allowedToCreate" value="true">
<backpath:link action="/domain/edit"><bean:message key="ak.hostadmiral.page.domain.list.add" /></backpath:link>
</logic:equal>
/hostadmiral/trunk/webapp/user/system/list.jsp
5,8 → 5,6
<%@ taglib uri="/WEB-INF/ak-backpath.tld" prefix="backpath" %>
<%@ taglib uri="/WEB-INF/ak-strutsx.tld" prefix="strutsx" %>
<%@ taglib uri="/WEB-INF/hostadmiral-core.tld" prefix="core" %>
<%@ taglib uri="/WEB-INF/hostadmiral-list.tld" prefix="list" %>
<backpath:init backPathIgnore="pg" />
<html>
 
<head>
81,33 → 79,6
</logic:iterate>
</table>
 
<p>
List size: <bean:write name="listInfo" property="size" />
Page: <list:currentpage infoBean="listInfo" /> of <bean:write name="listInfo" property="totalPages" />
</p>
<p>
<list:hasfirst infoBean="listInfo"><list:firstpage infoBean="listInfo">&lt;&lt;</list:firstpage></list:hasfirst>
<list:nofirst infoBean="listInfo">&lt;&lt;</list:nofirst>
 
<list:hasprev infoBean="listInfo"><list:prevpage infoBean="listInfo">&lt;</list:prevpage></list:hasprev>
<list:noprev infoBean="listInfo">&lt;</list:noprev>
 
<list:iterate infoBean="listInfo" max="20">
<list:iscurrent>
<list:displaypage />
</list:iscurrent>
<list:notcurrent>
<list:pagelink><list:displaypage /></list:pagelink>
</list:notcurrent>
</list:iterate>
 
<list:hasnext infoBean="listInfo"><list:nextpage infoBean="listInfo">&gt;</list:nextpage></list:hasnext>
<list:nonext infoBean="listInfo">&gt;</list:nonext>
 
<list:haslast infoBean="listInfo"><list:lastpage infoBean="listInfo">&gt;&gt;</list:lastpage></list:haslast>
<list:nolast infoBean="listInfo">&gt;&gt;</list:nolast>
</p>
 
<logic:equal name="allowedToCreate" value="true">
<backpath:link action="/user/system/edit"><bean:message key="ak.hostadmiral.page.user.system.list.add" /></backpath:link>
</logic:equal>
115,7 → 86,7
<br>
<backpath:backlink><bean:message key="ak.hostadmiral.page.user.system.list.back" /></backpath:backlink>
 
<p>
<p>
<bean:message key="ak.hostadmiral.page.general.version" />:
<bean:write name="projectVersion" />
</p>
/hostadmiral/trunk/webapp/user/list.jsp
5,8 → 5,6
<%@ taglib uri="/WEB-INF/ak-backpath.tld" prefix="backpath" %>
<%@ taglib uri="/WEB-INF/ak-strutsx.tld" prefix="strutsx" %>
<%@ taglib uri="/WEB-INF/hostadmiral-core.tld" prefix="core" %>
<%@ taglib uri="/WEB-INF/hostadmiral-list.tld" prefix="list" %>
<backpath:init backPathIgnore="pg" />
<html>
 
<head>
89,33 → 87,6
</logic:iterate>
</table>
 
<p>
List size: <bean:write name="listInfo" property="size" />
Page: <list:currentpage infoBean="listInfo" /> of <bean:write name="listInfo" property="totalPages" />
</p>
<p>
<list:hasfirst infoBean="listInfo"><list:firstpage infoBean="listInfo">&lt;&lt;</list:firstpage></list:hasfirst>
<list:nofirst infoBean="listInfo">&lt;&lt;</list:nofirst>
 
<list:hasprev infoBean="listInfo"><list:prevpage infoBean="listInfo">&lt;</list:prevpage></list:hasprev>
<list:noprev infoBean="listInfo">&lt;</list:noprev>
 
<list:iterate infoBean="listInfo" max="20">
<list:iscurrent>
<list:displaypage />
</list:iscurrent>
<list:notcurrent>
<list:pagelink><list:displaypage /></list:pagelink>
</list:notcurrent>
</list:iterate>
 
<list:hasnext infoBean="listInfo"><list:nextpage infoBean="listInfo">&gt;</list:nextpage></list:hasnext>
<list:nonext infoBean="listInfo">&gt;</list:nonext>
 
<list:haslast infoBean="listInfo"><list:lastpage infoBean="listInfo">&gt;&gt;</list:lastpage></list:haslast>
<list:nolast infoBean="listInfo">&gt;&gt;</list:nolast>
</p>
 
<logic:equal name="allowedToCreate" value="true">
<backpath:link action="/user/edit"><bean:message key="ak.hostadmiral.page.user.list.add" /></backpath:link>
<br>
126,7 → 97,7
</logic:equal>
<backpath:backlink><bean:message key="ak.hostadmiral.page.user.list.back" /></backpath:backlink>
 
<p>
<p>
<bean:message key="ak.hostadmiral.page.general.version" />:
<bean:write name="projectVersion" />
</p>