From 6efbbb6ee2c7a157a7942588c3e7c2a7d7604441 Mon Sep 17 00:00:00 2001 From: jensp Date: Wed, 10 Jan 2018 16:56:23 +0000 Subject: [PATCH] CCM NG: Possible fix for missing items in FolderBrowser (see #2739). git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@5188 8810af33-2d31-482b-a856-94f89814c4df --- .../cms/ui/folder/FolderBrowser.java | 16 ++++++------ .../ui/folder/FolderBrowserController.java | 9 ++++--- .../FolderBrowserTableModelBuilder.java | 25 ++++++++++++------- .../cms/ui/folder/FolderManipulator.java | 20 +++++++-------- 4 files changed, 39 insertions(+), 31 deletions(-) diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderBrowser.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderBrowser.java index abe4d03e4..55baafb23 100755 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderBrowser.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderBrowser.java @@ -105,7 +105,7 @@ public class FolderBrowser extends Table { private StringParameter atozFilterParameter = null; private StringParameter filterParameter = null; private FolderManipulator folderManipulator; - private Paginator paginator; +// private Paginator paginator; // private FolderManipulator.FilterForm filterForm; private long folderSize; @@ -227,13 +227,13 @@ public class FolderBrowser extends Table { return folderSize; } - protected Paginator getPaginator() { - return paginator; - } - - protected void setPaginator(final Paginator paginator) { - this.paginator = paginator; - } +// protected Paginator getPaginator() { +// return paginator; +// } +// +// protected void setPaginator(final Paginator paginator) { +// this.paginator = paginator; +// } protected String getFilter(final PageState state) { return (String) state.getValue(filterParameter); diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderBrowserController.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderBrowserController.java index 794c5d244..d15777232 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderBrowserController.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderBrowserController.java @@ -291,6 +291,7 @@ public class FolderBrowserController { final String orderDirection, final int firstResult, final int maxResults) { + final List subFolders = findSubFolders(folder, filterTerm, orderBy, @@ -302,9 +303,9 @@ public class FolderBrowserController { .map(subFolder -> buildRow(subFolder)) .collect(Collectors.toList()); - if (subFolders.size() > maxResults) { - return subFolderRows; - } else { +// if (subFolders.size() >= maxResults) { +// return subFolderRows; +// } else { final int maxItems = maxResults - subFolders.size(); final int firstItem = firstResult - subFolders.size(); @@ -323,7 +324,7 @@ public class FolderBrowserController { rows.addAll(itemRows); return rows; - } +// } } /** diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderBrowserTableModelBuilder.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderBrowserTableModelBuilder.java index 9ac9fb939..e00e9903e 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderBrowserTableModelBuilder.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderBrowserTableModelBuilder.java @@ -60,7 +60,7 @@ class FolderBrowserTableModelBuilder return Table.EMPTY_MODEL; } else { folderBrowser.getRowSelectionModel().clearSelection(state); - final Paginator paginator = folderBrowser.getPaginator(); +// final Paginator paginator = folderBrowser.getPaginator(); final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final FolderBrowserController controller = cdiUtil .findBean(FolderBrowserController.class); @@ -78,8 +78,8 @@ class FolderBrowserTableModelBuilder orderDirection = folderBrowser.getSortDirection(state); } final String atozFilter = folderBrowser.getAtoZfilter(state); - final int first = paginator.getFirst(state); - final int pageSize = paginator.getPageSize(state); +// final int first = paginator.getFirst(state); +// final int pageSize = paginator.getPageSize(state); final String filterTerm; if (filter != null && !filter.trim().isEmpty()) { @@ -96,16 +96,23 @@ class FolderBrowserTableModelBuilder if (filterTerm == null) { rows = controller.getObjectRows(folder, orderBy, - orderDirection, - first - 1, - pageSize); + orderDirection); +// rows = controller.getObjectRows(folder, +// orderBy, +// orderDirection, +// first - 1, +// pageSize); } else { rows = controller.getObjectRows(folder, filterTerm, orderBy, - orderDirection, - first - 1, - pageSize); + orderDirection); +// rows = controller.getObjectRows(folder, +// filterTerm, +// orderBy, +// orderDirection, +// first - 1, +// pageSize); } LOGGER.debug("Retrieve table rows in {} ms.", diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderManipulator.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderManipulator.java index 63d026777..049573999 100755 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderManipulator.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderManipulator.java @@ -883,7 +883,7 @@ public class FolderManipulator extends SimpleContainer implements private static final String ITEM_VIEW = "itemView"; private final FolderBrowser folderBrowser; - private final Paginator paginator; +// private final Paginator paginator; private final OptionGroup checkboxGroup; private final SingleSelect actionSelect; private final Submit submit; @@ -904,11 +904,11 @@ public class FolderManipulator extends SimpleContainer implements folderBrowser.setFilterParameter(filterParam); // folderBrowser.setFilterForm(filterForm); folderBrowser.setFolderManipulator(FolderManipulator.this); - paginator = new Paginator( - new FolderBrowserPaginationModelBuilder(folderBrowser), - CMSConfig.getConfig().getFolderBrowseListSize()); - folderBrowser.setPaginator(paginator); - panel.add(paginator); +// paginator = new Paginator( +// new FolderBrowserPaginationModelBuilder(folderBrowser), +// CMSConfig.getConfig().getFolderBrowseListSize()); +// folderBrowser.setPaginator(paginator); +// panel.add(paginator); panel.add(folderBrowser); LOGGER.debug("Adding filter form..."); @@ -966,16 +966,16 @@ public class FolderManipulator extends SimpleContainer implements return folderBrowser; } - public Paginator getPaginator() { - return paginator; - } +// public Paginator getPaginator() { +// return paginator; +// } @Override public void reset(final PageState state) { checkboxGroup.setValue(state, null); actionSelect.setValue(state, null); - paginator.reset(state); +// paginator.reset(state); //state.setValue(m_aToZfilter, null); state.setValue(filterParam, null); filterForm.getFilterField().setValue(state, null);