You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2012/05/08 10:13:02 UTC
svn commit: r1335375 - in
/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages:
./ panels/
Author: fmartelli
Date: Tue May 8 08:13:02 2012
New Revision: 1335375
URL: http://svn.apache.org/viewvc?rev=1335375&view=rev
Log:
SYNCOPE-80 #comment the same problem - more or less - has been solved for users as well
Modified:
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Tasks.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Users.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationTasks.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PropagationTasks.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResultSetPanel.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SchedTasks.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasks.java
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Tasks.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Tasks.java?rev=1335375&r1=1335374&r2=1335375&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Tasks.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Tasks.java Tue May 8 08:13:02 2012
@@ -33,7 +33,9 @@ import org.apache.syncope.console.pages.
import org.apache.syncope.console.pages.panels.SyncTasks;
import org.apache.syncope.console.rest.TaskRestClient;
import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
+import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable;
import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.model.AbstractReadOnlyModel;
@@ -96,6 +98,7 @@ public class Tasks extends BasePage {
public IModel<TaskExecTO> model(final TaskExecTO taskExecution) {
return new AbstractReadOnlyModel<TaskExecTO>() {
+
private static final long serialVersionUID = 7485475149862342421L;
@Override
@@ -124,8 +127,8 @@ public class Tasks extends BasePage {
private Class<T> reference;
- public TasksProvider(final TaskRestClient restClient, final int paginatorRows, final String id,
- final Class<T> reference) {
+ public TasksProvider(
+ final TaskRestClient restClient, final int paginatorRows, final String id, final Class<T> reference) {
super();
@@ -156,8 +159,8 @@ public class Tasks extends BasePage {
}
});
- ((SchedTaskTO) task).setLastExec(task.getExecutions().get(task.getExecutions().size() - 1)
- .getStartDate());
+ ((SchedTaskTO) task).setLastExec(task.getExecutions().get(task.getExecutions().size() - 1).
+ getStartDate());
}
tasks.add(task);
}
@@ -176,4 +179,30 @@ public class Tasks extends BasePage {
return new CompoundPropertyModel<T>(object);
}
}
+
+ /**
+ * Update task table.
+ *
+ * @param columns columns.
+ * @param dataProvider data provider.
+ * @param container container.
+ * @param currentPage current page index.
+ * @return data table.
+ */
+ public static AjaxFallbackDefaultDataTable<TaskTO> updateTaskTable(
+ final List<IColumn<TaskTO>> columns,
+ final TasksProvider dataProvider,
+ final WebMarkupContainer container,
+ final int currentPage) {
+
+ final AjaxFallbackDefaultDataTable table = new AjaxFallbackDefaultDataTable<TaskTO>(
+ "datatable", columns, dataProvider, dataProvider.paginatorRows);
+
+ table.setCurrentPage(currentPage);
+ table.setOutputMarkupId(true);
+
+ container.addOrReplace(table);
+
+ return table;
+ }
}
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Users.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Users.java?rev=1335375&r1=1335374&r2=1335375&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Users.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Users.java Tue May 8 08:13:02 2012
@@ -81,8 +81,8 @@ public class Users extends BasePage {
editModalWin.show(target);
}
};
- MetaDataRoleAuthorizationStrategy.authorize(createLink, ENABLE, xmlRolesReader.getAllAllowedRoles("Users",
- "create"));
+ MetaDataRoleAuthorizationStrategy.authorize(
+ createLink, ENABLE, xmlRolesReader.getAllAllowedRoles("Users", "create"));
add(createLink);
setWindowClosedReloadCallback(editModalWin);
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationTasks.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationTasks.java?rev=1335375&r1=1335374&r2=1335375&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationTasks.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationTasks.java Tue May 8 08:13:02 2012
@@ -40,12 +40,14 @@ import org.apache.wicket.model.ResourceM
import org.apache.wicket.request.http.WebResponse;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.apache.syncope.client.to.NotificationTaskTO;
+import org.apache.syncope.client.to.PropagationTaskTO;
import org.apache.syncope.client.to.TaskTO;
import org.apache.syncope.client.validation.SyncopeClientCompositeErrorException;
import org.apache.syncope.console.commons.Constants;
import org.apache.syncope.console.commons.PreferenceManager;
import org.apache.syncope.console.commons.XMLRolesReader;
import org.apache.syncope.console.pages.NotificationTaskModalPage;
+import org.apache.syncope.console.pages.Tasks;
import org.apache.syncope.console.pages.Tasks.TasksProvider;
import org.apache.syncope.console.rest.TaskRestClient;
import org.apache.syncope.console.wicket.markup.html.form.ActionLink;
@@ -76,14 +78,22 @@ public class NotificationTasks extends P
@SpringBean
protected XMLRolesReader xmlRolesReader;
+ private final List<IColumn<TaskTO>> columns;
+
+ private AjaxFallbackDefaultDataTable<TaskTO> table;
+
public NotificationTasks(String id) {
super(id);
+ container = new WebMarkupContainer("container");
+ container.setOutputMarkupId(true);
+ add(container);
+
add(window = new ModalWindow("taskWin"));
paginatorRows = prefMan.getPaginatorRows(getWebRequest(), Constants.PREF_NOTIFICATION_TASKS_PAGINATOR_ROWS);
- List<IColumn<TaskTO>> columns = new ArrayList<IColumn<TaskTO>>();
+ columns = new ArrayList<IColumn<TaskTO>>();
columns.add(new PropertyColumn(new ResourceModel("id"), "id", "id"));
columns.add(new PropertyColumn(new ResourceModel("sender"), "sender", "sender"));
@@ -169,14 +179,13 @@ public class NotificationTasks extends P
}
});
- final AjaxFallbackDefaultDataTable<TaskTO> table = new AjaxFallbackDefaultDataTable<TaskTO>("datatable",
- columns, new TasksProvider(restClient, paginatorRows, getId(), NotificationTaskTO.class), paginatorRows);
+ table = Tasks.updateTaskTable(
+ columns,
+ new TasksProvider(restClient, paginatorRows, getId(), NotificationTaskTO.class),
+ container,
+ 0);
- container = new WebMarkupContainer("container");
container.add(table);
- container.setOutputMarkupId(true);
-
- add(container);
window.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
@@ -212,7 +221,11 @@ public class NotificationTasks extends P
prefMan.set(getWebRequest(), (WebResponse) getResponse(),
Constants.PREF_NOTIFICATION_TASKS_PAGINATOR_ROWS, String.valueOf(paginatorRows));
- table.setItemsPerPage(paginatorRows);
+ table = Tasks.updateTaskTable(
+ columns,
+ new TasksProvider(restClient, paginatorRows, getId(), NotificationTaskTO.class),
+ container,
+ table == null ? 0 : table.getCurrentPage());
target.add(container);
}
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PropagationTasks.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PropagationTasks.java?rev=1335375&r1=1335374&r2=1335375&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PropagationTasks.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PropagationTasks.java Tue May 8 08:13:02 2012
@@ -47,6 +47,7 @@ import org.apache.syncope.console.common
import org.apache.syncope.console.commons.PreferenceManager;
import org.apache.syncope.console.commons.XMLRolesReader;
import org.apache.syncope.console.pages.PropagationTaskModalPage;
+import org.apache.syncope.console.pages.Tasks;
import org.apache.syncope.console.pages.Tasks.TasksProvider;
import org.apache.syncope.console.rest.TaskRestClient;
import org.apache.syncope.console.wicket.markup.html.form.ActionLink;
@@ -80,14 +81,22 @@ public class PropagationTasks extends Pa
@SpringBean
protected XMLRolesReader xmlRolesReader;
+ private final List<IColumn<TaskTO>> columns;
+
+ private AjaxFallbackDefaultDataTable<TaskTO> table;
+
public PropagationTasks(final String id) {
super(id);
+ container = new WebMarkupContainer("container");
+ container.setOutputMarkupId(true);
+ add(container);
+
add(window = new ModalWindow("taskWin"));
paginatorRows = prefMan.getPaginatorRows(getWebRequest(), Constants.PREF_PROPAGATION_TASKS_PAGINATOR_ROWS);
- List<IColumn<TaskTO>> columns = new ArrayList<IColumn<TaskTO>>();
+ columns = new ArrayList<IColumn<TaskTO>>();
columns.add(new PropertyColumn(new ResourceModel("id"), "id", "id"));
@@ -179,14 +188,11 @@ public class PropagationTasks extends Pa
}
});
- final AjaxFallbackDefaultDataTable<TaskTO> table = new AjaxFallbackDefaultDataTable<TaskTO>("datatable",
- columns, new TasksProvider(restClient, paginatorRows, getId(), PropagationTaskTO.class), paginatorRows);
-
- container = new WebMarkupContainer("container");
- container.add(table);
- container.setOutputMarkupId(true);
-
- add(container);
+ table = Tasks.updateTaskTable(
+ columns,
+ new TasksProvider(restClient, paginatorRows, getId(), PropagationTaskTO.class),
+ container,
+ 0);
window.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
@@ -210,8 +216,8 @@ public class PropagationTasks extends Pa
Form paginatorForm = new Form("PaginatorForm");
- final DropDownChoice rowsChooser = new DropDownChoice("rowsChooser", new PropertyModel(this, "paginatorRows"),
- prefMan.getPaginatorChoices());
+ final DropDownChoice rowsChooser = new DropDownChoice(
+ "rowsChooser", new PropertyModel(this, "paginatorRows"), prefMan.getPaginatorChoices());
rowsChooser.add(new AjaxFormComponentUpdatingBehavior("onchange") {
@@ -222,7 +228,11 @@ public class PropagationTasks extends Pa
prefMan.set(getWebRequest(), (WebResponse) getResponse(),
Constants.PREF_PROPAGATION_TASKS_PAGINATOR_ROWS, String.valueOf(paginatorRows));
- table.setItemsPerPage(paginatorRows);
+ table = Tasks.updateTaskTable(
+ columns,
+ new TasksProvider(restClient, paginatorRows, getId(), PropagationTaskTO.class),
+ container,
+ table == null ? 0 : table.getCurrentPage());
target.add(container);
}
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResultSetPanel.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResultSetPanel.java?rev=1335375&r1=1335374&r2=1335375&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResultSetPanel.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResultSetPanel.java Tue May 8 08:13:02 2012
@@ -145,9 +145,8 @@ public class ResultSetPanel extends Pane
final private FeedbackPanel feedbackPanel;
/**
- * Specify if results are about a filtered search or not. Using this
- * attribute it is possible to use this panel to show results about user
- * list and user search.
+ * Specify if results are about a filtered search or not. Using this attribute it is possible to use this panel to
+ * show results about user list and user search.
*/
private boolean filtered;
@@ -167,8 +166,7 @@ public class ResultSetPanel extends Pane
private UserDataProvider dataProvider;
/**
- * Modal window to be used for user profile editing. Global visibility is
- * required ...
+ * Modal window to be used for user profile editing. Global visibility is required ...
*/
private final ModalWindow editmodal = new ModalWindow("editModal");
@@ -226,13 +224,14 @@ public class ResultSetPanel extends Pane
// Result table initialization
// ---------------------------
// preferences and container must be not null to use it ...
+ rows = preferences.getPaginatorRows(getRequest(), Constants.PREF_USERS_PAGINATOR_ROWS);
updateResultTable(false);
// ---------------------------
// ---------------------------
// Link to select schemas/columns to be shown
// ---------------------------
- AjaxLink displayAttrsLink = new IndicatingAjaxLink("displayAttrsLink") {
+ final AjaxLink displayAttrsLink = new IndicatingAjaxLink("displayAttrsLink") {
private static final long serialVersionUID = -7978723352517770644L;
@@ -272,8 +271,8 @@ public class ResultSetPanel extends Pane
}
});
- MetaDataRoleAuthorizationStrategy.authorize(displayAttrsLink, ENABLE, xmlRolesReader.getAllAllowedRoles(
- "Users", "changeView"));
+ MetaDataRoleAuthorizationStrategy.authorize(
+ displayAttrsLink, ENABLE, xmlRolesReader.getAllAllowedRoles("Users", "changeView"));
container.add(displayAttrsLink);
// ---------------------------
@@ -284,8 +283,8 @@ public class ResultSetPanel extends Pane
final Form paginatorForm = new Form("paginator");
container.add(paginatorForm);
- final DropDownChoice<Integer> rowsChooser = new DropDownChoice<Integer>("rowsChooser", new PropertyModel(this,
- "rows"), preferences.getPaginatorChoices());
+ final DropDownChoice<Integer> rowsChooser = new DropDownChoice<Integer>(
+ "rowsChooser", new PropertyModel(this, "rows"), preferences.getPaginatorChoices());
rowsChooser.add(new AjaxFormComponentUpdatingBehavior("onchange") {
@@ -297,6 +296,7 @@ public class ResultSetPanel extends Pane
final EventDataWrapper data = new EventDataWrapper();
data.setTarget(target);
+ data.setRows(rows);
send(getParent(), Broadcast.BREADTH, data);
}
@@ -317,16 +317,17 @@ public class ResultSetPanel extends Pane
}
private void updateResultTable(final boolean create) {
- // Requires preferences/container attributes not null ...
- rows = preferences.getPaginatorRows(getRequest(), Constants.PREF_USERS_PAGINATOR_ROWS);
+ updateResultTable(create, rows);
+ }
+ private void updateResultTable(final boolean create, final int rows) {
dataProvider = new UserDataProvider(userRestClient, rows, filtered);
dataProvider.setSearchCond(filter);
final int currentPage = resultTable != null
? (create
- ? resultTable.getPageCount() - 1
- : resultTable.getCurrentPage())
+ ? resultTable.getPageCount() - 1
+ : resultTable.getCurrentPage())
: 0;
resultTable = new AjaxFallbackDefaultDataTable<UserTO>("resultTable", getColumns(), dataProvider, rows);
@@ -480,11 +481,14 @@ public class ResultSetPanel extends Pane
if (event.getPayload() instanceof EventDataWrapper) {
final EventDataWrapper data = (EventDataWrapper) event.getPayload();
- final AjaxRequestTarget target = data.getTarget();
- updateResultTable(data.isCreate());
-
- target.add(container);
+ if (data.getRows() < 1) {
+ updateResultTable(data.isCreate());
+ } else {
+ updateResultTable(data.isCreate(), data.getRows());
+ }
+
+ data.getTarget().add(container);
}
}
@@ -497,6 +501,7 @@ public class ResultSetPanel extends Pane
public void onClose(final AjaxRequestTarget target) {
final EventDataWrapper data = new EventDataWrapper();
data.setTarget(target);
+ data.setRows(rows);
send(getParent(), Broadcast.BREADTH, data);
@@ -518,6 +523,8 @@ public class ResultSetPanel extends Pane
private boolean create;
+ private int rows;
+
public AjaxRequestTarget getTarget() {
return target;
}
@@ -533,5 +540,13 @@ public class ResultSetPanel extends Pane
public void setCreate(boolean create) {
this.create = create;
}
+
+ public int getRows() {
+ return rows;
+ }
+
+ public void setRows(int rows) {
+ this.rows = rows;
+ }
}
}
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SchedTasks.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SchedTasks.java?rev=1335375&r1=1335374&r2=1335375&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SchedTasks.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SchedTasks.java Tue May 8 08:13:02 2012
@@ -45,6 +45,7 @@ import org.apache.wicket.model.ResourceM
import org.apache.wicket.request.http.WebResponse;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.apache.syncope.client.to.SchedTaskTO;
+import org.apache.syncope.client.to.TaskTO;
import org.apache.syncope.client.validation.SyncopeClientCompositeErrorException;
import org.apache.syncope.console.commons.Constants;
import org.apache.syncope.console.commons.PreferenceManager;
@@ -80,6 +81,10 @@ public class SchedTasks extends Panel {
@SpringBean
protected XMLRolesReader xmlRolesReader;
+ private final List<IColumn<TaskTO>> columns;
+
+ private AjaxFallbackDefaultDataTable<TaskTO> table;
+
public SchedTasks(final String id, final PageReference callerPageRef) {
super(id);
@@ -99,7 +104,7 @@ public class SchedTasks extends Panel {
paginatorRows = prefMan.getPaginatorRows(getWebRequest(), Constants.PREF_SCHED_TASKS_PAGINATOR_ROWS);
- List<IColumn<SchedTaskTO>> columns = new ArrayList<IColumn<SchedTaskTO>>();
+ columns = new ArrayList<IColumn<TaskTO>>();
columns.add(new PropertyColumn(new ResourceModel("id"), "id", "id"));
@@ -111,7 +116,7 @@ public class SchedTasks extends Panel {
columns.add(new PropertyColumn(new ResourceModel("latestExecStatus"), "latestExecStatus", "latestExecStatus"));
- columns.add(new AbstractColumn<SchedTaskTO>(new ResourceModel("actions", "")) {
+ columns.add(new AbstractColumn<TaskTO>(new ResourceModel("actions", "")) {
private static final long serialVersionUID = 2054811145491901166L;
@@ -121,10 +126,10 @@ public class SchedTasks extends Panel {
}
@Override
- public void populateItem(final Item<ICellPopulator<SchedTaskTO>> cellItem, final String componentId,
- final IModel<SchedTaskTO> model) {
+ public void populateItem(final Item<ICellPopulator<TaskTO>> cellItem, final String componentId,
+ final IModel<TaskTO> model) {
- final SchedTaskTO taskTO = model.getObject();
+ final SchedTaskTO taskTO = (SchedTaskTO) model.getObject();
final ActionLinksPanel panel = new ActionLinksPanel(componentId, model);
@@ -206,9 +211,12 @@ public class SchedTasks extends Panel {
}
});
- final AjaxFallbackDefaultDataTable<SchedTaskTO> table = new AjaxFallbackDefaultDataTable<SchedTaskTO>(
- "datatable", columns, new TasksProvider(restClient, paginatorRows, getId(), SchedTaskTO.class),
- paginatorRows);
+ table = Tasks.updateTaskTable(
+ columns,
+ new TasksProvider(restClient, paginatorRows, getId(), SchedTaskTO.class),
+ container,
+ 0);
+
container.add(table);
Form paginatorForm = new Form("PaginatorForm");
@@ -225,7 +233,11 @@ public class SchedTasks extends Panel {
prefMan.set(getWebRequest(), (WebResponse) getResponse(), Constants.PREF_SCHED_TASKS_PAGINATOR_ROWS,
String.valueOf(paginatorRows));
- table.setItemsPerPage(paginatorRows);
+ table = Tasks.updateTaskTable(
+ columns,
+ new TasksProvider(restClient, paginatorRows, getId(), SchedTaskTO.class),
+ container,
+ table == null ? 0 : table.getCurrentPage());
target.add(container);
}
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasks.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasks.java?rev=1335375&r1=1335374&r2=1335375&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasks.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasks.java Tue May 8 08:13:02 2012
@@ -20,6 +20,20 @@ package org.apache.syncope.console.pages
import java.util.ArrayList;
import java.util.List;
+import org.apache.syncope.client.to.SyncTaskTO;
+import org.apache.syncope.client.to.TaskTO;
+import org.apache.syncope.client.validation.SyncopeClientCompositeErrorException;
+import org.apache.syncope.console.commons.Constants;
+import org.apache.syncope.console.commons.PreferenceManager;
+import org.apache.syncope.console.commons.XMLRolesReader;
+import org.apache.syncope.console.pages.SyncTaskModalPage;
+import org.apache.syncope.console.pages.Tasks;
+import org.apache.syncope.console.pages.Tasks.TasksProvider;
+import org.apache.syncope.console.pages.UserTemplateModalPage;
+import org.apache.syncope.console.rest.TaskRestClient;
+import org.apache.syncope.console.wicket.extensions.markup.html.repeater.data.table.DatePropertyColumn;
+import org.apache.syncope.console.wicket.markup.html.form.ActionLink;
+import org.apache.syncope.console.wicket.markup.html.form.ActionLinksPanel;
import org.apache.wicket.Page;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -43,19 +57,6 @@ import org.apache.wicket.model.PropertyM
import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.request.http.WebResponse;
import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.apache.syncope.client.to.SyncTaskTO;
-import org.apache.syncope.client.validation.SyncopeClientCompositeErrorException;
-import org.apache.syncope.console.commons.Constants;
-import org.apache.syncope.console.commons.PreferenceManager;
-import org.apache.syncope.console.commons.XMLRolesReader;
-import org.apache.syncope.console.pages.SyncTaskModalPage;
-import org.apache.syncope.console.pages.Tasks;
-import org.apache.syncope.console.pages.Tasks.TasksProvider;
-import org.apache.syncope.console.pages.UserTemplateModalPage;
-import org.apache.syncope.console.rest.TaskRestClient;
-import org.apache.syncope.console.wicket.extensions.markup.html.repeater.data.table.DatePropertyColumn;
-import org.apache.syncope.console.wicket.markup.html.form.ActionLink;
-import org.apache.syncope.console.wicket.markup.html.form.ActionLinksPanel;
public class SyncTasks extends Panel {
@@ -80,6 +81,10 @@ public class SyncTasks extends Panel {
@SpringBean
protected XMLRolesReader xmlRolesReader;
+ private final List<IColumn<TaskTO>> columns;
+
+ private AjaxFallbackDefaultDataTable<TaskTO> table;
+
public SyncTasks(String id, final PageReference callerPageRef) {
super(id);
@@ -98,7 +103,7 @@ public class SyncTasks extends Panel {
paginatorRows = prefMan.getPaginatorRows(getWebRequest(), Constants.PREF_SYNC_TASKS_PAGINATOR_ROWS);
- List<IColumn<SyncTaskTO>> columns = new ArrayList<IColumn<SyncTaskTO>>();
+ columns = new ArrayList<IColumn<TaskTO>>();
columns.add(new PropertyColumn(new ResourceModel("id"), "id", "id"));
@@ -110,7 +115,7 @@ public class SyncTasks extends Panel {
columns.add(new PropertyColumn(new ResourceModel("latestExecStatus"), "latestExecStatus", "latestExecStatus"));
- columns.add(new AbstractColumn<SyncTaskTO>(new ResourceModel("actions", "")) {
+ columns.add(new AbstractColumn<TaskTO>(new ResourceModel("actions", "")) {
private static final long serialVersionUID = 2054811145491901166L;
@@ -120,10 +125,10 @@ public class SyncTasks extends Panel {
}
@Override
- public void populateItem(final Item<ICellPopulator<SyncTaskTO>> cellItem, final String componentId,
- final IModel<SyncTaskTO> model) {
+ public void populateItem(final Item<ICellPopulator<TaskTO>> cellItem, final String componentId,
+ final IModel<TaskTO> model) {
- final SyncTaskTO taskTO = model.getObject();
+ final SyncTaskTO taskTO = (SyncTaskTO) model.getObject();
final ActionLinksPanel panel = new ActionLinksPanel(componentId, model);
@@ -226,8 +231,12 @@ public class SyncTasks extends Panel {
}
});
- final AjaxFallbackDefaultDataTable<SyncTaskTO> table = new AjaxFallbackDefaultDataTable<SyncTaskTO>(
- "datatable", columns, new TasksProvider(restClient, paginatorRows, id, SyncTaskTO.class), paginatorRows);
+ table = Tasks.updateTaskTable(
+ columns,
+ new TasksProvider(restClient, paginatorRows, getId(), SyncTaskTO.class),
+ container,
+ 0);
+
container.add(table);
Form paginatorForm = new Form("PaginatorForm");
@@ -244,7 +253,11 @@ public class SyncTasks extends Panel {
prefMan.set(getWebRequest(), (WebResponse) getResponse(), Constants.PREF_SYNC_TASKS_PAGINATOR_ROWS,
String.valueOf(paginatorRows));
- table.setItemsPerPage(paginatorRows);
+ table = Tasks.updateTaskTable(
+ columns,
+ new TasksProvider(restClient, paginatorRows, getId(), SyncTaskTO.class),
+ container,
+ table == null ? 0 : table.getCurrentPage());
target.add(container);
}
@@ -274,8 +287,8 @@ public class SyncTasks extends Panel {
}
};
- MetaDataRoleAuthorizationStrategy.authorize(createLink, RENDER, xmlRolesReader.getAllAllowedRoles("Tasks",
- "create"));
+ MetaDataRoleAuthorizationStrategy.authorize(
+ createLink, RENDER, xmlRolesReader.getAllAllowedRoles("Tasks", "create"));
add(createLink);
}