Author: tchemit Date: 2012-01-17 19:00:35 +0100 (Tue, 17 Jan 2012) New Revision: 288 Url: http://forge.codelutin.com/repositories/revision/echobase/288 Log: use PagerBean dfrom nuiton-utils Removed: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/Pager.java Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/GetExportQueryResult.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/GetUsers.java Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-01-17 17:56:39 UTC (rev 287) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-01-17 18:00:35 UTC (rev 288) @@ -41,8 +41,10 @@ import org.nuiton.topia.framework.TopiaQuery; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.util.PagerUtil; import org.nuiton.util.beans.BeanMonitor; import org.nuiton.util.beans.PropertyDiff; +import org.nuiton.util.csv.ExportModel; import org.nuiton.util.csv.ExportableColumn; import org.nuiton.util.csv.ImportExportModel; import org.nuiton.util.csv.ImportableColumn; @@ -86,7 +88,7 @@ //TODO Use an object to filter datas public Map<?, ?>[] getDatas(EchoBaseEntityEnum entityType, - Pager pager, + PagerUtil.PagerBean pager, String sidx, Boolean ascendantOrder) { @@ -113,7 +115,7 @@ } public <E extends TopiaEntity> List<E> getEntities(TableMeta tableMeta, - Pager pager, + PagerUtil.PagerBean pager, String sidx, Boolean ascendantOrder, String extraWhereQuery) { @@ -132,18 +134,18 @@ if (pager != null) { pager.setRecords(count); - pager.computeIndexesAndPageCount(); + PagerUtil.computeRecordIndexesAndPagesNumber(pager); - int from = pager.getStartIndex(); - int to = pager.getEndIndex(); + int from = pager.getRecordStartIndex(); + int to = pager.getRecordEndIndex(); if (log.isDebugEnabled()) { log.debug("Count = " + count); - log.debug("page = " + pager.getPageNumber()); + log.debug("page = " + pager.getPageIndex()); log.debug("pageSize = " + pager.getPageSize()); log.debug("from = " + from); log.debug("to = " + to); - log.debug("pageCount= " + pager.getPageCount()); + log.debug("pageCount= " + pager.getPagesNumber()); } if (StringUtils.isNotEmpty(sidx)) { @@ -176,7 +178,7 @@ try { TopiaDAO<?> dao = getDAO(entityEnum.getContract()); TopiaEntity entity = dao.findByTopiaId(topiaId); - ImportExportModel<TopiaEntity> model = buildForLoad(tableMeta, TopiaEntity.TOPIA_ID, true); + ExportModel<TopiaEntity> model = buildForLoad(tableMeta, TopiaEntity.TOPIA_ID, true); return loadRow(entity, model); } catch (TopiaException eee) { throw new EchoBaseTechnicalException("Could not obtain data", eee); @@ -364,7 +366,7 @@ protected <E extends TopiaEntity> Map<String, Object> loadRow( E entity, - ImportExportModel<E> loadModel) { + ExportModel<E> loadModel) { Map<String, Object> row = Maps.newLinkedHashMap(); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java 2012-01-17 17:56:39 UTC (rev 287) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java 2012-01-17 18:00:35 UTC (rev 288) @@ -36,6 +36,7 @@ import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaSQLQuery; import org.nuiton.topia.persistence.TopiaDAO; +import org.nuiton.util.PagerUtil; import org.nuiton.util.csv.Export; import java.sql.Connection; @@ -108,7 +109,7 @@ } } - public Map<String, Object>[] executeSql(String sql, Pager pager) { + public Map<String, Object>[] executeSql(String sql, PagerUtil.PagerBean pager) { // get a query to count all rows for the request GenericSQLQuery sqlQuery = new GenericSQLQuery(sql, pager); @@ -171,9 +172,9 @@ private final String sql; - private final Pager pager; + private final PagerUtil.PagerBean pager; - public GenericSQLQuery(String sql, Pager pager) { + public GenericSQLQuery(String sql, PagerUtil.PagerBean pager) { this.sql = sql; this.pager = pager; } @@ -225,7 +226,7 @@ log.info("For request " + sql + ", nb rows = " + nbRows); } pager.setRecords(nbRows); - pager.computeIndexesAndPageCount(); + PagerUtil.computeRecordIndexesAndPagesNumber(pager); } } @@ -236,8 +237,8 @@ // get row number (getRow() begins at 1) int rowNumber = set.getRow() - 1; - if (rowNumber < pager.getStartIndex() || - rowNumber >= pager.getEndIndex()) { + if (rowNumber < pager.getRecordStartIndex() || + rowNumber >= pager.getRecordEndIndex()) { // out of pager bound, by returning null // result will not be take in account Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/Pager.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/Pager.java 2012-01-17 17:56:39 UTC (rev 287) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/Pager.java 2012-01-17 18:00:35 UTC (rev 288) @@ -1,109 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 Ifremer, Codelutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ -package fr.ifremer.echobase.services; - -import org.apache.commons.lang3.tuple.Pair; -import org.nuiton.util.PagerUtil; - -import java.io.Serializable; - -/** - * A simple pager bean. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.1 - */ -public class Pager implements Serializable { - - private static final long serialVersionUID = 1L; - - protected int records; - - protected int startIndex; - - protected int endIndex; - - protected int pageNumber; - - protected int pageSize; - - protected int pageCount; - - public int getRecords() { - return records; - } - - public int getStartIndex() { - return startIndex; - } - - public int getEndIndex() { - return endIndex; - } - - public int getPageNumber() { - return pageNumber; - } - - public int getPageSize() { - return pageSize; - } - - public int getPageCount() { - return pageCount; - } - - public void setRecords(int records) { - this.records = records; - } - - public void setStartIndex(int startIndex) { - this.startIndex = startIndex; - } - - public void setEndIndex(int endIndex) { - this.endIndex = endIndex; - } - - public void setPageNumber(int pageNumber) { - this.pageNumber = pageNumber; - } - - public void setPageSize(int pageSize) { - this.pageSize = pageSize; - } - - public void setPageCount(int pageCount) { - this.pageCount = pageCount; - } - - public void computeIndexesAndPageCount() { - Pair<Integer, Integer> pageBound = - PagerUtil.getPageBound(records, pageNumber, pageSize); - startIndex = pageBound.getLeft(); - endIndex = pageBound.getRight(); - pageCount = PagerUtil.getTotalPage(records, pageSize); - } - -} Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java 2012-01-17 17:56:39 UTC (rev 287) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java 2012-01-17 18:00:35 UTC (rev 288) @@ -32,6 +32,7 @@ import org.apache.commons.lang3.StringUtils; import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaQuery; +import org.nuiton.util.PagerUtil; import org.nuiton.util.StringUtil; import java.util.List; @@ -54,7 +55,7 @@ return getUsers(null); } - public List<EchoBaseUser> getUsers(Pager pager) { + public List<EchoBaseUser> getUsers(PagerUtil.PagerBean pager) { try { List<EchoBaseUser> users; @@ -67,9 +68,9 @@ // get user count long count = dao.count(); pager.setRecords((int) count); - pager.computeIndexesAndPageCount(); + PagerUtil.computeRecordIndexesAndPagesNumber(pager); TopiaQuery query = dao.createQuery("e"); - query.setLimit(pager.getStartIndex(), pager.getEndIndex() - 1); + query.setLimit(pager.getRecordStartIndex(), pager.getRecordEndIndex() - 1); users = dao.findAllByQuery(query); } return users; Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.java 2012-01-17 17:56:39 UTC (rev 287) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.java 2012-01-17 18:00:35 UTC (rev 288) @@ -23,10 +23,10 @@ */ package fr.ifremer.echobase.ui.actions; -import fr.ifremer.echobase.services.Pager; import org.apache.commons.lang3.StringUtils; import org.apache.struts2.json.JSONException; import org.apache.struts2.json.JSONUtil; +import org.nuiton.util.PagerUtil; /** * Abstract JSON action with pagination support. @@ -46,7 +46,7 @@ public abstract Integer getRecords(); - protected Pager pager = new Pager(); + protected PagerUtil.PagerBean pager = PagerUtil.newPagerBean(); // sorting order - asc or desc protected String sord; @@ -61,7 +61,7 @@ } public void setPage(Integer page) { - pager.setPageNumber(page); + pager.setPageIndex(page); } public String getSord() { Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java 2012-01-17 17:56:39 UTC (rev 287) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java 2012-01-17 18:00:35 UTC (rev 288) @@ -65,12 +65,12 @@ @Override public Integer getPage() { - return pager.getPageNumber(); + return pager.getPageIndex(); } @Override public Integer getTotal() { - return pager.getPageCount(); + return pager.getPagesNumber(); } @Override Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/GetExportQueryResult.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/GetExportQueryResult.java 2012-01-17 17:56:39 UTC (rev 287) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/GetExportQueryResult.java 2012-01-17 18:00:35 UTC (rev 288) @@ -59,12 +59,12 @@ @Override public Integer getPage() { - return pager.getPageNumber(); + return pager.getPageIndex(); } @Override public Integer getTotal() { - return pager.getPageCount(); + return pager.getPagesNumber(); } @Override Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/GetUsers.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/GetUsers.java 2012-01-17 17:56:39 UTC (rev 287) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/GetUsers.java 2012-01-17 18:00:35 UTC (rev 288) @@ -54,12 +54,12 @@ @Override public Integer getPage() { - return pager.getPageNumber(); + return pager.getPageIndex(); } @Override public Integer getTotal() { - return pager.getPageCount(); + return pager.getPagesNumber(); } @Override