Return-Path: X-Original-To: apmail-syncope-commits-archive@www.apache.org Delivered-To: apmail-syncope-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 09341113BC for ; Tue, 6 May 2014 15:58:07 +0000 (UTC) Received: (qmail 66989 invoked by uid 500); 6 May 2014 15:28:26 -0000 Delivered-To: apmail-syncope-commits-archive@syncope.apache.org Received: (qmail 66968 invoked by uid 500); 6 May 2014 15:28:26 -0000 Mailing-List: contact commits-help@syncope.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@syncope.apache.org Delivered-To: mailing list commits@syncope.apache.org Received: (qmail 66945 invoked by uid 99); 6 May 2014 15:28:25 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 May 2014 15:28:25 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 May 2014 15:28:17 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 3584C238889B; Tue, 6 May 2014 15:27:52 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1592778 [1/2] - in /syncope/trunk/console/src/main: java/org/apache/syncope/console/pages/ java/org/apache/syncope/console/pages/panels/ resources/org/apache/syncope/console/pages/ resources/org/apache/syncope/console/pages/panels/ webapp/... Date: Tue, 06 May 2014 15:27:50 -0000 To: commits@syncope.apache.org From: andreapatricelli@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20140506152752.3584C238889B@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: andreapatricelli Date: Tue May 6 15:27:48 2014 New Revision: 1592778 URL: http://svn.apache.org/r1592778 Log: Fixed #480 Added: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationPanel.java Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractBasePage.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/ApprovalModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BasePage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Configuration.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConfigurationModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerSchemaModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Login.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/MembershipModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/NotificationModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PolicyModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ProvisioningModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Reports.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Resources.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Roles.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Schema.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/StatusModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/TaskModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Todo.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserOwnerSelectModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Users.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/VirSchemaModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/XMLEditorPopupPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchPanel.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchResultPanel.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationTasks.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PoliciesPanel.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PropagationTasks.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/RoleSearchResultPanel.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SchedTasks.java 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/UserSearchResultPanel.java syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BasePage.html syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Login.html syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Roles.html syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/RoleTabPanel.html syncope/trunk/console/src/main/webapp/css/style.css Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractBasePage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractBasePage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractBasePage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractBasePage.java Tue May 6 15:27:48 2014 @@ -20,6 +20,7 @@ package org.apache.syncope.console.pages import org.apache.syncope.console.commons.Constants; import org.apache.syncope.console.commons.XMLRolesReader; +import org.apache.syncope.console.pages.panels.NotificationPanel; import org.apache.syncope.console.rest.ReportRestClient; import org.apache.syncope.console.rest.ResourceRestClient; import org.apache.syncope.console.rest.RoleRestClient; @@ -32,7 +33,6 @@ import org.apache.wicket.markup.head.Hea import org.apache.wicket.markup.head.IHeaderResponse; import org.apache.wicket.markup.head.PriorityHeaderItem; import org.apache.wicket.markup.html.WebPage; -import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.apache.wicket.spring.injection.annot.SpringBean; import org.slf4j.Logger; @@ -85,7 +85,7 @@ public class AbstractBasePage extends We @SpringBean protected ReportRestClient reportRestClient; - protected FeedbackPanel feedbackPanel; + protected NotificationPanel feedbackPanel; /** * Response flag set by the Modal Window after the operation is completed. @@ -102,12 +102,12 @@ public class AbstractBasePage extends We } protected final void setupFeedbackPanel() { - feedbackPanel = new FeedbackPanel(Constants.FEEDBACK); + feedbackPanel = new NotificationPanel(Constants.FEEDBACK); feedbackPanel.setOutputMarkupId(true); add(feedbackPanel); } - public FeedbackPanel getFeedbackPanel() { + public NotificationPanel getFeedbackPanel() { return feedbackPanel; } 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=1592778&r1=1592777&r2=1592778&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 Tue May 6 15:27:48 2014 @@ -106,13 +106,13 @@ public abstract class AbstractSchedTaskM } catch (SyncopeClientException e) { LOG.error("While creating or updating task", e); error(getString(Constants.ERROR) + ": " + e.getMessage()); - target.add(feedbackPanel); + feedbackPanel.refresh(target); } } @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java Tue May 6 15:27:48 2014 @@ -237,13 +237,13 @@ public class ApprovalModalPage extends B } catch (SyncopeClientException e) { error(getString(Constants.ERROR) + ": " + e.getMessage()); LOG.error("While submitting form {}", formTO, e); - target.add(feedbackPanel); + feedbackPanel.refresh(target); } } @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BasePage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BasePage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BasePage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BasePage.java Tue May 6 15:27:48 2014 @@ -102,7 +102,7 @@ public class BasePage extends AbstractBa target.add(container); if (isModalResult()) { info(getString(Constants.OPERATION_SUCCEEDED)); - target.add(feedbackPanel); + feedbackPanel.refresh(target); setModalResult(false); } } Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Configuration.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Configuration.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Configuration.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Configuration.java Tue May 6 15:27:48 2014 @@ -159,8 +159,8 @@ public class Configuration extends BaseP workflowDefContainer.setVisible(false); } - BookmarkablePageLink activitiModeler = - new BookmarkablePageLink("activitiModeler", ActivitiModelerPopupPage.class); + BookmarkablePageLink activitiModeler + = new BookmarkablePageLink("activitiModeler", ActivitiModelerPopupPage.class); activitiModeler.setPopupSettings(new VeilPopupSettings().setHeight(600).setWidth(800)); MetaDataRoleAuthorizationStrategy.authorize(activitiModeler, ENABLE, xmlRolesReader.getAllAllowedRoles("Configuration", "workflowDefRead")); @@ -177,8 +177,8 @@ public class Configuration extends BaseP } activitiModeler.setEnabled(activitiModelerEnabled); - BookmarkablePageLink xmlEditor = - new BookmarkablePageLink("xmlEditor", XMLEditorPopupPage.class); + BookmarkablePageLink xmlEditor + = new BookmarkablePageLink("xmlEditor", XMLEditorPopupPage.class); xmlEditor.setPopupSettings(new VeilPopupSettings().setHeight(350).setWidth(800)); MetaDataRoleAuthorizationStrategy.authorize(xmlEditor, ENABLE, xmlRolesReader.getAllAllowedRoles("Configuration", "workflowDefRead")); @@ -211,8 +211,8 @@ public class Configuration extends BaseP add(workflowDefContainer); // Logger stuff - PropertyListView coreLoggerList = - new LoggerPropertyList(null, "corelogger", loggerRestClient.listLogs()); + PropertyListView coreLoggerList + = new LoggerPropertyList(null, "corelogger", loggerRestClient.listLogs()); WebMarkupContainer coreLoggerContainer = new WebMarkupContainer("coreLoggerContainer"); coreLoggerContainer.add(coreLoggerList); coreLoggerContainer.setOutputMarkupId(true); @@ -222,8 +222,8 @@ public class Configuration extends BaseP add(coreLoggerContainer); ConsoleLoggerController consoleLoggerController = new ConsoleLoggerController(); - PropertyListView consoleLoggerList = - new LoggerPropertyList(consoleLoggerController, "consolelogger", consoleLoggerController.getLoggers()); + PropertyListView consoleLoggerList + = new LoggerPropertyList(consoleLoggerController, "consolelogger", consoleLoggerController.getLoggers()); WebMarkupContainer consoleLoggerContainer = new WebMarkupContainer("consoleLoggerContainer"); consoleLoggerContainer.add(consoleLoggerList); consoleLoggerContainer.setOutputMarkupId(true); @@ -294,7 +294,7 @@ public class Configuration extends BaseP } info(getString(Constants.OPERATION_SUCCEEDED)); - target.add(feedbackPanel); + feedbackPanel.refresh(target); target.add(confContainer); } @@ -304,8 +304,8 @@ public class Configuration extends BaseP } }); - final AjaxFallbackDefaultDataTable confTable = - new AjaxFallbackDefaultDataTable( + final AjaxFallbackDefaultDataTable confTable + = new AjaxFallbackDefaultDataTable( "syncopeconf", confColumns, new SyncopeConfProvider(), confPaginatorRows); confContainer = new WebMarkupContainer("confContainer"); @@ -380,7 +380,7 @@ public class Configuration extends BaseP @SuppressWarnings("rawtypes") Form confPaginatorForm = new Form("confPaginatorForm"); - @SuppressWarnings({ "unchecked", "rawtypes" }) + @SuppressWarnings({"unchecked", "rawtypes"}) final DropDownChoice rowsChooser = new DropDownChoice("rowsChooser", new PropertyModel(this, "confPaginatorRows"), prefMan.getPaginatorChoices()); @@ -471,8 +471,7 @@ public class Configuration extends BaseP } info(getString(Constants.OPERATION_SUCCEEDED)); - target.add(feedbackPanel); - + feedbackPanel.refresh(target); target.add(notificationContainer); } }, ActionLink.ActionType.DELETE, "Notification"); @@ -481,8 +480,8 @@ public class Configuration extends BaseP } }); - final AjaxFallbackDefaultDataTable notificationTable = - new AjaxFallbackDefaultDataTable( + final AjaxFallbackDefaultDataTable notificationTable + = new AjaxFallbackDefaultDataTable( "notificationTable", notificationCols, new NotificationProvider(), notificationPaginatorRows); notificationContainer = new WebMarkupContainer("notificationContainer"); @@ -533,7 +532,7 @@ public class Configuration extends BaseP @SuppressWarnings("rawtypes") Form notificationPaginatorForm = new Form("notificationPaginatorForm"); - @SuppressWarnings({ "unchecked", "rawtypes" }) + @SuppressWarnings({"unchecked", "rawtypes"}) final DropDownChoice rowsChooser = new DropDownChoice("rowsChooser", new PropertyModel(this, "notificationPaginatorRows"), prefMan.getPaginatorChoices()); @@ -695,7 +694,7 @@ public class Configuration extends BaseP info(getString(Constants.OPERATION_ERROR)); } - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConfigurationModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConfigurationModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConfigurationModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConfigurationModalPage.java Tue May 6 15:27:48 2014 @@ -58,8 +58,8 @@ public class ConfigurationModalPage exte public ConfigurationModalPage(final PageReference pageRef, final ModalWindow window, final ConfigurationTO configurationTO, final boolean createFlag) { - Form form = - new Form(FORM, new CompoundPropertyModel(configurationTO)); + Form form + = new Form(FORM, new CompoundPropertyModel(configurationTO)); final AjaxTextFieldPanel key = new AjaxTextFieldPanel("key", "key", new PropertyModel(configurationTO, "key")); @@ -94,14 +94,14 @@ public class ConfigurationModalPage exte } else { error(getString("error_updating")); } - target.add(feedbackPanel); + feedbackPanel.refresh(target); LOG.error("While creating or updating configuration {}", configurationTO, e); } } @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java Tue May 6 15:27:48 2014 @@ -391,7 +391,7 @@ public class ConnectorModalPage extends error(getString("error_connection")); } - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; connectorPropForm.add(check); @@ -452,7 +452,7 @@ public class ConnectorModalPage extends window.close(target); } catch (SyncopeClientException e) { error(getString(Constants.ERROR) + ": " + e.getMessage()); - target.add(feedbackPanel); + feedbackPanel.refresh(target); ((Resources) pageRef.getPage()).setModalResult(false); LOG.error("While creating or updating connector {}", conn, e); } @@ -461,7 +461,7 @@ public class ConnectorModalPage extends @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; String roles = connInstanceTO.getId() == 0 Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerSchemaModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerSchemaModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerSchemaModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerSchemaModalPage.java Tue May 6 15:27:48 2014 @@ -98,13 +98,13 @@ public class DerSchemaModalPage extends window.close(target); } catch (SyncopeClientException e) { error(getString(Constants.ERROR) + ": " + e.getMessage()); - target.add(feedbackPanel); + feedbackPanel.refresh(target); } } @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java Tue May 6 15:27:48 2014 @@ -249,7 +249,7 @@ public class DisplayAttributesModalPage @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Login.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Login.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Login.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Login.java Tue May 6 15:27:48 2014 @@ -27,22 +27,22 @@ import org.apache.syncope.common.to.User import org.apache.syncope.common.util.CollectionWrapper; import org.apache.syncope.console.SyncopeSession; import org.apache.syncope.console.commons.Constants; +import org.apache.syncope.console.pages.panels.NotificationPanel; import org.apache.syncope.console.rest.UserSelfRestClient; import org.apache.syncope.console.wicket.ajax.markup.html.ClearIndicatingAjaxLink; import org.apache.syncope.console.wicket.markup.html.form.LinkPanel; import org.apache.wicket.Page; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.markup.html.AjaxLink; +import org.apache.wicket.ajax.markup.html.form.AjaxButton; import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.form.Button; import org.apache.wicket.markup.html.form.ChoiceRenderer; import org.apache.wicket.markup.html.form.DropDownChoice; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.PasswordTextField; import org.apache.wicket.markup.html.form.TextField; -import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.markup.html.panel.Fragment; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.IModel; @@ -81,10 +81,15 @@ public class Login extends WebPage { private TextField passwordField; private DropDownChoice languageSelect; + + private final NotificationPanel feedbackPanel; public Login(final PageParameters parameters) { super(parameters); + feedbackPanel = new NotificationPanel(Constants.FEEDBACK); + add(feedbackPanel); + form = new Form("login"); userIdField = new TextField("userId", new Model()); @@ -99,12 +104,12 @@ public class Login extends WebPage { form.add(languageSelect); - Button submitButton = new Button("submit", new Model(getString("submit"))) { + AjaxButton submitButton = new AjaxButton("submit", new Model(getString("submit"))) { private static final long serialVersionUID = 429178684321093953L; @Override - public void onSubmit() { + protected void onSubmit(AjaxRequestTarget target, Form form) { try { if (anonymousUser.equals(userIdField.getRawInput())) { throw new AccessControlException("Illegal username"); @@ -115,6 +120,7 @@ public class Login extends WebPage { setResponsePage(WelcomePage.class, parameters); } catch (AccessControlException e) { error(getString("login-error")); + feedbackPanel.refresh(target); } } }; @@ -123,7 +129,6 @@ public class Login extends WebPage { form.add(submitButton); add(form); - add(new FeedbackPanel(Constants.FEEDBACK)); // Modal window for self registration final ModalWindow editProfileModalWin = new ModalWindow("selfRegModal"); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/MembershipModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/MembershipModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/MembershipModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/MembershipModalPage.java Tue May 6 15:27:48 2014 @@ -64,7 +64,7 @@ public class MembershipModalPage extends @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/NotificationModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/NotificationModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/NotificationModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/NotificationModalPage.java Tue May 6 15:27:48 2014 @@ -244,13 +244,13 @@ class NotificationModalPage extends Base window.close(target); } catch (SyncopeClientException scee) { error(getString(Constants.ERROR) + ": " + scee.getMessage()); - target.add(feedbackPanel); + feedbackPanel.refresh(target); } } @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PolicyModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PolicyModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PolicyModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PolicyModalPage.java Tue May 6 15:27:48 2014 @@ -34,6 +34,7 @@ import org.apache.syncope.common.types.P import org.apache.syncope.common.types.PolicyType; import org.apache.syncope.common.types.SyncPolicySpec; import org.apache.syncope.console.commons.Constants; +import org.apache.syncope.console.pages.panels.NotificationPanel; import org.apache.syncope.console.pages.panels.PolicyBeanPanel; import org.apache.syncope.console.rest.PolicyRestClient; import org.apache.syncope.console.rest.ResourceRestClient; @@ -110,17 +111,17 @@ public class PolicyModalPage(object); } }; - final AjaxFallbackDefaultDataTable resources = - new AjaxFallbackDefaultDataTable("resources", resColumns, resDataProvider, 10); + final AjaxFallbackDefaultDataTable resources + = new AjaxFallbackDefaultDataTable("resources", resColumns, resDataProvider, 10); form.add(resources); List> roleColumns = new ArrayList>(); @@ -296,8 +297,8 @@ public class PolicyModalPage(object); } }; - final AjaxFallbackDefaultDataTable roles = - new AjaxFallbackDefaultDataTable("roles", roleColumns, roleDataProvider, 10); + final AjaxFallbackDefaultDataTable roles + = new AjaxFallbackDefaultDataTable("roles", roleColumns, roleDataProvider, 10); form.add(roles); mwindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { @@ -309,7 +310,7 @@ public class PolicyModalPage form) { - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); } }; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ProvisioningModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ProvisioningModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ProvisioningModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ProvisioningModalPage.java Tue May 6 15:27:48 2014 @@ -135,7 +135,7 @@ public class ProvisioningModalPage form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; @@ -505,7 +505,7 @@ public class ReportModalPage extends Bas error(scce.getMessage()); } - target.add(feedbackPanel); + feedbackPanel.refresh(target); target.add(executions); } }, ActionLink.ActionType.DELETE, "Reports"); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java Tue May 6 15:27:48 2014 @@ -177,7 +177,7 @@ public class ReportletConfModalPage exte @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; form.add(submit); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Reports.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Reports.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Reports.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Reports.java Tue May 6 15:27:48 2014 @@ -168,7 +168,7 @@ public class Reports extends BasePage { error(scce.getMessage()); } - target.add(feedbackPanel); + feedbackPanel.refresh(target); target.add(reportContainer); } }, ActionLink.ActionType.EXECUTE, "Reports"); @@ -186,7 +186,7 @@ public class Reports extends BasePage { error(scce.getMessage()); } target.add(reportContainer); - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }, ActionLink.ActionType.DELETE, "Reports"); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java Tue May 6 15:27:48 2014 @@ -128,7 +128,7 @@ public class ResourceModalPage extends B if (accountIdError) { error(getString("accountIdValidation")); - target.add(feedbackPanel); + feedbackPanel.refresh(target); } else { try { if (createFlag) { @@ -144,14 +144,14 @@ public class ResourceModalPage extends B } catch (Exception e) { LOG.error("Failure managing resource {}", resourceTO, e); error(getString(Constants.ERROR) + ": " + e.getMessage()); - target.add(feedbackPanel); + feedbackPanel.refresh(target); } } } @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Resources.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Resources.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Resources.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Resources.java Tue May 6 15:27:48 2014 @@ -141,7 +141,7 @@ public class Resources extends BasePage } catch (Exception e) { error(getString(Constants.ERROR) + ": " + e.getMessage()); } - target.add(feedbackPanel); + feedbackPanel.refresh(target); target.add(connectorContainer); } @@ -325,7 +325,7 @@ public class Resources extends BasePage LOG.error("While deleting resource " + resourceTO.getName(), e); } - target.add(feedbackPanel); + feedbackPanel.refresh(target); target.add(resourceContainer); } }, ActionLink.ActionType.DELETE, "Resources"); @@ -485,7 +485,7 @@ public class Resources extends BasePage } target.add(connectorContainer); - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }, ActionLink.ActionType.DELETE, "Connectors"); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java Tue May 6 15:27:48 2014 @@ -106,13 +106,13 @@ public class RoleModalPage extends BaseM closeAction(target, form); } catch (Exception e) { error(getString(Constants.ERROR) + ": " + e.getMessage()); - target.add(feedbackPanel); + feedbackPanel.refresh(target); } } @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Roles.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Roles.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Roles.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Roles.java Tue May 6 15:27:48 2014 @@ -31,6 +31,7 @@ import org.apache.wicket.ajax.AjaxReques import org.apache.wicket.event.Broadcast; import org.apache.wicket.event.IEvent; import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow; +import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.model.ResourceModel; import org.apache.wicket.request.mapper.parameter.PageParameters; @@ -52,9 +53,15 @@ public class Roles extends BasePage { private final ModalWindow editRoleWin; + private final WebMarkupContainer roleTabsContainer; + public Roles(final PageParameters parameters) { super(parameters); + roleTabsContainer = new WebMarkupContainer("roleTabsContainer"); + roleTabsContainer.setOutputMarkupId(true); + add(roleTabsContainer); + editRoleWin = new ModalWindow("editRoleWin"); editRoleWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY); editRoleWin.setInitialHeight(WIN_HEIGHT); @@ -64,11 +71,11 @@ public class Roles extends BasePage { final TreeRolePanel treePanel = new TreeRolePanel("treePanel"); treePanel.setOutputMarkupId(true); - add(treePanel); + roleTabsContainer.add(treePanel); final RoleSummaryPanel summaryPanel = new RoleSummaryPanel.Builder("summaryPanel") .window(editRoleWin).callerPageRef(Roles.this.getPageReference()).build(); - add(summaryPanel); + roleTabsContainer.add(summaryPanel); editRoleWin.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { @@ -76,7 +83,7 @@ public class Roles extends BasePage { @Override public void onClose(final AjaxRequestTarget target) { - final RoleSummaryPanel summaryPanel = (RoleSummaryPanel) get("summaryPanel"); + final RoleSummaryPanel summaryPanel = (RoleSummaryPanel) roleTabsContainer.get("summaryPanel"); final TreeNodeClickUpdate data = new TreeNodeClickUpdate(target, summaryPanel == null || summaryPanel.getSelectedNode() == null @@ -87,14 +94,15 @@ public class Roles extends BasePage { if (modalResult) { getSession().info(getString(Constants.OPERATION_SUCCEEDED)); - target.add(feedbackPanel); + feedbackPanel.refresh(target); modalResult = false; } + } }); - final AbstractSearchResultPanel searchResult = - new RoleSearchResultPanel("searchResult", true, null, getPageReference(), restClient); + final AbstractSearchResultPanel searchResult + = new RoleSearchResultPanel("searchResult", true, null, getPageReference(), restClient); add(searchResult); final Form searchForm = new Form("searchForm"); @@ -115,12 +123,12 @@ public class Roles extends BasePage { doSearch(target, fiql, searchResult); Session.get().getFeedbackMessages().clear(); - target.add(searchPanel.getSearchFeedback()); + searchPanel.getSearchFeedback().refresh(target); } @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(searchPanel.getSearchFeedback()); + searchPanel.getSearchFeedback().refresh(target); } }); } @@ -147,8 +155,8 @@ public class Roles extends BasePage { .window(editRoleWin).callerPageRef(Roles.this.getPageReference()) .selectedNodeId(update.getSelectedNodeId()).build(); - addOrReplace(summaryPanel); - update.getTarget().add(this); + roleTabsContainer.addOrReplace(summaryPanel); + update.getTarget().add(roleTabsContainer); } } Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Schema.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Schema.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Schema.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Schema.java Tue May 6 15:27:48 2014 @@ -285,7 +285,7 @@ public class Schema extends BasePage { } info(getString(Constants.OPERATION_SUCCEEDED)); - target.add(feedbackPanel); + feedbackPanel.refresh(target); target.add(webContainer); } Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java Tue May 6 15:27:48 2014 @@ -235,7 +235,7 @@ public class SchemaModalPage extends Abs if (schemaTO.isMultivalue() && schemaTO.isUniqueConstraint()) { error(getString("multivalueAndUniqueConstr.validation")); - target.add(feedbackPanel); + feedbackPanel.refresh(target); return; } @@ -252,13 +252,13 @@ public class SchemaModalPage extends Abs window.close(target); } catch (SyncopeClientException e) { error(getString(Constants.ERROR) + ": " + e.getMessage()); - target.add(feedbackPanel); + feedbackPanel.refresh(target); } } @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/StatusModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/StatusModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/StatusModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/StatusModalPage.java Tue May 6 15:27:48 2014 @@ -267,7 +267,7 @@ public class StatusModalPage form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; } Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserOwnerSelectModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserOwnerSelectModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserOwnerSelectModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserOwnerSelectModalPage.java Tue May 6 15:27:48 2014 @@ -57,12 +57,12 @@ public class UserOwnerSelectModalPage ex doSearch(target, searchCond, searchResult); Session.get().getFeedbackMessages().clear(); - target.add(searchPanel.getSearchFeedback()); + searchPanel.getSearchFeedback().refresh(target); } @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(searchPanel.getSearchFeedback()); + searchPanel.getSearchFeedback().refresh(target); } }); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Users.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Users.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Users.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Users.java Tue May 6 15:27:48 2014 @@ -114,13 +114,13 @@ public class Users extends BasePage { doSearch(target, fiql, searchResult); Session.get().getFeedbackMessages().clear(); - target.add(searchPanel.getSearchFeedback()); + searchPanel.getSearchFeedback().refresh(target); } @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(searchPanel.getSearchFeedback()); + searchPanel.getSearchFeedback().refresh(target); } }; @@ -158,7 +158,7 @@ public class Users extends BasePage { // set operation succeeded getSession().info(getString(Constants.OPERATION_SUCCEEDED)); // refresh feedback panel - target.add(feedbackPanel); + feedbackPanel.refresh(target); } } }); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/VirSchemaModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/VirSchemaModalPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/VirSchemaModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/VirSchemaModalPage.java Tue May 6 15:27:48 2014 @@ -87,13 +87,13 @@ public class VirSchemaModalPage extends window.close(target); } catch (SyncopeClientException e) { error(getString(Constants.ERROR) + ": " + e.getMessage()); - target.add(feedbackPanel); + feedbackPanel.refresh(target); } } @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/XMLEditorPopupPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/XMLEditorPopupPage.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/XMLEditorPopupPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/XMLEditorPopupPage.java Tue May 6 15:27:48 2014 @@ -54,8 +54,8 @@ public class XMLEditorPopupPage extends final TextArea workflowDefArea = new TextArea("workflowDefArea", new Model(definition)); wfForm.add(workflowDefArea); - AjaxButton submit = - new ClearIndicatingAjaxButton(APPLY, new Model(getString(SUBMIT)), getPageReference()) { + AjaxButton submit + = new ClearIndicatingAjaxButton(APPLY, new Model(getString(SUBMIT)), getPageReference()) { private static final long serialVersionUID = -958724007591692537L; @@ -68,12 +68,12 @@ public class XMLEditorPopupPage extends } catch (SyncopeClientException scee) { error(getString(Constants.ERROR) + ": " + scee.getMessage()); } - target.add(feedbackPanel); + feedbackPanel.refresh(target); } @Override protected void onError(final AjaxRequestTarget target, final Form form) { - target.add(feedbackPanel); + feedbackPanel.refresh(target); } }; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchPanel.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchPanel.java Tue May 6 15:27:48 2014 @@ -42,7 +42,6 @@ import org.apache.syncope.console.rest.S import org.apache.wicket.feedback.FeedbackMessage; import org.apache.wicket.feedback.IFeedbackMessageFilter; import org.apache.wicket.markup.html.WebMarkupContainer; -import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.LoadableDetachableModel; @@ -80,7 +79,7 @@ public abstract class AbstractSearchPane protected IModel> roleNames; - protected FeedbackPanel searchFeedback; + protected NotificationPanel searchFeedback; protected List searchClauses; @@ -108,7 +107,7 @@ public abstract class AbstractSearchPane searchFormContainer = new WebMarkupContainer("searchFormContainer"); searchFormContainer.setOutputMarkupId(true); - searchFeedback = new FeedbackPanel("searchFeedback", new IFeedbackMessageFilter() { + searchFeedback = new NotificationPanel("searchFeedback", "notificationpanel_top_right", new IFeedbackMessageFilter() { private static final long serialVersionUID = 6895024863321391672L; @@ -202,7 +201,7 @@ public abstract class AbstractSearchPane }; } - public FeedbackPanel getSearchFeedback() { + public NotificationPanel getSearchFeedback() { return searchFeedback; } Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchResultPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchResultPanel.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchResultPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchResultPanel.java Tue May 6 15:27:48 2014 @@ -112,7 +112,7 @@ public abstract class AbstractSearchResu /** * Feedback panel specified by the caller. */ - protected final FeedbackPanel feedbackPanel; + protected final NotificationPanel feedbackPanel; /** * Specify if results are about a filtered search or not. Using this attribute it is possible to use this panel to @@ -309,7 +309,7 @@ public abstract class AbstractSearchResu // set operation succeeded getSession().info(getString(Constants.OPERATION_SUCCEEDED)); // refresh feedback panel - target.add(feedbackPanel); + feedbackPanel.refresh(target); } } }); Added: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationPanel.java?rev=1592778&view=auto ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationPanel.java (added) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationPanel.java Tue May 6 15:27:48 2014 @@ -0,0 +1,115 @@ +/* + * 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 org.apache.wicket.AttributeModifier; +import org.apache.wicket.ajax.AjaxRequestTarget; +import org.apache.wicket.feedback.FeedbackMessage; +import org.apache.wicket.feedback.IFeedbackMessageFilter; +import org.apache.wicket.markup.html.panel.FeedbackPanel; +import org.apache.wicket.model.Model; + +public class NotificationPanel extends FeedbackPanel { + + private static final long serialVersionUID = 5895940553202128621L; + + private final String cssClass = "notificationpanel"; + + private String additionalCSSClass = "notificationpanel_top_right"; + + // Create a notifcation panel with the default additional class, specified as a field variable + public NotificationPanel(final String id) { + super(id); + + init(id, additionalCSSClass); + } + + // Create a notifcation panel with a custom additional class, overwriting the field variable + public NotificationPanel(final String id, final String additionalCSSClass) { + super(id); + + this.additionalCSSClass = additionalCSSClass; + + init(id, additionalCSSClass); + } + + public NotificationPanel(final String id, final String additionalCSSClass, final IFeedbackMessageFilter + feedbackMessageFilter) { + super(id, feedbackMessageFilter); + + this.additionalCSSClass = additionalCSSClass; + + init(id, additionalCSSClass); + } + + private void init(final String id, final String additionalCSSClass) { + // set custom markup id and ouput it, to find the component later on in the js function + setMarkupId(id); + setOutputMarkupId(true); + + // Add the additional cssClass and hide the element by default + add(new AttributeModifier("class", new Model(cssClass + " " + additionalCSSClass))); + add(new AttributeModifier("style", new Model("opacity: 0;"))); + } + + /** + * Method to refresh the notification panel + * + * if there are any feedback messages for the user, find the gravest level, format the notification panel + * accordingly and show it + * + * @param target AjaxRequestTarget to add panel and the calling javascript function + */ + public void refresh(final AjaxRequestTarget target) { + + // any feedback at all in the current form? + if (anyMessage()) { + int highestFeedbackLevel = FeedbackMessage.INFO; + + // any feedback with the given level? + if (anyMessage(FeedbackMessage.WARNING)) { + highestFeedbackLevel = FeedbackMessage.WARNING; + } + if (anyMessage(FeedbackMessage.ERROR)) { + highestFeedbackLevel = FeedbackMessage.ERROR; + } + + // add the css classes to the notification panel, + // including the border css which represents the highest level of feedback + add(new AttributeModifier("class", + new Model(cssClass + + " " + additionalCSSClass + + " notificationpanel_border_" + String.valueOf(highestFeedbackLevel)))); + + // refresh the panel and call the js function with the panel markup id + // and the total count of messages + target.add(this); + target.appendJavaScript("showNotification('" + getMarkupId() + "', " + getCurrentMessages().size() + ");"); + } + } + + /** + * Returns css class for the single rows of the panel + * @param message + */ + @Override + protected String getCSSClass(final FeedbackMessage message) { + return "notificationpanel_row_" + message.getLevelAsString(); + } +} Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationTasks.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationTasks.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationTasks.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationTasks.java Tue May 6 15:27:48 2014 @@ -135,7 +135,7 @@ public class NotificationTasks extends A error(scce.getMessage()); } - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); target.add(container); } }, ActionLink.ActionType.EXECUTE, TASKS); @@ -153,7 +153,7 @@ public class NotificationTasks extends A error(scce.getMessage()); } target.add(container); - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); } }, ActionLink.ActionType.DELETE, TASKS); @@ -199,7 +199,7 @@ public class NotificationTasks extends A target.add(container); if (operationResult) { info(getString(Constants.OPERATION_SUCCEEDED)); - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); operationResult = false; } } Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PoliciesPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PoliciesPanel.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PoliciesPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PoliciesPanel.java Tue May 6 15:27:48 2014 @@ -189,7 +189,7 @@ public class PoliciesPanel extends Panel } target.add(container); - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); } }, ActionLink.ActionType.DELETE, "Policies"); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PropagationTasks.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PropagationTasks.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PropagationTasks.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PropagationTasks.java Tue May 6 15:27:48 2014 @@ -156,7 +156,7 @@ public class PropagationTasks extends Ab error(scce.getMessage()); } - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); target.add(container); } }, ActionLink.ActionType.EXECUTE, TASKS); @@ -174,7 +174,7 @@ public class PropagationTasks extends Ab error(scce.getMessage()); } target.add(container); - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); } }, ActionLink.ActionType.DELETE, TASKS); @@ -218,7 +218,7 @@ public class PropagationTasks extends Ab target.add(container); if (operationResult) { info(getString(Constants.OPERATION_SUCCEEDED)); - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); operationResult = false; } } Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/RoleSearchResultPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/RoleSearchResultPanel.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/RoleSearchResultPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/RoleSearchResultPanel.java Tue May 6 15:27:48 2014 @@ -150,7 +150,7 @@ public class RoleSearchResultPanel exten editmodal.show(target); } catch (SyncopeClientException scce) { error(getString(Constants.OPERATION_ERROR) + ": " + scce.getMessage()); - target.add(feedbackPanel); + feedbackPanel.refresh(target); } } }, ActionLink.ActionType.DELETE, PAGEID); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SchedTasks.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SchedTasks.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SchedTasks.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/SchedTasks.java Tue May 6 15:27:48 2014 @@ -145,7 +145,7 @@ public class SchedTasks extends Abstract error(scce.getMessage()); } - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); target.add(container); } }, ActionLink.ActionType.EXECUTE, TASKS); @@ -163,7 +163,7 @@ public class SchedTasks extends Abstract error(scce.getMessage()); } - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); target.add(container); } }, ActionLink.ActionType.DRYRUN, TASKS); @@ -181,7 +181,7 @@ public class SchedTasks extends Abstract error(scce.getMessage()); } target.add(container); - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); } }, ActionLink.ActionType.DELETE, TASKS); Modified: 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/SyncTasks.java?rev=1592778&r1=1592777&r2=1592778&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/SyncTasks.java Tue May 6 15:27:48 2014 @@ -190,7 +190,7 @@ public class SyncTasks extends AbstractT } target.add(container); - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); } }, ActionLink.ActionType.EXECUTE, TASKS); @@ -208,7 +208,7 @@ public class SyncTasks extends AbstractT } target.add(container); - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); } }, ActionLink.ActionType.DRYRUN, TASKS); @@ -225,7 +225,7 @@ public class SyncTasks extends AbstractT error(scce.getMessage()); } target.add(container); - target.add(getPage().get(Constants.FEEDBACK)); + ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); } }, ActionLink.ActionType.DELETE, TASKS); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java Tue May 6 15:27:48 2014 @@ -227,7 +227,7 @@ public class UserSearchResultPanel exten editmodal.show(target); } catch (SyncopeClientException scce) { error(getString(Constants.OPERATION_ERROR) + ": " + scce.getMessage()); - target.add(feedbackPanel); + feedbackPanel.refresh(target); } } }, ActionLink.ActionType.DELETE, PAGEID); Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html?rev=1592778&r1=1592777&r2=1592778&view=diff ============================================================================== --- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html (original) +++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html Tue May 6 15:27:48 2014 @@ -17,31 +17,40 @@ specific language governing permissions under the License. --> - - + + - - - - - - - - - - - -
+ + + - - + + + + + + + +
+ + +