You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by an...@apache.org on 2014/06/20 14:32:04 UTC
svn commit: r1604162 [1/2] - in /syncope/trunk:
common/src/main/java/org/apache/syncope/common/types/
console/src/main/java/org/apache/syncope/console/pages/
console/src/main/java/org/apache/syncope/console/pages/panels/
console/src/main/java/org/apach...
Author: andreapatricelli
Date: Fri Jun 20 12:32:03 2014
New Revision: 1604162
URL: http://svn.apache.org/r1604162
Log:
[SYNCOPE-473] implemented configuration interface for push tasks
Added:
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractSyncTaskModalPage.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PushTaskModalPage.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSyncTasksPanel.java
- copied, changed from r1603360, syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasks.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PushTasksPanel.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasksPanel.java
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage.html
- copied, changed from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.html
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage.properties
- copied, changed from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage_it.properties
- copied, changed from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_it.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage_pt_BR.properties
- copied, changed from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_pt_BR.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AbstractSyncTasksPanel.html
- copied, changed from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasks.html
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/PushTasksPanel.properties
- copied unchanged from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasks.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/PushTasksPanel_it.properties
- copied unchanged from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasks_it.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/PushTasksPanel_pt_BR.properties
- copied unchanged from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasks_pt_BR.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasksPanel.properties
- copied unchanged from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasks.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasksPanel_it.properties
- copied unchanged from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasks_it.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasksPanel_pt_BR.properties
- copied unchanged from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasks_pt_BR.properties
Removed:
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasks.java
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasks.html
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasks.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasks_it.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/SyncTasks_pt_BR.properties
Modified:
syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ClientExceptionType.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractSchedTaskModalPage.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchedTaskModalPage.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SyncTaskModalPage.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Tasks.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.java
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.html
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_it.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_pt_BR.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks.html
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks_it.properties
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks_pt_BR.properties
syncope/trunk/console/src/test/java/org/apache/syncope/console/AccessTestITCase.java
syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java
Modified: syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ClientExceptionType.java
URL: http://svn.apache.org/viewvc/syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ClientExceptionType.java?rev=1604162&r1=1604161&r2=1604162&view=diff
==============================================================================
--- syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ClientExceptionType.java (original)
+++ syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ClientExceptionType.java Fri Jun 20 12:32:03 2014
@@ -55,6 +55,7 @@ public enum ClientExceptionType {
InvalidPropagationTask(Response.Status.BAD_REQUEST),
InvalidSchedTask(Response.Status.BAD_REQUEST),
InvalidSyncTask(Response.Status.BAD_REQUEST),
+ InvalidPushTask(Response.Status.BAD_REQUEST),
InvalidValues(Response.Status.BAD_REQUEST),
NotFound(Response.Status.NOT_FOUND),
RejectedUserCreate(Response.Status.BAD_REQUEST),
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractSchedTaskModalPage.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractSchedTaskModalPage.java?rev=1604162&r1=1604161&r2=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractSchedTaskModalPage.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractSchedTaskModalPage.java Fri Jun 20 12:32:03 2014
@@ -19,7 +19,6 @@
package org.apache.syncope.console.pages;
import org.apache.syncope.common.to.SchedTaskTO;
-import org.apache.syncope.common.to.SyncTaskTO;
import org.apache.syncope.common.SyncopeClientException;
import org.apache.syncope.console.commons.Constants;
import org.apache.syncope.console.commons.DateFormatROModel;
@@ -84,21 +83,9 @@ public abstract class AbstractSchedTaskM
taskTO.setCronExpression(StringUtils.hasText(taskTO.getCronExpression())
? crontab.getCronExpression()
: null);
-
+
try {
- if (taskTO.getId() > 0) {
- if (taskTO instanceof SyncTaskTO) {
- taskRestClient.updateSyncTask((SyncTaskTO) taskTO);
- } else {
- taskRestClient.updateSchedTask(taskTO);
- }
- } else {
- if (taskTO instanceof SyncTaskTO) {
- taskRestClient.createSyncTask((SyncTaskTO) taskTO);
- } else {
- taskRestClient.createSchedTask(taskTO);
- }
- }
+ submitAction(taskTO);
((BasePage) pageRef.getPage()).setModalResult(true);
@@ -139,4 +126,7 @@ public abstract class AbstractSchedTaskM
form.add(submit);
form.add(cancel);
}
+
+ protected abstract void submitAction(SchedTaskTO taskTO);
+
}
Added: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractSyncTaskModalPage.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractSyncTaskModalPage.java?rev=1604162&view=auto
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractSyncTaskModalPage.java (added)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractSyncTaskModalPage.java Fri Jun 20 12:32:03 2014
@@ -0,0 +1,201 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.console.pages;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.common.to.AbstractSyncTaskTO;
+import org.apache.syncope.common.to.ResourceTO;
+import org.apache.syncope.common.to.SyncTaskTO;
+import org.apache.syncope.common.types.MatchingRule;
+import org.apache.syncope.common.types.UnmatchingRule;
+import org.apache.syncope.console.commons.Constants;
+import org.apache.syncope.console.commons.SelectChoiceRenderer;
+import org.apache.syncope.console.wicket.markup.html.form.AjaxCheckBoxPanel;
+import org.apache.syncope.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
+import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
+import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
+import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.form.DropDownChoice;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
+
+/**
+ * Abstract Modal window for Sync and Push Task form.
+ */
+public abstract class AbstractSyncTaskModalPage extends AbstractSchedTaskModalPage {
+
+ private static final long serialVersionUID = 2148403203517274669L;
+
+ public AbstractSyncTaskModalPage(final ModalWindow window, final AbstractSyncTaskTO taskTO,
+ final PageReference pageRef) {
+
+ super(window, taskTO, pageRef);
+
+ final IModel<List<String>> allResources = new LoadableDetachableModel<List<String>>() {
+
+ private static final long serialVersionUID = 5275935387613157437L;
+
+ @Override
+ protected List<String> load() {
+ final List<String> resourceNames = new ArrayList<String>();
+
+ for (ResourceTO resourceTO : resourceRestClient.getAllResources()) {
+
+ resourceNames.add(resourceTO.getName());
+ }
+ return resourceNames;
+ }
+ };
+
+ final AjaxDropDownChoicePanel<String> resource = new AjaxDropDownChoicePanel<String>("resource",
+ getString("resourceName"), new PropertyModel<String>(taskTO, "resource"));
+ resource.setChoices(allResources.getObject());
+ resource.setChoiceRenderer(new SelectChoiceRenderer());
+ resource.addRequiredLabel();
+ resource.setEnabled(taskTO.getId() == 0);
+ resource.setStyleSheet("ui-widget-content ui-corner-all long_dynamicsize");
+
+ profile.add(resource);
+
+ final WebMarkupContainer syncActionsClassNames = new WebMarkupContainer("syncActionsClassNames");
+ syncActionsClassNames.setOutputMarkupId(true);
+ profile.add(syncActionsClassNames);
+
+ final AjaxLink<Void> first = new IndicatingAjaxLink<Void>("first") {
+
+ private static final long serialVersionUID = -7978723352517770644L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ taskTO.getActionsClassNames().add(StringUtils.EMPTY);
+ setVisible(false);
+ target.add(syncActionsClassNames);
+ }
+ };
+ first.setOutputMarkupPlaceholderTag(true);
+ first.setVisible(taskTO.getActionsClassNames().isEmpty());
+ syncActionsClassNames.add(first);
+
+ final ListView<String> actionsClasses = new ListView<String>("actionsClasses",
+ new PropertyModel<List<String>>(taskTO, "actionsClassNames")) {
+
+ private static final long serialVersionUID = 9101744072914090143L;
+
+ @Override
+ protected void populateItem(final ListItem<String> item) {
+ final String className = item.getModelObject();
+
+ final DropDownChoice<String> actionsClass = new DropDownChoice<String>(
+ "actionsClass", new Model<String>(className), taskRestClient.getSyncActionsClasses());
+ actionsClass.setNullValid(true);
+ actionsClass.setRequired(true);
+ actionsClass.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_BLUR) {
+
+ private static final long serialVersionUID = -1107858522700306810L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ taskTO.getActionsClassNames().
+ set(item.getIndex(), actionsClass.getModelObject());
+ }
+ });
+ actionsClass.setRequired(true);
+ actionsClass.setOutputMarkupId(true);
+ actionsClass.setRequired(true);
+ item.add(actionsClass);
+
+ AjaxLink<Void> minus = new IndicatingAjaxLink<Void>("drop") {
+
+ private static final long serialVersionUID = -7978723352517770644L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ taskTO.getActionsClassNames().remove(className);
+ first.setVisible(taskTO.getActionsClassNames().isEmpty());
+ target.add(syncActionsClassNames);
+ }
+ };
+ item.add(minus);
+
+ final AjaxLink<Void> plus = new IndicatingAjaxLink<Void>("add") {
+
+ private static final long serialVersionUID = -7978723352517770644L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ taskTO.getActionsClassNames().add(StringUtils.EMPTY);
+ target.add(syncActionsClassNames);
+ }
+ };
+ plus.setOutputMarkupPlaceholderTag(true);
+ plus.setVisible(item.getIndex() == taskTO.getActionsClassNames().size() - 1);
+ item.add(plus);
+ }
+ };
+ syncActionsClassNames.add(actionsClasses);
+ // SYNCOPE-473: provisional, when push action classes will be implemented list will be enabled and container
+ // moved to correct class (SyncTaskModalPage or PushTaskModalPage)
+ syncActionsClassNames.setEnabled(taskTO instanceof SyncTaskTO);
+
+ final AjaxCheckBoxPanel creates = new AjaxCheckBoxPanel("performCreate", getString("creates"),
+ new PropertyModel<Boolean>(taskTO, "performCreate"));
+ profile.add(creates);
+
+ final AjaxCheckBoxPanel updates = new AjaxCheckBoxPanel("performUpdate", getString("updates"),
+ new PropertyModel<Boolean>(taskTO, "performUpdate"));
+ profile.add(updates);
+
+ final AjaxCheckBoxPanel deletes = new AjaxCheckBoxPanel("performDelete", getString("updates"),
+ new PropertyModel<Boolean>(taskTO, "performDelete"));
+ profile.add(deletes);
+
+ final AjaxCheckBoxPanel syncStatus = new AjaxCheckBoxPanel("syncStatus", getString("syncStatus"),
+ new PropertyModel<Boolean>(taskTO, "syncStatus"));
+ profile.add(syncStatus);
+
+ final AjaxDropDownChoicePanel<MatchingRule> matchingRule = new AjaxDropDownChoicePanel<MatchingRule>(
+ "matchingRule", "matchingRule", new PropertyModel<MatchingRule>(taskTO, "matchigRule"));
+ matchingRule.setChoices(Arrays.asList(MatchingRule.values()));
+ ((DropDownChoice) matchingRule.getField()).setNullValid(false);
+ ((DropDownChoice) matchingRule.getField()).setDefaultModelObject(taskTO.getMatchigRule() == null
+ ? MatchingRule.UPDATE
+ : taskTO.getMatchigRule());
+ profile.add(matchingRule);
+
+ final AjaxDropDownChoicePanel<UnmatchingRule> unmatchingRule = new AjaxDropDownChoicePanel<UnmatchingRule>(
+ "unmatchingRule", "unmatchingRule", new PropertyModel<UnmatchingRule>(taskTO, "unmatchigRule"));
+ unmatchingRule.setChoices(Arrays.asList(UnmatchingRule.values()));
+ ((DropDownChoice) unmatchingRule.getField()).setNullValid(false);
+ ((DropDownChoice) unmatchingRule.getField()).setDefaultModelObject(taskTO.getUnmatchigRule() == null
+ ? UnmatchingRule.ASSIGN
+ : taskTO.getUnmatchigRule());
+ profile.add(unmatchingRule);
+ }
+}
Added: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PushTaskModalPage.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PushTaskModalPage.java?rev=1604162&view=auto
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PushTaskModalPage.java (added)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PushTaskModalPage.java Fri Jun 20 12:32:03 2014
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.console.pages;
+
+import org.apache.syncope.common.to.PushTaskTO;
+import org.apache.syncope.common.to.SchedTaskTO;
+import org.apache.syncope.console.commons.Constants;
+import org.apache.syncope.console.pages.panels.RoleSearchPanel;
+import org.apache.syncope.console.pages.panels.UserSearchPanel;
+import org.apache.syncope.console.wicket.markup.html.form.AjaxCheckBoxPanel;
+import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
+import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.model.Model;
+
+/**
+ * Modal window with Push Task form.
+ */
+public class PushTaskModalPage extends AbstractSyncTaskModalPage {
+
+ private static final long serialVersionUID = 2148403203517274669L;
+
+ final UserSearchPanel userFilter;
+
+ final RoleSearchPanel roleFilter;
+
+ final AjaxCheckBoxPanel checkUserFilter;
+
+ final AjaxCheckBoxPanel checkRoleFilter;
+
+ public PushTaskModalPage(final ModalWindow window, final PushTaskTO taskTO, final PageReference pageRef) {
+
+ super(window, taskTO, pageRef);
+
+ final WebMarkupContainer filterContainer = new WebMarkupContainer("filterContainer");
+ filterContainer.setOutputMarkupId(true);
+
+ checkUserFilter = new AjaxCheckBoxPanel("checkUserFilter", "checkUserFilter",
+ new Model<Boolean>(taskTO.getUserFilter() != null));
+ filterContainer.add(checkUserFilter);
+
+ checkRoleFilter = new AjaxCheckBoxPanel("checkRoleFilter", "checkRoleFilter",
+ new Model<Boolean>(taskTO.getRoleFilter() != null));
+ filterContainer.add(checkRoleFilter);
+
+ userFilter =
+ new UserSearchPanel.Builder("userFilter").fiql(taskTO.getUserFilter()).build();
+ userFilter.setEnabled(checkUserFilter.getModelObject());
+
+ filterContainer.add(userFilter);
+
+ roleFilter =
+ new RoleSearchPanel.Builder("roleFilter").fiql(taskTO.getRoleFilter()).build();
+ roleFilter.setEnabled(checkRoleFilter.getModelObject());
+ filterContainer.add(roleFilter);
+
+ checkUserFilter.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
+
+ private static final long serialVersionUID = -1107858522700306810L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ userFilter.setEnabled(checkUserFilter.getModelObject());
+ target.add(filterContainer);
+ }
+ });
+
+ checkRoleFilter.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
+
+ private static final long serialVersionUID = -1107858522700306810L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ roleFilter.setEnabled(checkRoleFilter.getModelObject());
+ target.add(filterContainer);
+ }
+ });
+
+ profile.add(filterContainer);
+ }
+
+ @Override
+ public void submitAction(final SchedTaskTO taskTO) {
+ setFilters((PushTaskTO) taskTO);
+ if (taskTO.getId() > 0) {
+ taskRestClient.updateSchedTask((PushTaskTO) taskTO);
+ } else {
+ taskRestClient.createSchedTask((PushTaskTO) taskTO);
+ }
+ }
+
+ private void setFilters(final PushTaskTO pushTaskTO) {
+ // set user filter if enabled
+ pushTaskTO.setUserFilter(checkUserFilter.getModelObject()
+ ? userFilter.buildFIQL()
+ : null);
+ // set role filter if enabled
+ pushTaskTO.setRoleFilter(checkRoleFilter.getModelObject()
+ ? roleFilter.buildFIQL()
+ : null);
+ }
+
+}
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchedTaskModalPage.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchedTaskModalPage.java?rev=1604162&r1=1604161&r2=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchedTaskModalPage.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchedTaskModalPage.java Fri Jun 20 12:32:03 2014
@@ -56,4 +56,13 @@ public class SchedTaskModalPage extends
className.setStyleSheet("ui-widget-content ui-corner-all long_dynamicsize");
profile.add(className);
}
+
+ @Override
+ public void submitAction(final SchedTaskTO taskTO) {
+ if (taskTO.getId() > 0) {
+ taskRestClient.updateSchedTask(taskTO);
+ } else {
+ taskRestClient.createSchedTask(taskTO);
+ }
+ }
}
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SyncTaskModalPage.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SyncTaskModalPage.java?rev=1604162&r1=1604161&r2=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SyncTaskModalPage.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SyncTaskModalPage.java Fri Jun 20 12:32:03 2014
@@ -18,34 +18,17 @@
*/
package org.apache.syncope.console.pages;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.syncope.common.to.ResourceTO;
+import org.apache.syncope.common.to.SchedTaskTO;
import org.apache.syncope.common.to.SyncTaskTO;
-import org.apache.syncope.console.commons.Constants;
-import org.apache.syncope.console.commons.SelectChoiceRenderer;
import org.apache.syncope.console.wicket.markup.html.form.AjaxCheckBoxPanel;
-import org.apache.syncope.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.ajax.markup.html.AjaxLink;
-import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.DropDownChoice;
-import org.apache.wicket.markup.html.list.ListItem;
-import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.LoadableDetachableModel;
-import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
/**
- * Modal window with Task form (to stop and start execution).
+ * Modal window with Sync Task form.
*/
-public class SyncTaskModalPage extends AbstractSchedTaskModalPage {
+public class SyncTaskModalPage extends AbstractSyncTaskModalPage {
private static final long serialVersionUID = 2148403203517274669L;
@@ -53,127 +36,17 @@ public class SyncTaskModalPage extends A
super(window, taskTO, pageRef);
- final IModel<List<String>> allResources = new LoadableDetachableModel<List<String>>() {
-
- private static final long serialVersionUID = 5275935387613157437L;
-
- @Override
- protected List<String> load() {
- final List<String> resourceNames = new ArrayList<String>();
-
- for (ResourceTO resourceTO : resourceRestClient.getAllResources()) {
-
- resourceNames.add(resourceTO.getName());
- }
- return resourceNames;
- }
- };
-
- final AjaxDropDownChoicePanel<String> resource = new AjaxDropDownChoicePanel<String>("resource",
- getString("resourceName"), new PropertyModel<String>(taskTO, "resource"));
- resource.setChoices(allResources.getObject());
- resource.setChoiceRenderer(new SelectChoiceRenderer());
- resource.addRequiredLabel();
- resource.setEnabled(taskTO.getId() == 0);
- resource.setStyleSheet("ui-widget-content ui-corner-all long_dynamicsize");
-
- profile.add(resource);
-
- final WebMarkupContainer syncActionsClassNames = new WebMarkupContainer("syncActionsClassNames");
- syncActionsClassNames.setOutputMarkupId(true);
- profile.add(syncActionsClassNames);
-
- final AjaxLink<Void> first = new IndicatingAjaxLink<Void>("first") {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- taskTO.getActionsClassNames().add(StringUtils.EMPTY);
- setVisible(false);
- target.add(syncActionsClassNames);
- }
- };
- first.setOutputMarkupPlaceholderTag(true);
- first.setVisible(taskTO.getActionsClassNames().isEmpty());
- syncActionsClassNames.add(first);
-
- final ListView<String> actionsClasses = new ListView<String>("actionsClasses",
- new PropertyModel<List<String>>(taskTO, "actionsClassNames")) {
-
- private static final long serialVersionUID = 9101744072914090143L;
-
- @Override
- protected void populateItem(final ListItem<String> item) {
- final String className = item.getModelObject();
-
- final DropDownChoice<String> actionsClass = new DropDownChoice<String>(
- "actionsClass", new Model<String>(className), taskRestClient.getSyncActionsClasses());
- actionsClass.setNullValid(true);
- actionsClass.setRequired(true);
- actionsClass.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_BLUR) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- taskTO.getActionsClassNames().
- set(item.getIndex(), actionsClass.getModelObject());
- }
- });
- actionsClass.setRequired(true);
- actionsClass.setOutputMarkupId(true);
- actionsClass.setRequired(true);
- item.add(actionsClass);
-
- AjaxLink<Void> minus = new IndicatingAjaxLink<Void>("drop") {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- taskTO.getActionsClassNames().remove(className);
- first.setVisible(taskTO.getActionsClassNames().isEmpty());
- target.add(syncActionsClassNames);
- }
- };
- item.add(minus);
-
- final AjaxLink<Void> plus = new IndicatingAjaxLink<Void>("add") {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- taskTO.getActionsClassNames().add(StringUtils.EMPTY);
- target.add(syncActionsClassNames);
- }
- };
- plus.setOutputMarkupPlaceholderTag(true);
- plus.setVisible(item.getIndex() == taskTO.getActionsClassNames().size() - 1);
- item.add(plus);
- }
- };
- syncActionsClassNames.add(actionsClasses);
-
- final AjaxCheckBoxPanel creates = new AjaxCheckBoxPanel("performCreate", getString("creates"),
- new PropertyModel<Boolean>(taskTO, "performCreate"));
- profile.add(creates);
-
- final AjaxCheckBoxPanel updates = new AjaxCheckBoxPanel("performUpdate", getString("updates"),
- new PropertyModel<Boolean>(taskTO, "performUpdate"));
- profile.add(updates);
-
- final AjaxCheckBoxPanel deletes = new AjaxCheckBoxPanel("performDelete", getString("updates"),
- new PropertyModel<Boolean>(taskTO, "performDelete"));
- profile.add(deletes);
-
- final AjaxCheckBoxPanel syncStatus = new AjaxCheckBoxPanel("syncStatus", getString("syncStatus"),
- new PropertyModel<Boolean>(taskTO, "syncStatus"));
- profile.add(syncStatus);
-
final AjaxCheckBoxPanel fullReconciliation = new AjaxCheckBoxPanel("fullReconciliation",
getString("fullReconciliation"), new PropertyModel<Boolean>(taskTO, "fullReconciliation"));
profile.add(fullReconciliation);
}
+
+ @Override
+ public void submitAction(final SchedTaskTO taskTO) {
+ if (taskTO.getId() > 0) {
+ taskRestClient.updateSyncTask((SyncTaskTO) taskTO);
+ } else {
+ taskRestClient.createSyncTask((SyncTaskTO) taskTO);
+ }
+ }
}
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Tasks.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Tasks.java?rev=1604162&r1=1604161&r2=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Tasks.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Tasks.java Fri Jun 20 12:32:03 2014
@@ -32,7 +32,8 @@ import org.apache.syncope.console.pages.
import org.apache.syncope.console.pages.panels.NotificationTasks;
import org.apache.syncope.console.pages.panels.PropagationTasks;
import org.apache.syncope.console.pages.panels.SchedTasks;
-import org.apache.syncope.console.pages.panels.SyncTasks;
+import org.apache.syncope.console.pages.panels.PushTasksPanel;
+import org.apache.syncope.console.pages.panels.SyncTasksPanel;
import org.apache.syncope.console.rest.BaseRestClient;
import org.apache.syncope.console.rest.TaskRestClient;
import org.apache.syncope.console.wicket.markup.html.form.ActionLink;
@@ -57,7 +58,8 @@ public class Tasks extends BasePage {
add(new PropagationTasks("propagation", getPageReference()));
add(new NotificationTasks("notification", getPageReference()));
add(new SchedTasks("sched", getPageReference()));
- add(new SyncTasks("sync", getPageReference()));
+ add(new SyncTasksPanel("sync", getPageReference()));
+ add(new PushTasksPanel("push", getPageReference()));
getPageReference();
}
@@ -193,6 +195,8 @@ public class Tasks extends BasePage {
* @param dataProvider data provider.
* @param container container.
* @param currentPage current page index.
+ * @param pageRef page reference
+ * @param restClient syncope base rest client
* @return data table.
*/
public static AjaxDataTablePanel<AbstractTaskTO, String> updateTaskTable(
Copied: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSyncTasksPanel.java (from r1603360, syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasks.java)
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSyncTasksPanel.java?p2=syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSyncTasksPanel.java&p1=syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasks.java&r1=1603360&r2=1604162&rev=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasks.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSyncTasksPanel.java Fri Jun 20 12:32:03 2014
@@ -18,23 +18,17 @@
*/
package org.apache.syncope.console.pages.panels;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.syncope.common.to.SyncTaskTO;
import org.apache.syncope.common.to.AbstractTaskTO;
-import org.apache.syncope.common.SyncopeClientException;
+import org.apache.syncope.common.to.AbstractSyncTaskTO;
+import org.apache.syncope.common.to.PushTaskTO;
+import org.apache.syncope.common.to.SyncTaskTO;
import org.apache.syncope.console.commons.Constants;
-import org.apache.syncope.console.pages.RoleTemplateModalPage;
+import org.apache.syncope.console.pages.PushTaskModalPage;
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.wicket.ajax.markup.html.ClearIndicatingAjaxLink;
-import org.apache.syncope.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
-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.Component;
import org.apache.wicket.Page;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -44,32 +38,30 @@ import org.apache.wicket.authroles.autho
import org.apache.wicket.event.IEvent;
import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.StringResourceModel;
import org.apache.wicket.request.http.WebResponse;
-public class SyncTasks extends AbstractTasks {
+public abstract class AbstractSyncTasksPanel<T extends AbstractSyncTaskTO> extends AbstractTasks {
private static final long serialVersionUID = -8674781241465369244L;
private int paginatorRows;
- private WebMarkupContainer container;
+ protected WebMarkupContainer container;
+
+ protected ModalWindow window;
- private ModalWindow window;
+ protected AjaxDataTablePanel<AbstractTaskTO, String> table;
- private final List<IColumn<AbstractTaskTO, String>> columns;
+ private final Class<T> reference;
- private AjaxDataTablePanel<AbstractTaskTO, String> table;
+ public AbstractSyncTasksPanel(final String id, final PageReference pageRef, final Class<T> reference) {
+ super(id, pageRef);
- public SyncTasks(final String id, final PageReference pageRef) {
- super(id);
+ this.reference = reference;
container = new WebMarkupContainer("container");
container.setOutputMarkupId(true);
@@ -85,186 +77,28 @@ public class SyncTasks extends AbstractT
((Tasks) pageRef.getPage()).setWindowClosedCallback(window, container);
paginatorRows = prefMan.getPaginatorRows(getWebRequest(), Constants.PREF_SYNC_TASKS_PAGINATOR_ROWS);
+ }
- columns = new ArrayList<IColumn<AbstractTaskTO, String>>();
-
- columns.add(new PropertyColumn<AbstractTaskTO, String>(
- new StringResourceModel("id", this, null), "id", "id"));
- columns.add(new PropertyColumn<AbstractTaskTO, String>(
- new StringResourceModel("name", this, null), "name", "name"));
- columns.add(new PropertyColumn<AbstractTaskTO, String>(
- new StringResourceModel("description", this, null), "description", "description"));
- columns.add(new PropertyColumn<AbstractTaskTO, String>(
- new StringResourceModel("resourceName", this, null), "resource", "resource"));
- columns.add(new DatePropertyColumn<AbstractTaskTO>(
- new StringResourceModel("lastExec", this, null), "lastExec", "lastExec"));
- columns.add(new DatePropertyColumn<AbstractTaskTO>(
- new StringResourceModel("nextExec", this, null), "nextExec", "nextExec"));
- columns.add(new PropertyColumn<AbstractTaskTO, String>(
- new StringResourceModel("latestExecStatus", this, null), "latestExecStatus", "latestExecStatus"));
- columns.add(new ActionColumn<AbstractTaskTO, String>(new StringResourceModel("actions", this, null, "")) {
-
- private static final long serialVersionUID = 2054811145491901166L;
-
- @Override
- public ActionLinksPanel getActions(final String componentId, final IModel<AbstractTaskTO> model) {
-
- final SyncTaskTO taskTO = (SyncTaskTO) model.getObject();
-
- final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, pageRef);
-
- panel.add(new ActionLink() {
-
- private static final long serialVersionUID = -3722207913631435501L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
-
- window.setPageCreator(new ModalWindow.PageCreator() {
-
- private static final long serialVersionUID = -7834632442532690940L;
-
- @Override
- public Page createPage() {
- return new SyncTaskModalPage(window, taskTO, pageRef);
- }
- });
-
- window.show(target);
- }
- }, ActionLink.ActionType.EDIT, TASKS);
-
- panel.add(new ActionLink() {
-
- private static final long serialVersionUID = -3722207913631435501L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
-
- window.setPageCreator(new ModalWindow.PageCreator() {
-
- private static final long serialVersionUID = -7834632442532690940L;
-
- @Override
- public Page createPage() {
- return new UserTemplateModalPage(pageRef, window, taskTO);
- }
- });
-
- window.show(target);
- }
- }, ActionLink.ActionType.USER_TEMPLATE, TASKS);
-
- panel.add(new ActionLink() {
-
- private static final long serialVersionUID = -3722207913631435501L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
-
- window.setPageCreator(new ModalWindow.PageCreator() {
-
- private static final long serialVersionUID = -7834632442532690940L;
-
- @Override
- public Page createPage() {
- return new RoleTemplateModalPage(pageRef, window, taskTO);
- }
- });
-
- window.show(target);
- }
- }, ActionLink.ActionType.ROLE_TEMPLATE, TASKS);
-
- panel.add(new ActionLink() {
-
- private static final long serialVersionUID = -3722207913631435501L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- try {
- restClient.startExecution(taskTO.getId(), false);
- getSession().info(getString(Constants.OPERATION_SUCCEEDED));
- } catch (SyncopeClientException scce) {
- error(scce.getMessage());
- }
-
- target.add(container);
- ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
- }
- }, ActionLink.ActionType.EXECUTE, TASKS);
-
- panel.add(new ActionLink() {
-
- private static final long serialVersionUID = -3722207913631435501L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- try {
- restClient.startExecution(taskTO.getId(), true);
- getSession().info(getString(Constants.OPERATION_SUCCEEDED));
- } catch (SyncopeClientException scce) {
- error(scce.getMessage());
- }
-
- target.add(container);
- ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
- }
- }, ActionLink.ActionType.DRYRUN, TASKS);
-
- panel.add(new ActionLink() {
-
- private static final long serialVersionUID = -3722207913631435501L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- try {
- restClient.delete(taskTO.getId(), SyncTaskTO.class);
- info(getString(Constants.OPERATION_SUCCEEDED));
- } catch (SyncopeClientException scce) {
- error(scce.getMessage());
- }
- target.add(container);
- ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
- }
- }, ActionLink.ActionType.DELETE, TASKS);
-
- return panel;
- }
-
- @Override
- public Component getHeader(String componentId) {
- final ActionLinksPanel panel = new ActionLinksPanel(componentId, new Model(), pageRef);
-
- panel.add(new ActionLink() {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- if (target != null) {
- target.add(table);
- }
- }
- }, ActionLink.ActionType.RELOAD, TASKS, "list");
+ @Override
+ public void onEvent(final IEvent<?> event) {
+ if (event.getPayload() instanceof AbstractSearchResultPanel.EventDataWrapper) {
+ ((AbstractSearchResultPanel.EventDataWrapper) event.getPayload()).getTarget().add(container);
+ }
+ }
- return panel;
- }
- });
+ protected void initTasksTable() {
table = Tasks.updateTaskTable(
- columns,
- new TasksProvider<SyncTaskTO>(restClient, paginatorRows, getId(), SyncTaskTO.class),
+ getColumns(),
+ new TasksProvider<T>(restClient, paginatorRows, getId(), this.reference),
container,
0,
- pageRef,
+ this.pageRef,
restClient);
- container.add(table);
-
Form paginatorForm = new Form("PaginatorForm");
- @SuppressWarnings({"unchecked", "rawtypes"})
+ @SuppressWarnings({ "unchecked", "rawtypes" })
final DropDownChoice rowsChooser = new DropDownChoice("rowsChooser", new PropertyModel(this, "paginatorRows"),
prefMan.getPaginatorChoices());
@@ -278,8 +112,8 @@ public class SyncTasks extends AbstractT
String.valueOf(paginatorRows));
table = Tasks.updateTaskTable(
- columns,
- new TasksProvider<SyncTaskTO>(restClient, paginatorRows, getId(), SyncTaskTO.class),
+ getColumns(),
+ new TasksProvider<T>(restClient, paginatorRows, getId(), reference),
container,
table == null ? 0 : (int) table.getCurrentPage(),
pageRef,
@@ -290,9 +124,9 @@ public class SyncTasks extends AbstractT
});
paginatorForm.add(rowsChooser);
- add(paginatorForm);
+ container.add(paginatorForm);
- // create new user
+ // create new task
AjaxLink<Void> createLink = new ClearIndicatingAjaxLink<Void>("createLink", pageRef) {
private static final long serialVersionUID = -7978723352517770644L;
@@ -305,7 +139,8 @@ public class SyncTasks extends AbstractT
@Override
public Page createPage() {
- return new SyncTaskModalPage(window, new SyncTaskTO(), pageRef);
+ return reference.equals(SyncTaskTO.class) ? new SyncTaskModalPage(window, new SyncTaskTO(),
+ pageRef) : new PushTaskModalPage(window, new PushTaskTO(), pageRef);
}
});
@@ -317,12 +152,8 @@ public class SyncTasks extends AbstractT
createLink, RENDER, xmlRolesReader.getAllAllowedRoles(TASKS, "create"));
add(createLink);
- }
- @Override
- public void onEvent(final IEvent<?> event) {
- if (event.getPayload() instanceof AbstractSearchResultPanel.EventDataWrapper) {
- ((AbstractSearchResultPanel.EventDataWrapper) event.getPayload()).getTarget().add(container);
- }
}
+
+ protected abstract List<IColumn<AbstractTaskTO, String>> getColumns();
}
Added: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PushTasksPanel.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PushTasksPanel.java?rev=1604162&view=auto
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PushTasksPanel.java (added)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PushTasksPanel.java Fri Jun 20 12:32:03 2014
@@ -0,0 +1,186 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.console.pages.panels;
+
+import static org.apache.syncope.console.pages.panels.AbstractTasks.TASKS;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.syncope.common.SyncopeClientException;
+import org.apache.syncope.common.to.AbstractTaskTO;
+import org.apache.syncope.common.to.PushTaskTO;
+import org.apache.syncope.common.to.SyncTaskTO;
+import org.apache.syncope.console.commons.Constants;
+import org.apache.syncope.console.pages.PushTaskModalPage;
+import org.apache.syncope.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
+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.Component;
+import org.apache.wicket.Page;
+import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.StringResourceModel;
+
+public class PushTasksPanel extends AbstractSyncTasksPanel<PushTaskTO> {
+
+ private static final long serialVersionUID = -2492299671757861889L;
+
+ public PushTasksPanel(final String id, final PageReference pageRef) {
+ super(id, pageRef, PushTaskTO.class);
+ initTasksTable();
+ }
+
+ @Override
+ protected List<IColumn<AbstractTaskTO, String>> getColumns() {
+ final List<IColumn<AbstractTaskTO, String>> pushTasksColumns = new ArrayList<IColumn<AbstractTaskTO, String>>();
+
+ pushTasksColumns.add(new PropertyColumn<AbstractTaskTO, String>(
+ new StringResourceModel("id", this, null), "id", "id"));
+ pushTasksColumns.add(new PropertyColumn<AbstractTaskTO, String>(
+ new StringResourceModel("name", this, null), "name", "name"));
+ pushTasksColumns.add(new PropertyColumn<AbstractTaskTO, String>(
+ new StringResourceModel("description", this, null), "description", "description"));
+ pushTasksColumns.add(new PropertyColumn<AbstractTaskTO, String>(
+ new StringResourceModel("resourceName", this, null), "resource", "resource"));
+ pushTasksColumns.add(new DatePropertyColumn<AbstractTaskTO>(
+ new StringResourceModel("lastExec", this, null), "lastExec", "lastExec"));
+ pushTasksColumns.add(new DatePropertyColumn<AbstractTaskTO>(
+ new StringResourceModel("nextExec", this, null), "nextExec", "nextExec"));
+ pushTasksColumns.add(new PropertyColumn<AbstractTaskTO, String>(
+ new StringResourceModel("latestExecStatus", this, null), "latestExecStatus", "latestExecStatus"));
+
+ pushTasksColumns.add(
+ new ActionColumn<AbstractTaskTO, String>(new StringResourceModel("actions", this, null, "")) {
+
+ private static final long serialVersionUID = 2054811145491901166L;
+
+ @Override
+ public ActionLinksPanel getActions(final String componentId, final IModel<AbstractTaskTO> model) {
+
+ final PushTaskTO taskTO = (PushTaskTO) model.getObject();
+
+ final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, pageRef);
+
+ panel.add(new ActionLink() {
+
+ private static final long serialVersionUID = -3722207913631435501L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+
+ window.setPageCreator(new ModalWindow.PageCreator() {
+
+ private static final long serialVersionUID = -7834632442532690940L;
+
+ @Override
+ public Page createPage() {
+ return new PushTaskModalPage(window, taskTO, pageRef);
+ }
+ });
+
+ window.show(target);
+ }
+ }, ActionLink.ActionType.EDIT, TASKS);
+
+ panel.add(new ActionLink() {
+
+ private static final long serialVersionUID = -3722207913631435501L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ try {
+ restClient.startExecution(taskTO.getId(), false);
+ getSession().info(getString(Constants.OPERATION_SUCCEEDED));
+ } catch (SyncopeClientException scce) {
+ error(scce.getMessage());
+ }
+
+ target.add(container);
+ ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
+ }
+ }, ActionLink.ActionType.EXECUTE, TASKS);
+
+ panel.add(new ActionLink() {
+
+ private static final long serialVersionUID = -3722207913631435501L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ try {
+ restClient.startExecution(taskTO.getId(), true);
+ getSession().info(getString(Constants.OPERATION_SUCCEEDED));
+ } catch (SyncopeClientException scce) {
+ error(scce.getMessage());
+ }
+
+ target.add(container);
+ ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
+ }
+ }, ActionLink.ActionType.DRYRUN, TASKS);
+
+ panel.add(new ActionLink() {
+
+ private static final long serialVersionUID = -3722207913631435501L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ try {
+ restClient.delete(taskTO.getId(), SyncTaskTO.class);
+ info(getString(Constants.OPERATION_SUCCEEDED));
+ } catch (SyncopeClientException scce) {
+ error(scce.getMessage());
+ }
+ target.add(container);
+ ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
+ }
+ }, ActionLink.ActionType.DELETE, TASKS);
+
+ return panel;
+ }
+
+ @Override
+ public Component getHeader(final String componentId) {
+ final ActionLinksPanel panel = new ActionLinksPanel(componentId, new Model(), pageRef);
+
+ panel.add(new ActionLink() {
+
+ private static final long serialVersionUID = -7978723352517770644L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ if (target != null) {
+ target.add(table);
+ }
+ }
+ }, ActionLink.ActionType.RELOAD, TASKS, "list");
+
+ return panel;
+ }
+ });
+
+ return pushTasksColumns;
+
+ }
+}
Added: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasksPanel.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasksPanel.java?rev=1604162&view=auto
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasksPanel.java (added)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SyncTasksPanel.java Fri Jun 20 12:32:03 2014
@@ -0,0 +1,228 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.console.pages.panels;
+
+import static org.apache.syncope.console.pages.panels.AbstractTasks.TASKS;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.syncope.common.SyncopeClientException;
+import org.apache.syncope.common.to.AbstractTaskTO;
+import org.apache.syncope.common.to.SyncTaskTO;
+import org.apache.syncope.console.commons.Constants;
+import org.apache.syncope.console.pages.RoleTemplateModalPage;
+import org.apache.syncope.console.pages.SyncTaskModalPage;
+import org.apache.syncope.console.pages.UserTemplateModalPage;
+import org.apache.syncope.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
+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.Component;
+import org.apache.wicket.Page;
+import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.StringResourceModel;
+
+public class SyncTasksPanel extends AbstractSyncTasksPanel<SyncTaskTO> {
+
+ private static final long serialVersionUID = 53189199346016099L;
+
+ public SyncTasksPanel(final String id, final PageReference pageRef) {
+ super(id, pageRef, SyncTaskTO.class);
+ initTasksTable();
+ }
+
+ @Override
+ protected List<IColumn<AbstractTaskTO, String>> getColumns() {
+ final List<IColumn<AbstractTaskTO, String>> syncTaskscolumns = new ArrayList<IColumn<AbstractTaskTO, String>>();
+
+ syncTaskscolumns.add(new PropertyColumn<AbstractTaskTO, String>(
+ new StringResourceModel("id", this, null), "id", "id"));
+ syncTaskscolumns.add(new PropertyColumn<AbstractTaskTO, String>(
+ new StringResourceModel("name", this, null), "name", "name"));
+ syncTaskscolumns.add(new PropertyColumn<AbstractTaskTO, String>(
+ new StringResourceModel("description", this, null), "description", "description"));
+ syncTaskscolumns.add(new PropertyColumn<AbstractTaskTO, String>(
+ new StringResourceModel("resourceName", this, null), "resource", "resource"));
+ syncTaskscolumns.add(new DatePropertyColumn<AbstractTaskTO>(
+ new StringResourceModel("lastExec", this, null), "lastExec", "lastExec"));
+ syncTaskscolumns.add(new DatePropertyColumn<AbstractTaskTO>(
+ new StringResourceModel("nextExec", this, null), "nextExec", "nextExec"));
+ syncTaskscolumns.add(new PropertyColumn<AbstractTaskTO, String>(
+ new StringResourceModel("latestExecStatus", this, null), "latestExecStatus", "latestExecStatus"));
+
+ syncTaskscolumns.add(
+ new ActionColumn<AbstractTaskTO, String>(new StringResourceModel("actions", this, null, "")) {
+
+ private static final long serialVersionUID = 2054811145491901166L;
+
+ @Override
+ public ActionLinksPanel getActions(final String componentId, final IModel<AbstractTaskTO> model) {
+
+ final SyncTaskTO taskTO = (SyncTaskTO) model.getObject();
+
+ final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, pageRef);
+
+ panel.add(new ActionLink() {
+
+ private static final long serialVersionUID = -3722207913631435501L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+
+ window.setPageCreator(new ModalWindow.PageCreator() {
+
+ private static final long serialVersionUID = -7834632442532690940L;
+
+ @Override
+ public Page createPage() {
+ return new SyncTaskModalPage(window, taskTO, pageRef);
+ }
+ });
+
+ window.show(target);
+ }
+ }, ActionLink.ActionType.EDIT, TASKS);
+
+ panel.add(new ActionLink() {
+
+ private static final long serialVersionUID = -3722207913631435501L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+
+ window.setPageCreator(new ModalWindow.PageCreator() {
+
+ private static final long serialVersionUID = -7834632442532690940L;
+
+ @Override
+ public Page createPage() {
+ return new UserTemplateModalPage(pageRef, window, taskTO);
+ }
+ });
+
+ window.show(target);
+ }
+ }, ActionLink.ActionType.USER_TEMPLATE, TASKS);
+
+ panel.add(new ActionLink() {
+
+ private static final long serialVersionUID = -3722207913631435501L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+
+ window.setPageCreator(new ModalWindow.PageCreator() {
+
+ private static final long serialVersionUID = -7834632442532690940L;
+
+ @Override
+ public Page createPage() {
+ return new RoleTemplateModalPage(pageRef, window, taskTO);
+ }
+ });
+
+ window.show(target);
+ }
+ }, ActionLink.ActionType.ROLE_TEMPLATE, TASKS);
+
+ panel.add(new ActionLink() {
+
+ private static final long serialVersionUID = -3722207913631435501L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ try {
+ restClient.startExecution(taskTO.getId(), false);
+ getSession().info(getString(Constants.OPERATION_SUCCEEDED));
+ } catch (SyncopeClientException scce) {
+ error(scce.getMessage());
+ }
+
+ target.add(container);
+ ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
+ }
+ }, ActionLink.ActionType.EXECUTE, TASKS);
+
+ panel.add(new ActionLink() {
+
+ private static final long serialVersionUID = -3722207913631435501L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ try {
+ restClient.startExecution(taskTO.getId(), true);
+ getSession().info(getString(Constants.OPERATION_SUCCEEDED));
+ } catch (SyncopeClientException scce) {
+ error(scce.getMessage());
+ }
+
+ target.add(container);
+ ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
+ }
+ }, ActionLink.ActionType.DRYRUN, TASKS);
+
+ panel.add(new ActionLink() {
+
+ private static final long serialVersionUID = -3722207913631435501L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ try {
+ restClient.delete(taskTO.getId(), SyncTaskTO.class);
+ info(getString(Constants.OPERATION_SUCCEEDED));
+ } catch (SyncopeClientException scce) {
+ error(scce.getMessage());
+ }
+ target.add(container);
+ ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
+ }
+ }, ActionLink.ActionType.DELETE, TASKS);
+
+ return panel;
+ }
+
+ @Override
+ public Component getHeader(String componentId) {
+ final ActionLinksPanel panel = new ActionLinksPanel(componentId, new Model(), pageRef);
+
+ panel.add(new ActionLink() {
+
+ private static final long serialVersionUID = -7978723352517770644L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ if (target != null) {
+ target.add(table);
+ }
+ }
+ }, ActionLink.ActionType.RELOAD, TASKS, "list");
+
+ return panel;
+ }
+ });
+
+ return syncTaskscolumns;
+ }
+}
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.java?rev=1604162&r1=1604161&r2=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.java Fri Jun 20 12:32:03 2014
@@ -461,7 +461,7 @@ public class ActionLinksPanel extends Pa
}.feedbackPanelAutomaticReload(link.feedbackPanelAutomaticReload()));
break;
default:
- // do nothink
+ // do nothing
}
if (fragment != null) {
Copied: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage.html (from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.html)
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage.html?p2=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage.html&p1=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.html&r1=1603360&r2=1604162&rev=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage.html Fri Jun 20 12:32:03 2014
@@ -137,12 +137,52 @@ under the License.
</div>
<div class="tablerow">
<div class="tablecolumn_label short_dynamicsize">
- <label for="fullReconciliation"><wicket:message key="fullReconciliation"/></label>
+ <label for="matchingRule"><wicket:message key="matchingRule"/></label>
</div>
<div class="tablecolumn_field medium_dynamicsize">
- <span wicket:id="fullReconciliation">[fullReconciliation]</span>
+ <span wicket:id="matchingRule">[matchingRule]</span>
</div>
</div>
+ <div class="tablerow alt">
+ <div class="tablecolumn_label short_dynamicsize">
+ <label for="unmatchingRule"><wicket:message key="unmatchingRule"/></label>
+ </div>
+ <div class="tablecolumn_field medium_dynamicsize">
+ <span wicket:id="unmatchingRule">[unmatchingRule]</span>
+ </div>
+ </div>
+ <div id="filters">
+ <span wicket:id="filterContainer">
+ <div class="tablerow" style="width: auto;">
+ <div class="tablecolumn_field" style="width: auto; padding-right: 5px;">
+ <span wicket:id="checkUserFilter">[checkUserFilter]</span>
+ </div>
+ <div class="tablecolumn_label" style="width: auto;">
+ <label for="checkUserFilter"><wicket:message key="checkUserFilter"/></label>
+ </div>
+ </div>
+
+ <div id="userFilter" style="border: 1px solid #dddddd; padding-bottom: 2%; padding-top: 2%;">
+ <div id="condition">
+ <span wicket:id="userFilter"/>
+ </div>
+ </div>
+ <div class="tablerow" style="width: auto;">
+ <div class="tablecolumn_field" style="width: auto; padding-right: 5px;">
+ <span wicket:id="checkRoleFilter">[checkRoleFilter]</span>
+ </div>
+ <div class="tablecolumn_label" style="width: auto;">
+ <label for="checkRoleFilter"><wicket:message key="checkRoleFilter"/></label>
+ </div>
+ </div>
+ <div id="roleFilter" style="border: 1px solid #dddddd; padding-bottom: 2%; padding-top: 2%;">
+ <div id="condition">
+ <span wicket:id="roleFilter"/>
+ </div>
+ </div>
+ </span>
+ </div>
+ <wicket:child/>
</div>
</span>
</div>
@@ -185,4 +225,4 @@ under the License.
</div>
<div wicket:id="taskExecMessageWin"/>
</wicket:extend>
-</html>
+</html>
\ No newline at end of file
Copied: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage.properties (from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.properties)
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage.properties?p2=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage.properties&p1=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.properties&r1=1603360&r2=1604162&rev=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.properties (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage.properties Fri Jun 20 12:32:03 2014
@@ -39,3 +39,7 @@ deletes=Delete matching identities
syncStatus=Synchronize user status
fullReconciliation=Full reconciliation
actionsClasses=Actions classes
+matchingRule=Mathcing Rule
+unmatchingRule=Unmatching Rule
+checkUserFilter=User Filter
+checkRoleFilter=Role Filter
Copied: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage_it.properties (from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_it.properties)
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage_it.properties?p2=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage_it.properties&p1=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_it.properties&r1=1603360&r2=1604162&rev=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_it.properties (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage_it.properties Fri Jun 20 12:32:03 2014
@@ -40,3 +40,7 @@ status=Sincronizza stato utente
fullReconciliation=Riconciliazione totale
actionsClasses=Classi azioni
syncStatus=Sincronizza stato utente
+matchingRule=Regola di corrispondenza
+unmatchingRule=Regola di non corrispondenza
+checkUserFilter=Filtro Utente
+checkRoleFilter=Filtero Ruolo
Copied: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage_pt_BR.properties (from r1603360, syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_pt_BR.properties)
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage_pt_BR.properties?p2=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage_pt_BR.properties&p1=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_pt_BR.properties&r1=1603360&r2=1604162&rev=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_pt_BR.properties (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/PushTaskModalPage_pt_BR.properties Fri Jun 20 12:32:03 2014
@@ -39,3 +39,7 @@ deletes=Excluir identidades corresponden
syncStatus=Sincronizar status de usu\u00e1rio
fullReconciliation=Reconcilia\u00e7\u00e3o completa
actionsClasses=Classes de a\u00e7\u00f5es
+matchingRule=Regra de correspond\u00eancia
+unmatchingRule=Regra de non correspond\u00eancia
+checkUserFilter=Filtro Usu\u00e1rio
+checkRoleFilter=Filtro Papel
Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.html
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.html?rev=1604162&r1=1604161&r2=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.html Fri Jun 20 12:32:03 2014
@@ -143,6 +143,23 @@ under the License.
<span wicket:id="fullReconciliation">[fullReconciliation]</span>
</div>
</div>
+ <div class="tablerow alt">
+ <div class="tablecolumn_label short_dynamicsize">
+ <label for="matchingRule"><wicket:message key="matchingRule"/></label>
+ </div>
+ <div class="tablecolumn_field medium_dynamicsize">
+ <span wicket:id="matchingRule">[matchingRule]</span>
+ </div>
+ </div>
+ <div class="tablerow">
+ <div class="tablecolumn_label short_dynamicsize">
+ <label for="unmatchingRule"><wicket:message key="unmatchingRule"/></label>
+ </div>
+ <div class="tablecolumn_field medium_dynamicsize">
+ <span wicket:id="unmatchingRule">[unmatchingRule]</span>
+ </div>
+ </div>
+ <wicket:child/>
</div>
</span>
</div>
@@ -185,4 +202,4 @@ under the License.
</div>
<div wicket:id="taskExecMessageWin"/>
</wicket:extend>
-</html>
+</html>
\ No newline at end of file
Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.properties
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.properties?rev=1604162&r1=1604161&r2=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.properties (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage.properties Fri Jun 20 12:32:03 2014
@@ -39,3 +39,5 @@ deletes=Delete matching identities
syncStatus=Synchronize user status
fullReconciliation=Full reconciliation
actionsClasses=Actions classes
+matchingRule=Mathcing Rule
+unmatchingRule=Unmatching Rule
Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_it.properties
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_it.properties?rev=1604162&r1=1604161&r2=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_it.properties (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_it.properties Fri Jun 20 12:32:03 2014
@@ -40,3 +40,5 @@ status=Sincronizza stato utente
fullReconciliation=Riconciliazione totale
actionsClasses=Classi azioni
syncStatus=Sincronizza stato utente
+matchingRule=Regola di corrispondenza
+unmatchingRule=Regola di non corrispondenza
Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_pt_BR.properties
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_pt_BR.properties?rev=1604162&r1=1604161&r2=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_pt_BR.properties (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/SyncTaskModalPage_pt_BR.properties Fri Jun 20 12:32:03 2014
@@ -39,3 +39,5 @@ deletes=Excluir identidades corresponden
syncStatus=Sincronizar status de usu\u00e1rio
fullReconciliation=Reconcilia\u00e7\u00e3o completa
actionsClasses=Classes de a\u00e7\u00f5es
+matchingRule=Regra de correspond\u00eancia
+unmatchingRule=Regra de non correspond\u00eancia
Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks.html
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks.html?rev=1604162&r1=1604161&r2=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks.html Fri Jun 20 12:32:03 2014
@@ -24,6 +24,7 @@ under the License.
<li><a href="#tabs-2"><span><wicket:message key="tab2"/></span></a></li>
<li><a href="#tabs-3"><span><wicket:message key="tab3"/></span></a></li>
<li><a href="#tabs-4"><span><wicket:message key="tab4"/></span></a></li>
+ <li><a href="#tabs-5"><span><wicket:message key="tab5"/></span></a></li>
</ul>
<div id="tabs-1">
<span wicket:id="propagation">[propagation tasks]</span>
@@ -32,10 +33,13 @@ under the License.
<span wicket:id="notification">[notification tasks]</span>
</div>
<div id="tabs-3">
- <span wicket:id="sync">[synchronization tasks]</span>
+ <span wicket:id="sched">[scheduled tasks]</span>
</div>
<div id="tabs-4">
- <span wicket:id="sched">[scheduled tasks]</span>
+ <span wicket:id="sync">[synchronization tasks]</span>
+ </div>
+ <div id="tabs-5">
+ <span wicket:id="push">[push tasks]</span>
</div>
</div>
Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks.properties
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks.properties?rev=1604162&r1=1604161&r2=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks.properties (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks.properties Fri Jun 20 12:32:03 2014
@@ -16,5 +16,6 @@
# under the License.
tab1=Propagation Tasks
tab2=Notification tasks
-tab3=Synchronization Tasks
-tab4=Scheduled Tasks
+tab3=Scheduled Tasks
+tab4=Synchronization Tasks
+tab5=Push Tasks
\ No newline at end of file
Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks_it.properties
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks_it.properties?rev=1604162&r1=1604161&r2=1604162&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks_it.properties (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Tasks_it.properties Fri Jun 20 12:32:03 2014
@@ -16,5 +16,6 @@
# under the License.
tab1=Task di propagazione
tab2=Task di notifica
-tab3=Task di sincronizzazione
-tab4=Task programmabili
+tab3=Task programmabili
+tab4=Task di sincronizzazione
+tab5=Task di push
\ No newline at end of file