You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2013/01/29 13:24:35 UTC

svn commit: r1439854 - in /syncope/trunk: common/src/main/java/org/apache/syncope/common/to/ console/src/main/java/org/apache/syncope/console/commons/ console/src/main/java/org/apache/syncope/console/pages/ console/src/main/java/org/apache/syncope/cons...

Author: ilgrosso
Date: Tue Jan 29 12:24:34 2013
New Revision: 1439854

URL: http://svn.apache.org/viewvc?rev=1439854&view=rev
Log:
[SYNCOPE-122] Extension on console almost done: only missing on-the-fly selection for resources added (directly or via role selection) but not yet submitted

Added:
    syncope/trunk/console/src/main/webapp/img/actions/enable.png   (with props)
Modified:
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java
    syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java
    syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.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/EditUserModalPage.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/panels/AbstractSearchResultPanel.java
    syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java
    syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java
    syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java
    syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.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/ResultStatusModalPage.html
    syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html
    syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties
    syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties
    syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html
    syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html
    syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java
    syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
    syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java
    syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java
    syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java
    syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java
    syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java
    syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java

Modified: syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java
URL: http://svn.apache.org/viewvc/syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java (original)
+++ syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java Tue Jan 29 12:24:34 2013
@@ -20,12 +20,10 @@ package org.apache.syncope.common.to;
 
 import java.util.HashSet;
 import java.util.Set;
-
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
-
 import org.apache.syncope.common.AbstractBaseBean;
 
 /**

Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java Tue Jan 29 12:24:34 2013
@@ -19,6 +19,8 @@
 package org.apache.syncope.console.commons;
 
 import java.io.Serializable;
+import org.apache.commons.lang.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang.builder.ToStringStyle;
 
 public class StatusBean implements Serializable {
 
@@ -30,9 +32,6 @@ public class StatusBean implements Seria
 
     private StatusUtils.Status status = StatusUtils.Status.OBJECT_NOT_FOUND;
 
-    public StatusBean() {
-    }
-
     public String getAccountLink() {
         return accountLink;
     }
@@ -56,4 +55,9 @@ public class StatusBean implements Seria
     public void setStatus(final StatusUtils.Status status) {
         this.status = status;
     }
+
+    @Override
+    public String toString() {
+        return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
+    }
 }

Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.java Tue Jan 29 12:24:34 2013
@@ -21,15 +21,16 @@ package org.apache.syncope.console.commo
 import java.io.Serializable;
 import java.util.AbstractMap;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-
 import org.apache.syncope.common.to.AbstractAttributableTO;
 import org.apache.syncope.common.to.AttributeTO;
 import org.apache.syncope.common.to.ConnObjectTO;
 import org.apache.syncope.common.to.MappingItemTO;
 import org.apache.syncope.common.to.MappingTO;
+import org.apache.syncope.common.to.PropagationRequestTO;
 import org.apache.syncope.common.to.ResourceTO;
 import org.apache.syncope.common.to.RoleTO;
 import org.apache.syncope.common.to.UserTO;
@@ -214,4 +215,18 @@ public class StatusUtils implements Seri
 
         return accountId;
     }
+
+    public static PropagationRequestTO buildPropagationRequestTO(final Collection<StatusBean> statuses) {
+        PropagationRequestTO propagationRequestTO = new PropagationRequestTO();
+
+        for (StatusBean status : statuses) {
+            if ("Syncope".equals(status.getResourceName())) {
+                propagationRequestTO.setOnSyncope(true);
+            } else {
+                propagationRequestTO.addResource(status.getResourceName());
+            }
+        }
+
+        return propagationRequestTO;
+    }
 }

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=1439854&r1=1439853&r2=1439854&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 Jan 29 12:24:34 2013
@@ -278,15 +278,7 @@ public class ConnectorModalPage extends 
                 properties.clear();
                 version.setEnabled(connectorTO.getBundleName() != null);
                 version.getField().setModelValue(null);
-                List<String> choices = new ArrayList<String>(mapConnBundleTO.get(connectorTO.getBundleName()).keySet());
-                version.setChoices(choices);
-                if (choices.size() == 1) {
-                    connectorTO.setVersion(choices.get(0));
-                    version.getField().setModelObject(choices.get(0));
-                    connectorTO.setDisplayName(displayName.getModelObject());
-                    bundleTO = getSelectedBundleTO(mapConnBundleTO, connectorTO);
-                    properties = fillProperties(bundleTO, connectorTO);
-                }
+                version.setChoices(new ArrayList<String>(mapConnBundleTO.get(connectorTO.getBundleName()).keySet()));
                 target.add(bundleName);
                 target.add(version);
                 target.add(propertiesContainer);

Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java Tue Jan 29 12:24:34 2013
@@ -20,7 +20,6 @@ package org.apache.syncope.console.pages
 
 import java.util.ArrayList;
 import java.util.List;
-
 import org.apache.syncope.common.mod.UserMod;
 import org.apache.syncope.common.to.UserTO;
 import org.apache.syncope.common.util.AttributableOperations;
@@ -31,7 +30,9 @@ import org.apache.syncope.console.rest.U
 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.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.spring.injection.annot.SpringBean;
 
 /**
@@ -46,6 +47,8 @@ public class EditUserModalPage extends U
 
     private UserTO initialUserTO = null;
 
+    private StatusPanel statusPanel;
+
     public EditUserModalPage(final PageReference callerPageRef, final ModalWindow window, final UserTO userTO) {
         super(callerPageRef, window, userTO, Mode.ADMIN, true);
 
@@ -57,7 +60,10 @@ public class EditUserModalPage extends U
         if (userTO.getId() != 0) {
             final List<StatusBean> statuses = new ArrayList<StatusBean>();
 
-            form.addOrReplace(new StatusPanel("statuspanel", userTO, statuses, false));
+            form.addOrReplace(new Label("pwdChangeInfo", new ResourceModel("pwdChangeInfo")));
+
+            statusPanel = new StatusPanel("statuspanel", userTO, statuses);
+            form.addOrReplace(statusPanel);
 
             form.addOrReplace(new AccountInformationPanel("accountinformation", userTO));
         }
@@ -72,6 +78,10 @@ public class EditUserModalPage extends U
         } else {
             final UserMod userMod = AttributableOperations.diff(updatedUserTO, initialUserTO);
 
+            if (statusPanel != null) {
+                userMod.setPwdPropRequest(statusPanel.getPropagationRequestTO());
+            }
+
             // update user just if it is changed
             if (!userMod.isEmpty()) {
                 userTO = userRestClient.update(userMod);

Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java Tue Jan 29 12:24:34 2013
@@ -107,6 +107,8 @@ public abstract class UserModalPage exte
         form.add(new UserDetailsPanel("details", userTO, form, resetPassword, mode == Mode.TEMPLATE));
 
         form.add(new Label("statuspanel", ""));
+        
+        form.add(new Label("pwdChangeInfo", ""));
 
         form.add(new Label("accountinformation", ""));
         //--------------------------------

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=1439854&r1=1439853&r2=1439854&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 Jan 29 12:24:34 2013
@@ -19,7 +19,6 @@
 package org.apache.syncope.console.pages.panels;
 
 import java.util.List;
-
 import org.apache.syncope.common.search.NodeCond;
 import org.apache.syncope.common.to.AbstractAttributableTO;
 import org.apache.syncope.console.commons.AttributableDataProvider;

Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java Tue Jan 29 12:24:34 2013
@@ -19,10 +19,11 @@
 package org.apache.syncope.console.pages.panels;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
-
 import org.apache.commons.lang.StringUtils;
 import org.apache.syncope.common.to.AbstractAttributableTO;
+import org.apache.syncope.common.to.PropagationRequestTO;
 import org.apache.syncope.common.to.RoleTO;
 import org.apache.syncope.common.to.UserTO;
 import org.apache.syncope.console.commons.StatusBean;
@@ -41,7 +42,6 @@ import org.apache.wicket.markup.html.for
 import org.apache.wicket.markup.html.image.Image;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.markup.html.panel.Fragment;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.spring.injection.annot.SpringBean;
@@ -59,14 +59,10 @@ public class StatusPanel extends Panel {
 
     private final StatusUtils statusUtils;
 
-    public <T extends AbstractAttributableTO> StatusPanel(final String id, final AbstractAttributableTO attributable,
-            final List<StatusBean> selectedResources) {
-
-        this(id, attributable, selectedResources, true);
-    }
+    private final CheckGroup<StatusBean> checkGroup;
 
     public <T extends AbstractAttributableTO> StatusPanel(final String id, final AbstractAttributableTO attributable,
-            final List<StatusBean> selectedResources, final boolean enabled) {
+            final List<StatusBean> selectedResources) {
 
         super(id);
         statusUtils = new StatusUtils(resourceRestClient,
@@ -92,19 +88,10 @@ public class StatusPanel extends Panel {
 
         statuses.addAll(statusUtils.getRemoteStatuses(attributable));
 
-        final CheckGroup group = new CheckGroup("group", selectedResources);
-        add(group);
-
-        final Fragment headerCheckFrag;
+        checkGroup = new CheckGroup<StatusBean>("group", selectedResources);
+        add(checkGroup);
 
-        if (enabled) {
-            headerCheckFrag = new Fragment("headerCheck", "headerCheckFrag", this);
-            headerCheckFrag.add(new CheckGroupSelector("groupselector", group));
-        } else {
-            headerCheckFrag = new Fragment("headerCheck", "emptyCheckFrag", this);
-        }
-
-        add(headerCheckFrag);
+        add(new CheckGroupSelector("groupselector", checkGroup));
 
         final ListView<StatusBean> resources = new ListView<StatusBean>("resources", statuses) {
 
@@ -155,19 +142,10 @@ public class StatusPanel extends Panel {
                     }
                 });
 
-                final Fragment checkFrag;
-                if (enabled) {
-                    final Check check = new Check("check", item.getModel(), group);
-
-                    check.setEnabled(checkVisibility);
-                    check.setVisible(checkVisibility);
-
-                    checkFrag = new Fragment("rowCheck", "rowCheckFrag", getParent());
-                    checkFrag.add(check);
-                } else {
-                    checkFrag = new Fragment("rowCheck", "emptyCheckFrag", group.getParent());
-                }
-                item.add(checkFrag);
+                final Check check = new Check("check", item.getModel(), checkGroup);
+                check.setEnabled(checkVisibility);
+                check.setVisible(checkVisibility);
+                item.add(check);
 
                 item.add(new Label("resource", new ResourceModel(item.getModelObject().getResourceName(), item
                         .getModelObject().getResourceName())));
@@ -185,6 +163,18 @@ public class StatusPanel extends Panel {
 
         resources.setReuseItems(true);
 
-        group.add(resources);
+        checkGroup.add(resources);
+    }
+
+    public PropagationRequestTO getPropagationRequestTO() {
+        PropagationRequestTO result = null;
+
+        Collection<StatusBean> statusBeans = checkGroup.getModel().getObject();
+        if (statusBeans != null && !statusBeans.isEmpty()) {
+            result = StatusUtils.buildPropagationRequestTO(statusBeans);
+
+        }
+
+        return result;
     }
 }

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=1439854&r1=1439853&r2=1439854&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 Jan 29 12:24:34 2013
@@ -23,7 +23,6 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
-
 import org.apache.syncope.common.search.NodeCond;
 import org.apache.syncope.common.to.AbstractAttributableTO;
 import org.apache.syncope.common.to.UserTO;
@@ -134,7 +133,7 @@ public class UserSearchResultPanel exten
 
                         statusmodal.show(target);
                     }
-                }, ActionLink.ActionType.SEARCH, "Users", "read");
+                }, ActionLink.ActionType.ENABLE, "Users", "update");
 
                 panel.add(new ActionLink() {
 

Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java Tue Jan 29 12:24:34 2013
@@ -19,19 +19,17 @@
 package org.apache.syncope.console.rest;
 
 import java.util.List;
-
 import javax.ws.rs.core.Response;
-
 import org.apache.syncope.common.mod.UserMod;
 import org.apache.syncope.common.search.NodeCond;
 import org.apache.syncope.common.services.ResourceService;
 import org.apache.syncope.common.services.UserService;
 import org.apache.syncope.common.to.ConnObjectTO;
-import org.apache.syncope.common.to.PropagationRequestTO;
 import org.apache.syncope.common.to.UserTO;
 import org.apache.syncope.common.types.AttributableType;
 import org.apache.syncope.common.validation.SyncopeClientCompositeErrorException;
 import org.apache.syncope.console.commons.StatusBean;
+import org.apache.syncope.console.commons.StatusUtils;
 import org.springframework.stereotype.Component;
 
 /**
@@ -112,28 +110,11 @@ public class UserRestClient extends Abst
         return getService(ResourceService.class).getConnector(resourceName, AttributableType.USER, objectId);
     }
 
-    private PropagationRequestTO getPropagationRequestTO(final List<StatusBean> statuses, final boolean enable) {
-        PropagationRequestTO propagationRequestTO = new PropagationRequestTO();
-
-        for (StatusBean status : statuses) {
-            if ((enable && !status.getStatus().isActive()) || (!enable && status.getStatus().isActive())) {
-
-                if ("Syncope".equals(status.getResourceName())) {
-                    propagationRequestTO.setOnSyncope(true);
-                } else {
-                    propagationRequestTO.addResource(status.getResourceName());
-                }
-            }
-        }
-
-        return propagationRequestTO;
-    }
-
     public UserTO suspend(final long userId, final List<StatusBean> statuses) {
-        return getService(UserService.class).suspend(userId, getPropagationRequestTO(statuses, false));
+        return getService(UserService.class).suspend(userId, StatusUtils.buildPropagationRequestTO(statuses));
     }
 
     public UserTO reactivate(final long userId, final List<StatusBean> statuses) {
-        return getService(UserService.class).reactivate(userId, getPropagationRequestTO(statuses, true));
+        return getService(UserService.class).reactivate(userId, StatusUtils.buildPropagationRequestTO(statuses));
     }
 }

Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.java Tue Jan 29 12:24:34 2013
@@ -19,7 +19,6 @@
 package org.apache.syncope.console.wicket.markup.html.form;
 
 import java.io.Serializable;
-
 import org.apache.wicket.ajax.AjaxRequestTarget;
 
 public abstract class ActionLink implements Serializable {
@@ -32,6 +31,7 @@ public abstract class ActionLink impleme
         EDIT,
         USER_TEMPLATE,
         ROLE_TEMPLATE,
+        ENABLE,
         SEARCH,
         DELETE,
         EXECUTE,

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=1439854&r1=1439853&r2=1439854&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 Tue Jan 29 12:24:34 2013
@@ -49,6 +49,7 @@ public class ActionLinksPanel extends Pa
         super.add(new Fragment("panelEdit", "emptyFragment", this));
         super.add(new Fragment("panelUserTemplate", "emptyFragment", this));
         super.add(new Fragment("panelRoleTemplate", "emptyFragment", this));
+        super.add(new Fragment("panelEnable", "emptyFragment", this));
         super.add(new Fragment("panelSearch", "emptyFragment", this));
         super.add(new Fragment("panelDelete", "emptyFragment", this));
         super.add(new Fragment("panelExecute", "emptyFragment", this));
@@ -150,6 +151,20 @@ public class ActionLinksPanel extends Pa
                 });
                 break;
 
+            case ENABLE:
+                fragment = new Fragment("panelEnable", "fragmentEnable", this);
+
+                fragment.addOrReplace(new IndicatingAjaxLink("enableLink") {
+
+                    private static final long serialVersionUID = -7978723352517770644L;
+
+                    @Override
+                    public void onClick(final AjaxRequestTarget target) {
+                        link.onClick(target);
+                    }
+                });
+                break;
+
             case SEARCH:
                 fragment = new Fragment("panelSearch", "fragmentSearch", this);
 

Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResultStatusModalPage.html
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResultStatusModalPage.html?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResultStatusModalPage.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResultStatusModalPage.html Tue Jan 29 12:24:34 2013
@@ -71,7 +71,7 @@ under the License.
       border-bottom: 1px solid #DDDDDD;
       display: table-cell;
       height: 15px;
-      width: 18%;
+      width: 220px;
       padding: 0px 5px 0px 5px;
       vertical-align: middle;
     }
@@ -89,7 +89,7 @@ under the License.
 
     div#resource {
       display: table-cell;
-      width: 18%;
+      width: 220px;
       height: 30px;
       padding: 3px 0px 5px 0px;
     }

Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html Tue Jan 29 12:24:34 2013
@@ -79,6 +79,7 @@ under the License.
           </ul>
           <div id="tabs-1">
             <span wicket:id="details">[user details]</span>
+            <div wicket:id="pwdChangeInfo" style="margin-top: 15px;">[pwdChangeInfo]</div>
             <span wicket:id="statuspanel">[Sattus Panel]</span>
             <span wicket:id="accountinformation">[Account Information]</span>
           </div>

Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties Tue Jan 29 12:24:34 2013
@@ -47,3 +47,4 @@ virtualAttributeValue=Virtual value
 
 addAttributeBtn=Add
 new=New
+pwdChangeInfo=If provided, the password will be changed on the following resources.

Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties Tue Jan 29 12:24:34 2013
@@ -48,3 +48,4 @@ virtualAttributeValue=Valore virtuale
 addAttributeBtn=Aggiungi
 
 new=Nuovo
+pwdChangeInfo=Se inserita, la password verr\u00e0 cambiata sulle seguenti risorse.

Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html Tue Jan 29 12:24:34 2013
@@ -16,116 +16,105 @@ KIND, either express or implied.  See th
 specific language governing permissions and limitations
 under the License.
 -->
-<html>
-    <wicket:head>
-        <style>
-            div.group{
-                width:100%;
-            }
-
-            div#check{
-                width:8%;
-                height: 25px;
-                float:left;
-            }
-
-            div#resource{
-                margin-top: 3px;
-                margin-left: 5px;
-                width: 35%;
-                height: 25px;
-                float:left;
-            }
-
-            div#accountLink{
-                margin-top: 3px;
-                width:45%;
-                height: 25px;
-                float:left
-            }
-
-            div#status{
-                margin-top: 3px;
-                height: 25px;
-                width: 10%;
-                float: left;
-                text-align: center;
-            }
-
-            div.assignment {
-                display: inline-table;
-                width: 100%
-            }
-
-            div.assignments {
-                margin-top: 20px;
-                display: inline-table;
-                width: 100%;
-                border: 1px solid #DDDDDD;
-                color: #555555;
-            }
-        </style>
-    </wicket:head>
-    <wicket:panel>
-        <div class="assignments">
-            <div class="group">
-                <div>
-                    <span wicket:id="headerCheck"/>
-
-                    <div id="resource">
-                        <span style="font: Verdana,Arial,sans-serif; font-weight: bold">
-                            <wicket:message key="resourceheader"/>
-                        </span>
-                    </div>
-                    <div id="accountLink">
-                        <span style="font: Verdana,Arial,sans-serif; font-weight: bold">
-                            <wicket:message key="accountlinkheader"/>
-                        </span>
-                    </div>
-                    <div id="status">
-                        <span style="font: Verdana,Arial,sans-serif; font-weight: bold">
-                            <wicket:message key="statusheader"/>
-                        </span>
-                    </div>
-                </div>
-
-                <span wicket:id="group">
-
-                    <div wicket:id="resources" class="assignment">
-                        <span wicket:id="rowCheck"/>
-
-                        <div id="resource">
-                            <span wicket:id="resource">[resource name]</span>
-                        </div>
-                        <div id="accountLink">
-                            <span wicket:id="accountLink">[accountLink]</span>
-                        </div>
-                        <div id="status">
-                            <img wicket:id="icon"/>
-                        </div>
-                    </div>
-
-                    <wicket:fragment wicket:id="rowCheckFrag">
-                        <div id="check">
-                            <input type="checkbox" wicket:id="check"/>
-                        </div>
-                    </wicket:fragment>
-                </span>
-            </div>
-
-            <wicket:fragment wicket:id="headerCheckFrag">
-                <div id="check">
-                    <input type="checkbox" wicket:id="groupselector" />
-                </div>
-            </wicket:fragment>
+<wicket:head>
+  <style>
+    div.group{
+      width:100%;
+    }
+
+    div#check{
+      width:8%;
+      height: 25px;
+      float:left;
+    }
+
+    div#resource{
+      margin-top: 3px;
+      margin-left: 5px;
+      width: 35%;
+      height: 25px;
+      float:left;
+    }
+
+    div#accountLink{
+      margin-top: 3px;
+      width:45%;
+      height: 25px;
+      float:left
+    }
+
+    div#status{
+      margin-top: 3px;
+      height: 25px;
+      width: 10%;
+      float: left;
+      text-align: center;
+    }
+
+    div.assignment {
+      display: inline-table;
+      width: 100%
+    }
+
+    div.assignments {
+      margin-top: 5px;
+      display: inline-table;
+      width: 100%;
+      border: 1px solid #DDDDDD;
+      color: #555555;
+    }
+  </style>
+</wicket:head>
+<wicket:panel>
+  <div class="assignments">
+    <div class="group">
+      <div>
+        <div id="check">
+          <input type="checkbox" wicket:id="groupselector" />
+        </div>
 
-            <wicket:fragment wicket:id="emptyCheckFrag" />
+        <div id="resource">
+          <span style="font: Verdana,Arial,sans-serif; font-weight: bold">
+            <wicket:message key="resourceheader"/>
+          </span>
+        </div>
+        <div id="accountLink">
+          <span style="font: Verdana,Arial,sans-serif; font-weight: bold">
+            <wicket:message key="accountlinkheader"/>
+          </span>
         </div>
+        <div id="status">
+          <span style="font: Verdana,Arial,sans-serif; font-weight: bold">
+            <wicket:message key="statusheader"/>
+          </span>
+        </div>
+      </div>
+
+      <span wicket:id="group">
+
+        <div wicket:id="resources" class="assignment">
+          <div id="check">
+            <input type="checkbox" wicket:id="check"/>
+          </div>
+
+          <div id="resource">
+            <span wicket:id="resource">[resource name]</span>
+          </div>
+          <div id="accountLink">
+            <span wicket:id="accountLink">[accountLink]</span>
+          </div>
+          <div id="status">
+            <img wicket:id="icon"/>
+          </div>
+        </div>
+      </span>
+    </div>
+
+  </div>
 
-        <script type="text/javascript">
-            $(function() {
-                $('div.assignments div.assignment:even').addClass("alt");
-            });
-        </script>
-    </wicket:panel>
-</html>
+  <script type="text/javascript">
+    $(function() {
+      $('div.assignments div.assignment:even').addClass("alt");
+    });
+  </script>
+</wicket:panel>

Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html Tue Jan 29 12:24:34 2013
@@ -28,6 +28,7 @@ under the License.
   <span id="action" wicket:id="panelClaim">[plus]</span>
   <span id="action" wicket:id="panelDryRun">[plus]</span>
   <span id="action" wicket:id="panelExecute">[plus]</span>
+  <span id="action" wicket:id="panelEnable">[plus]</span>
   <span id="action" wicket:id="panelSearch">[plus]</span>
   <span id="action" wicket:id="panelCreate">[plus]</span>
   <span id="action" wicket:id="panelUserTemplate">[plus]</span>
@@ -46,7 +47,11 @@ under the License.
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentSearch">
-    <a href="#" wicket:id="searchLink"><img src="img/actions/search.png" alt="search icon"  title="Search and modify" /></a>
+    <a href="#" wicket:id="searchLink"><img src="img/actions/search.png" alt="search icon"  title="Search and modify"/></a>
+  </wicket:fragment>
+
+  <wicket:fragment wicket:id="fragmentEnable">
+    <a href="#" wicket:id="enableLink"><img src="img/actions/enable.png" alt="enable icon"  title="Enable / Disable"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentEdit">

Added: syncope/trunk/console/src/main/webapp/img/actions/enable.png
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/webapp/img/actions/enable.png?rev=1439854&view=auto
==============================================================================
Binary file - no diff available.

Propchange: syncope/trunk/console/src/main/webapp/img/actions/enable.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java (original)
+++ syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java Tue Jan 29 12:24:34 2013
@@ -45,7 +45,7 @@ public class ConfigurationTestITCase ext
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
 
-        selenium.click("//tr/td[3]/div/span[8]/a");
+        selenium.click("//tr/td[3]/div/span[9]/a");
 
         selenium.waitForCondition("selenium.isElementPresent(\"//input[@name='key:textField']\");", "30000");
 
@@ -106,7 +106,7 @@ public class ConfigurationTestITCase ext
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
 
-        selenium.click("//tr[7]/td[3]/div/span[10]/a");
+        selenium.click("//tr[7]/td[3]/div/span[11]/a");
 
         assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$"));
 

Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java (original)
+++ syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java Tue Jan 29 12:24:34 2013
@@ -54,12 +54,12 @@ public class ConnInstanceTestITCase exte
 
         selenium.click("//div[3]/div[2]/a");
 
-        selenium.waitForCondition(""
-                + "selenium.isElementPresent(\"//div[2]/form/div[2]/div/div/div[3]/div[2]/span/select\");", "30000");
-        selenium.select("//select[@name='connectorName:dropDownChoiceField']",
-                "label=org.connid.bundles.soap");
-        selenium.select("//select[@name='version:dropDownChoiceField']",
-                "label=1.2.4");
+        selenium.waitForCondition(
+                "selenium.isElementPresent(\"//form/div[2]/div/div/div[3]/div[2]/span/select\");", "30000");
+        selenium.select("//select[@name='connectorName:dropDownChoiceField']", "label=org.connid.bundles.soap");
+        selenium.waitForCondition(
+                "selenium.isElementPresent(\"//form/div[2]/div/div/div[3]/div[2]/span/select/option[2]\");", "30000");
+        selenium.select("//select[@name='version:dropDownChoiceField']", "label=1.2.4");
 
         selenium.click("//div[2]/form/div[2]/ul/li[2]/a/span");
         selenium.click("//div[2]/form/div[2]/ul/li[1]/a/span");
@@ -76,11 +76,11 @@ public class ConnInstanceTestITCase exte
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
 
         selenium.click("//div[3]/ul/li[2]/a");
-        selenium.click("//tr[4]/td[6]/div/span[8]/a");
+        selenium.click("//tr[4]/td[6]/div/span[9]/a");
 
         selenium.waitForCondition(""
                 + "selenium.isElementPresent(\"//div[2]/form/div[2]/div/div/div[3]/div[2]/span/select\");", "30000");
-        
+
         assertEquals("ConnInstance103", selenium.getAttribute("//input[@name='displayName:textField']/@value"));
 
         assertEquals("org.connid.bundles.soap", selenium
@@ -97,7 +97,7 @@ public class ConnInstanceTestITCase exte
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
 
         selenium.click("//div[3]/ul/li[2]/a");
-        selenium.click("//tr[4]/td[6]/div/span[10]/a");
+        selenium.click("//tr[4]/td[6]/div/span[11]/a");
 
         assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$"));
 
@@ -112,7 +112,7 @@ public class ConnInstanceTestITCase exte
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
 
         selenium.click("//div[3]/ul/li[2]/a");
-        selenium.click("//tr[2]/td[6]/div/span[8]/a");
+        selenium.click("//tr[2]/td[6]/div/span[9]/a");
 
         selenium.waitForCondition(
                 "selenium.isElementPresent(\"//select[@name='version:dropDownChoiceField']\");", "30000");

Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java (original)
+++ syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java Tue Jan 29 12:24:34 2013
@@ -27,7 +27,7 @@ public class ReportTestITCase extends Ab
         selenium.click("css=img[alt=\"Reports\"]");
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
 
-        selenium.click("//table/tbody/tr/td[8]/div/span[8]/a");
+        selenium.click("//table/tbody/tr/td[8]/div/span[9]/a");
         selenium.waitForCondition("selenium.isElementPresent("
                 + "\"//div[2]/form/div[2]/div/div/span/div/div/div/span\");", "30000");
 

Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java (original)
+++ syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java Tue Jan 29 12:24:34 2013
@@ -42,7 +42,7 @@ public class ResourceTestITCase extends 
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
 
-        selenium.click("//td[5]/div/span[8]/a");
+        selenium.click("//td[5]/div/span[9]/a");
 
         selenium.waitForCondition("selenium.isElementPresent("
                 + "\"//form/div[2]/div/span/div/div/div/label[text()='Name']\");", "30000");
@@ -64,7 +64,7 @@ public class ResourceTestITCase extends 
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
 
-        selenium.click("//tr[3]/td[5]/div/span[10]/a");
+        selenium.click("//tr[3]/td[5]/div/span[11]/a");
 
         assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$"));
     }
@@ -75,7 +75,7 @@ public class ResourceTestITCase extends 
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
 
-        selenium.click("//td[5]/div/span[8]/a");
+        selenium.click("//td[5]/div/span[9]/a");
 
         selenium.waitForCondition("selenium.isElementPresent("
                 + "\"//form/div[2]/div/span/div/div/div/label[text()='Name']\");", "30000");
@@ -97,7 +97,7 @@ public class ResourceTestITCase extends 
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
 
-        selenium.click("//*[@id=\"users-contain\"]//*[div=\"ws-target-resource-delete\"]/../td[5]/div/span[8]/a");
+        selenium.click("//*[@id=\"users-contain\"]//*[div=\"ws-target-resource-delete\"]/../td[5]/div/span[9]/a");
 
         selenium.waitForCondition("selenium.isElementPresent("
                 + "\"//form/div[2]/div/span/div/div/div/label[text()='Name']\");", "30000");

Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java (original)
+++ syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java Tue Jan 29 12:24:34 2013
@@ -130,9 +130,9 @@ public class RoleTestITCase extends Abst
 
         selenium.click("//input[@name=\"userListContainer:search\"]");
 
-        selenium.waitForCondition("selenium.isElementPresent(\"//table/tbody/tr/td[4]/div/span[8]/a\");", "30000");
+        selenium.waitForCondition("selenium.isElementPresent(\"//table/tbody/tr/td[4]/div/span[9]/a\");", "30000");
 
-        selenium.click("//table/tbody/tr/td[4]/div/span[8]/a");
+        selenium.click("//table/tbody/tr/td[4]/div/span[9]/a");
 
         selenium.waitForCondition("selenium.isElementPresent("
                 + "\"//form/div[2]/div/span/div/div/div[contains(text(),'Username')]\");", "30000");
@@ -156,9 +156,9 @@ public class RoleTestITCase extends Abst
 
         selenium.click("//input[@name=\"userListContainer:search\"]");
 
-        selenium.waitForCondition("selenium.isElementPresent(\"//span[10]/a\");", "30000");
+        selenium.waitForCondition("selenium.isElementPresent(\"//span[11]/a\");", "30000");
 
-        selenium.click("//span[10]/a");
+        selenium.click("//span[11]/a");
 
         assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$"));
     }

Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java (original)
+++ syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java Tue Jan 29 12:24:34 2013
@@ -51,7 +51,7 @@ public class SchemaTestITCase extends Ab
         selenium.click("//div[@id='tabs']/ul/li[3]/a/span");
         selenium.click("//div[@id='membership']/ul/li[3]/a/span");
 
-        selenium.click("//table/tbody/tr/td[3]/div/span[10]/a");
+        selenium.click("//table/tbody/tr/td[3]/div/span[11]/a");
 
         assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$"));
     }

Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java (original)
+++ syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java Tue Jan 29 12:24:34 2013
@@ -33,7 +33,7 @@ public class TaskTestITCase extends Abst
 
         selenium.waitForCondition("selenium.isTextPresent(" + "\"Operation executed successfully\");", "30000");
 
-        selenium.click("//*[div=1]/../td[9]/div/span[8]/a");
+        selenium.click("//*[div=1]/../td[9]/div/span[9]/a");
 
         selenium.waitForCondition("selenium.isElementPresent("
                 + "\"//form/div[2]/div/div/span/div/div/div[2]/span/input\");", "30000");
@@ -50,7 +50,7 @@ public class TaskTestITCase extends Abst
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
 
         selenium.click("//div[@id='tabs']/ul/li[3]/a/span");
-        selenium.click("//table/tbody/tr/td[7]/div/span[10]/a");
+        selenium.click("//table/tbody/tr/td[7]/div/span[11]/a");
 
         assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$"));
 

Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
==============================================================================
--- syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java (original)
+++ syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java Tue Jan 29 12:24:34 2013
@@ -50,7 +50,7 @@ public class UserTestITCase extends Abst
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
 
         //Edit user3
-        selenium.click("//*[@id=\"users-contain\"]//*[div=3]/../td[4]/div/span[8]/a");
+        selenium.click("//*[@id=\"users-contain\"]//*[div=3]/../td[4]/div/span[9]/a");
 
         selenium.waitForCondition("selenium.isElementPresent(" + "\"//input[@value='testUsername']\");", "30000");
 
@@ -89,7 +89,7 @@ public class UserTestITCase extends Abst
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
 
-        selenium.click("//*[@id=\"users-contain\"]//*[div=4]/../td[4]/div/span[10]/a");
+        selenium.click("//*[@id=\"users-contain\"]//*[div=4]/../td[4]/div/span[11]/a");
 
         assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$"));
 



Re: svn commit: r1439854 - in /syncope/trunk: common/src/main/java/org/apache/syncope/common/to/ console/src/main/java/org/apache/syncope/console/commons/ console/src/main/java/org/apache/syncope/console/pages/ console/src/main/java/org/apache/syncope/cons...

Posted by Francesco Chicchiriccò <il...@apache.org>.
On 30/01/2013 13:19, Colm O hEigeartaigh wrote:
>> Would you like me to fix this or do you already have the fix ready?
> If you could do it that'd be great - just make sure no other commit was
> overwritten I guess!

Done; that should be the only one.

Regards.

-- 
Francesco Chicchiriccò

ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/


Re: svn commit: r1439854 - in /syncope/trunk: common/src/main/java/org/apache/syncope/common/to/ console/src/main/java/org/apache/syncope/console/commons/ console/src/main/java/org/apache/syncope/console/pages/ console/src/main/java/org/apache/syncope/cons...

Posted by Colm O hEigeartaigh <co...@apache.org>.
> Sorry Colm, my mistake: yesterday I played a bit hard with SVN merge to
cope with SYNCOPE-293 and I thus have involuntarily
> reverted your commit as well.

No problem.

> Would you like me to fix this or do you already have the fix ready?

If you could do it that'd be great - just make sure no other commit was
overwritten I guess!

Thanks,

Colm.

On Wed, Jan 30, 2013 at 12:11 PM, Francesco Chicchiriccò <
ilgrosso@apache.org> wrote:

> On 30/01/2013 12:56, Colm O hEigeartaigh wrote:
>
>> Hi Francesco,
>>
>> -                List<String> choices = new ArrayList<String>(
>> mapConnBundleTO.get(**connectorTO.getBundleName()).**keySet());
>> -                version.setChoices(choices);
>> -                if (choices.size() == 1) {
>> -                    connectorTO.setVersion(**choices.get(0));
>> -                    version.getField().**setModelObject(choices.get(0))*
>> *;
>> -
>>   connectorTO.setDisplayName(**displayName.getModelObject());
>> -                    bundleTO = getSelectedBundleTO(**mapConnBundleTO,
>> connectorTO);
>> -                    properties = fillProperties(bundleTO, connectorTO);
>> -                }
>> +                version.setChoices(new
>> ArrayList<String>(**mapConnBundleTO.get(**connectorTO.getBundleName()).**
>> keySet()));
>>
>> Was this change intended? It reverted the merge I did to select a single
>> version number by default.
>>
>
> Sorry Colm, my mistake: yesterday I played a bit hard with SVN merge to
> cope with SYNCOPE-293 and I thus have involuntarily reverted your commit as
> well.
>
> Would you like me to fix this or do you already have the fix ready?
>
> Regards.
>
> --
> Francesco Chicchiriccò
>
> ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
> http://people.apache.org/~**ilgrosso/<http://people.apache.org/~ilgrosso/>
>
>


-- 
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

Re: svn commit: r1439854 - in /syncope/trunk: common/src/main/java/org/apache/syncope/common/to/ console/src/main/java/org/apache/syncope/console/commons/ console/src/main/java/org/apache/syncope/console/pages/ console/src/main/java/org/apache/syncope/cons...

Posted by Francesco Chicchiriccò <il...@apache.org>.
On 30/01/2013 12:56, Colm O hEigeartaigh wrote:
> Hi Francesco,
>
> -                List<String> choices = new ArrayList<String>(
> mapConnBundleTO.get(connectorTO.getBundleName()).keySet());
> -                version.setChoices(choices);
> -                if (choices.size() == 1) {
> -                    connectorTO.setVersion(choices.get(0));
> -                    version.getField().setModelObject(choices.get(0));
> -
>   connectorTO.setDisplayName(displayName.getModelObject());
> -                    bundleTO = getSelectedBundleTO(mapConnBundleTO,
> connectorTO);
> -                    properties = fillProperties(bundleTO, connectorTO);
> -                }
> +                version.setChoices(new
> ArrayList<String>(mapConnBundleTO.get(connectorTO.getBundleName()).keySet()));
>
> Was this change intended? It reverted the merge I did to select a single
> version number by default.

Sorry Colm, my mistake: yesterday I played a bit hard with SVN merge to 
cope with SYNCOPE-293 and I thus have involuntarily reverted your commit 
as well.

Would you like me to fix this or do you already have the fix ready?

Regards.

-- 
Francesco Chicchiriccò

ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/


Re: svn commit: r1439854 - in /syncope/trunk: common/src/main/java/org/apache/syncope/common/to/ console/src/main/java/org/apache/syncope/console/commons/ console/src/main/java/org/apache/syncope/console/pages/ console/src/main/java/org/apache/syncope/cons...

Posted by Colm O hEigeartaigh <co...@apache.org>.
Hi Francesco,

-                List<String> choices = new ArrayList<String>(
mapConnBundleTO.get(connectorTO.getBundleName()).keySet());
-                version.setChoices(choices);
-                if (choices.size() == 1) {
-                    connectorTO.setVersion(choices.get(0));
-                    version.getField().setModelObject(choices.get(0));
-
 connectorTO.setDisplayName(displayName.getModelObject());
-                    bundleTO = getSelectedBundleTO(mapConnBundleTO,
connectorTO);
-                    properties = fillProperties(bundleTO, connectorTO);
-                }
+                version.setChoices(new
ArrayList<String>(mapConnBundleTO.get(connectorTO.getBundleName()).keySet()));

Was this change intended? It reverted the merge I did to select a single
version number by default.

Colm.


On Tue, Jan 29, 2013 at 12:24 PM, <il...@apache.org> wrote:

> Author: ilgrosso
> Date: Tue Jan 29 12:24:34 2013
> New Revision: 1439854
>
> URL: http://svn.apache.org/viewvc?rev=1439854&view=rev
> Log:
> [SYNCOPE-122] Extension on console almost done: only missing on-the-fly
> selection for resources added (directly or via role selection) but not yet
> submitted
>
> Added:
>     syncope/trunk/console/src/main/webapp/img/actions/enable.png   (with
> props)
> Modified:
>
> syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java
>
> syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java
>
> syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.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/EditUserModalPage.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/panels/AbstractSearchResultPanel.java
>
> syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java
>
> syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java
>
> syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java
>
> syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.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/ResultStatusModalPage.html
>
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html
>
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties
>
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties
>
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html
>
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html
>
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java
>
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
>
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java
>
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java
>
> syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java
>
> syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java
>
> syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java
>
> syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java
>
> Modified:
> syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java
> (original)
> +++
> syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java
> Tue Jan 29 12:24:34 2013
> @@ -20,12 +20,10 @@ package org.apache.syncope.common.to;
>
>  import java.util.HashSet;
>  import java.util.Set;
> -
>  import javax.xml.bind.annotation.XmlElement;
>  import javax.xml.bind.annotation.XmlElementWrapper;
>  import javax.xml.bind.annotation.XmlRootElement;
>  import javax.xml.bind.annotation.XmlType;
> -
>  import org.apache.syncope.common.AbstractBaseBean;
>
>  /**
>
> Modified:
> syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java
> (original)
> +++
> syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java
> Tue Jan 29 12:24:34 2013
> @@ -19,6 +19,8 @@
>  package org.apache.syncope.console.commons;
>
>  import java.io.Serializable;
> +import org.apache.commons.lang.builder.ReflectionToStringBuilder;
> +import org.apache.commons.lang.builder.ToStringStyle;
>
>  public class StatusBean implements Serializable {
>
> @@ -30,9 +32,6 @@ public class StatusBean implements Seria
>
>      private StatusUtils.Status status =
> StatusUtils.Status.OBJECT_NOT_FOUND;
>
> -    public StatusBean() {
> -    }
> -
>      public String getAccountLink() {
>          return accountLink;
>      }
> @@ -56,4 +55,9 @@ public class StatusBean implements Seria
>      public void setStatus(final StatusUtils.Status status) {
>          this.status = status;
>      }
> +
> +    @Override
> +    public String toString() {
> +        return ReflectionToStringBuilder.toString(this,
> ToStringStyle.MULTI_LINE_STYLE);
> +    }
>  }
>
> Modified:
> syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.java
> (original)
> +++
> syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.java
> Tue Jan 29 12:24:34 2013
> @@ -21,15 +21,16 @@ package org.apache.syncope.console.commo
>  import java.io.Serializable;
>  import java.util.AbstractMap;
>  import java.util.ArrayList;
> +import java.util.Collection;
>  import java.util.Collections;
>  import java.util.List;
>  import java.util.Map;
> -
>  import org.apache.syncope.common.to.AbstractAttributableTO;
>  import org.apache.syncope.common.to.AttributeTO;
>  import org.apache.syncope.common.to.ConnObjectTO;
>  import org.apache.syncope.common.to.MappingItemTO;
>  import org.apache.syncope.common.to.MappingTO;
> +import org.apache.syncope.common.to.PropagationRequestTO;
>  import org.apache.syncope.common.to.ResourceTO;
>  import org.apache.syncope.common.to.RoleTO;
>  import org.apache.syncope.common.to.UserTO;
> @@ -214,4 +215,18 @@ public class StatusUtils implements Seri
>
>          return accountId;
>      }
> +
> +    public static PropagationRequestTO buildPropagationRequestTO(final
> Collection<StatusBean> statuses) {
> +        PropagationRequestTO propagationRequestTO = new
> PropagationRequestTO();
> +
> +        for (StatusBean status : statuses) {
> +            if ("Syncope".equals(status.getResourceName())) {
> +                propagationRequestTO.setOnSyncope(true);
> +            } else {
> +
>  propagationRequestTO.addResource(status.getResourceName());
> +            }
> +        }
> +
> +        return propagationRequestTO;
> +    }
>  }
>
> 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=1439854&r1=1439853&r2=1439854&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 Jan 29 12:24:34 2013
> @@ -278,15 +278,7 @@ public class ConnectorModalPage extends
>                  properties.clear();
>                  version.setEnabled(connectorTO.getBundleName() != null);
>                  version.getField().setModelValue(null);
> -                List<String> choices = new
> ArrayList<String>(mapConnBundleTO.get(connectorTO.getBundleName()).keySet());
> -                version.setChoices(choices);
> -                if (choices.size() == 1) {
> -                    connectorTO.setVersion(choices.get(0));
> -                    version.getField().setModelObject(choices.get(0));
> -
>  connectorTO.setDisplayName(displayName.getModelObject());
> -                    bundleTO = getSelectedBundleTO(mapConnBundleTO,
> connectorTO);
> -                    properties = fillProperties(bundleTO, connectorTO);
> -                }
> +                version.setChoices(new
> ArrayList<String>(mapConnBundleTO.get(connectorTO.getBundleName()).keySet()));
>                  target.add(bundleName);
>                  target.add(version);
>                  target.add(propertiesContainer);
>
> Modified:
> syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java
> (original)
> +++
> syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java
> Tue Jan 29 12:24:34 2013
> @@ -20,7 +20,6 @@ package org.apache.syncope.console.pages
>
>  import java.util.ArrayList;
>  import java.util.List;
> -
>  import org.apache.syncope.common.mod.UserMod;
>  import org.apache.syncope.common.to.UserTO;
>  import org.apache.syncope.common.util.AttributableOperations;
> @@ -31,7 +30,9 @@ import org.apache.syncope.console.rest.U
>  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.markup.html.basic.Label;
>  import org.apache.wicket.markup.html.form.Form;
> +import org.apache.wicket.model.ResourceModel;
>  import org.apache.wicket.spring.injection.annot.SpringBean;
>
>  /**
> @@ -46,6 +47,8 @@ public class EditUserModalPage extends U
>
>      private UserTO initialUserTO = null;
>
> +    private StatusPanel statusPanel;
> +
>      public EditUserModalPage(final PageReference callerPageRef, final
> ModalWindow window, final UserTO userTO) {
>          super(callerPageRef, window, userTO, Mode.ADMIN, true);
>
> @@ -57,7 +60,10 @@ public class EditUserModalPage extends U
>          if (userTO.getId() != 0) {
>              final List<StatusBean> statuses = new ArrayList<StatusBean>();
>
> -            form.addOrReplace(new StatusPanel("statuspanel", userTO,
> statuses, false));
> +            form.addOrReplace(new Label("pwdChangeInfo", new
> ResourceModel("pwdChangeInfo")));
> +
> +            statusPanel = new StatusPanel("statuspanel", userTO,
> statuses);
> +            form.addOrReplace(statusPanel);
>
>              form.addOrReplace(new
> AccountInformationPanel("accountinformation", userTO));
>          }
> @@ -72,6 +78,10 @@ public class EditUserModalPage extends U
>          } else {
>              final UserMod userMod =
> AttributableOperations.diff(updatedUserTO, initialUserTO);
>
> +            if (statusPanel != null) {
> +
>  userMod.setPwdPropRequest(statusPanel.getPropagationRequestTO());
> +            }
> +
>              // update user just if it is changed
>              if (!userMod.isEmpty()) {
>                  userTO = userRestClient.update(userMod);
>
> Modified:
> syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java
> (original)
> +++
> syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java
> Tue Jan 29 12:24:34 2013
> @@ -107,6 +107,8 @@ public abstract class UserModalPage exte
>          form.add(new UserDetailsPanel("details", userTO, form,
> resetPassword, mode == Mode.TEMPLATE));
>
>          form.add(new Label("statuspanel", ""));
> +
> +        form.add(new Label("pwdChangeInfo", ""));
>
>          form.add(new Label("accountinformation", ""));
>          //--------------------------------
>
> 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=1439854&r1=1439853&r2=1439854&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 Jan 29 12:24:34 2013
> @@ -19,7 +19,6 @@
>  package org.apache.syncope.console.pages.panels;
>
>  import java.util.List;
> -
>  import org.apache.syncope.common.search.NodeCond;
>  import org.apache.syncope.common.to.AbstractAttributableTO;
>  import org.apache.syncope.console.commons.AttributableDataProvider;
>
> Modified:
> syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java
> (original)
> +++
> syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java
> Tue Jan 29 12:24:34 2013
> @@ -19,10 +19,11 @@
>  package org.apache.syncope.console.pages.panels;
>
>  import java.util.ArrayList;
> +import java.util.Collection;
>  import java.util.List;
> -
>  import org.apache.commons.lang.StringUtils;
>  import org.apache.syncope.common.to.AbstractAttributableTO;
> +import org.apache.syncope.common.to.PropagationRequestTO;
>  import org.apache.syncope.common.to.RoleTO;
>  import org.apache.syncope.common.to.UserTO;
>  import org.apache.syncope.console.commons.StatusBean;
> @@ -41,7 +42,6 @@ import org.apache.wicket.markup.html.for
>  import org.apache.wicket.markup.html.image.Image;
>  import org.apache.wicket.markup.html.list.ListItem;
>  import org.apache.wicket.markup.html.list.ListView;
> -import org.apache.wicket.markup.html.panel.Fragment;
>  import org.apache.wicket.markup.html.panel.Panel;
>  import org.apache.wicket.model.ResourceModel;
>  import org.apache.wicket.spring.injection.annot.SpringBean;
> @@ -59,14 +59,10 @@ public class StatusPanel extends Panel {
>
>      private final StatusUtils statusUtils;
>
> -    public <T extends AbstractAttributableTO> StatusPanel(final String
> id, final AbstractAttributableTO attributable,
> -            final List<StatusBean> selectedResources) {
> -
> -        this(id, attributable, selectedResources, true);
> -    }
> +    private final CheckGroup<StatusBean> checkGroup;
>
>      public <T extends AbstractAttributableTO> StatusPanel(final String
> id, final AbstractAttributableTO attributable,
> -            final List<StatusBean> selectedResources, final boolean
> enabled) {
> +            final List<StatusBean> selectedResources) {
>
>          super(id);
>          statusUtils = new StatusUtils(resourceRestClient,
> @@ -92,19 +88,10 @@ public class StatusPanel extends Panel {
>
>          statuses.addAll(statusUtils.getRemoteStatuses(attributable));
>
> -        final CheckGroup group = new CheckGroup("group",
> selectedResources);
> -        add(group);
> -
> -        final Fragment headerCheckFrag;
> +        checkGroup = new CheckGroup<StatusBean>("group",
> selectedResources);
> +        add(checkGroup);
>
> -        if (enabled) {
> -            headerCheckFrag = new Fragment("headerCheck",
> "headerCheckFrag", this);
> -            headerCheckFrag.add(new CheckGroupSelector("groupselector",
> group));
> -        } else {
> -            headerCheckFrag = new Fragment("headerCheck",
> "emptyCheckFrag", this);
> -        }
> -
> -        add(headerCheckFrag);
> +        add(new CheckGroupSelector("groupselector", checkGroup));
>
>          final ListView<StatusBean> resources = new
> ListView<StatusBean>("resources", statuses) {
>
> @@ -155,19 +142,10 @@ public class StatusPanel extends Panel {
>                      }
>                  });
>
> -                final Fragment checkFrag;
> -                if (enabled) {
> -                    final Check check = new Check("check",
> item.getModel(), group);
> -
> -                    check.setEnabled(checkVisibility);
> -                    check.setVisible(checkVisibility);
> -
> -                    checkFrag = new Fragment("rowCheck", "rowCheckFrag",
> getParent());
> -                    checkFrag.add(check);
> -                } else {
> -                    checkFrag = new Fragment("rowCheck",
> "emptyCheckFrag", group.getParent());
> -                }
> -                item.add(checkFrag);
> +                final Check check = new Check("check", item.getModel(),
> checkGroup);
> +                check.setEnabled(checkVisibility);
> +                check.setVisible(checkVisibility);
> +                item.add(check);
>
>                  item.add(new Label("resource", new
> ResourceModel(item.getModelObject().getResourceName(), item
>                          .getModelObject().getResourceName())));
> @@ -185,6 +163,18 @@ public class StatusPanel extends Panel {
>
>          resources.setReuseItems(true);
>
> -        group.add(resources);
> +        checkGroup.add(resources);
> +    }
> +
> +    public PropagationRequestTO getPropagationRequestTO() {
> +        PropagationRequestTO result = null;
> +
> +        Collection<StatusBean> statusBeans =
> checkGroup.getModel().getObject();
> +        if (statusBeans != null && !statusBeans.isEmpty()) {
> +            result = StatusUtils.buildPropagationRequestTO(statusBeans);
> +
> +        }
> +
> +        return result;
>      }
>  }
>
> 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=1439854&r1=1439853&r2=1439854&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 Jan 29 12:24:34 2013
> @@ -23,7 +23,6 @@ import java.util.ArrayList;
>  import java.util.Arrays;
>  import java.util.Date;
>  import java.util.List;
> -
>  import org.apache.syncope.common.search.NodeCond;
>  import org.apache.syncope.common.to.AbstractAttributableTO;
>  import org.apache.syncope.common.to.UserTO;
> @@ -134,7 +133,7 @@ public class UserSearchResultPanel exten
>
>                          statusmodal.show(target);
>                      }
> -                }, ActionLink.ActionType.SEARCH, "Users", "read");
> +                }, ActionLink.ActionType.ENABLE, "Users", "update");
>
>                  panel.add(new ActionLink() {
>
>
> Modified:
> syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java
> (original)
> +++
> syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java
> Tue Jan 29 12:24:34 2013
> @@ -19,19 +19,17 @@
>  package org.apache.syncope.console.rest;
>
>  import java.util.List;
> -
>  import javax.ws.rs.core.Response;
> -
>  import org.apache.syncope.common.mod.UserMod;
>  import org.apache.syncope.common.search.NodeCond;
>  import org.apache.syncope.common.services.ResourceService;
>  import org.apache.syncope.common.services.UserService;
>  import org.apache.syncope.common.to.ConnObjectTO;
> -import org.apache.syncope.common.to.PropagationRequestTO;
>  import org.apache.syncope.common.to.UserTO;
>  import org.apache.syncope.common.types.AttributableType;
>  import
> org.apache.syncope.common.validation.SyncopeClientCompositeErrorException;
>  import org.apache.syncope.console.commons.StatusBean;
> +import org.apache.syncope.console.commons.StatusUtils;
>  import org.springframework.stereotype.Component;
>
>  /**
> @@ -112,28 +110,11 @@ public class UserRestClient extends Abst
>          return
> getService(ResourceService.class).getConnector(resourceName,
> AttributableType.USER, objectId);
>      }
>
> -    private PropagationRequestTO getPropagationRequestTO(final
> List<StatusBean> statuses, final boolean enable) {
> -        PropagationRequestTO propagationRequestTO = new
> PropagationRequestTO();
> -
> -        for (StatusBean status : statuses) {
> -            if ((enable && !status.getStatus().isActive()) || (!enable &&
> status.getStatus().isActive())) {
> -
> -                if ("Syncope".equals(status.getResourceName())) {
> -                    propagationRequestTO.setOnSyncope(true);
> -                } else {
> -
>  propagationRequestTO.addResource(status.getResourceName());
> -                }
> -            }
> -        }
> -
> -        return propagationRequestTO;
> -    }
> -
>      public UserTO suspend(final long userId, final List<StatusBean>
> statuses) {
> -        return getService(UserService.class).suspend(userId,
> getPropagationRequestTO(statuses, false));
> +        return getService(UserService.class).suspend(userId,
> StatusUtils.buildPropagationRequestTO(statuses));
>      }
>
>      public UserTO reactivate(final long userId, final List<StatusBean>
> statuses) {
> -        return getService(UserService.class).reactivate(userId,
> getPropagationRequestTO(statuses, true));
> +        return getService(UserService.class).reactivate(userId,
> StatusUtils.buildPropagationRequestTO(statuses));
>      }
>  }
>
> Modified:
> syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.java
> (original)
> +++
> syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.java
> Tue Jan 29 12:24:34 2013
> @@ -19,7 +19,6 @@
>  package org.apache.syncope.console.wicket.markup.html.form;
>
>  import java.io.Serializable;
> -
>  import org.apache.wicket.ajax.AjaxRequestTarget;
>
>  public abstract class ActionLink implements Serializable {
> @@ -32,6 +31,7 @@ public abstract class ActionLink impleme
>          EDIT,
>          USER_TEMPLATE,
>          ROLE_TEMPLATE,
> +        ENABLE,
>          SEARCH,
>          DELETE,
>          EXECUTE,
>
> 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=1439854&r1=1439853&r2=1439854&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
> Tue Jan 29 12:24:34 2013
> @@ -49,6 +49,7 @@ public class ActionLinksPanel extends Pa
>          super.add(new Fragment("panelEdit", "emptyFragment", this));
>          super.add(new Fragment("panelUserTemplate", "emptyFragment",
> this));
>          super.add(new Fragment("panelRoleTemplate", "emptyFragment",
> this));
> +        super.add(new Fragment("panelEnable", "emptyFragment", this));
>          super.add(new Fragment("panelSearch", "emptyFragment", this));
>          super.add(new Fragment("panelDelete", "emptyFragment", this));
>          super.add(new Fragment("panelExecute", "emptyFragment", this));
> @@ -150,6 +151,20 @@ public class ActionLinksPanel extends Pa
>                  });
>                  break;
>
> +            case ENABLE:
> +                fragment = new Fragment("panelEnable", "fragmentEnable",
> this);
> +
> +                fragment.addOrReplace(new
> IndicatingAjaxLink("enableLink") {
> +
> +                    private static final long serialVersionUID =
> -7978723352517770644L;
> +
> +                    @Override
> +                    public void onClick(final AjaxRequestTarget target) {
> +                        link.onClick(target);
> +                    }
> +                });
> +                break;
> +
>              case SEARCH:
>                  fragment = new Fragment("panelSearch", "fragmentSearch",
> this);
>
>
> Modified:
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResultStatusModalPage.html
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResultStatusModalPage.html?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResultStatusModalPage.html
> (original)
> +++
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResultStatusModalPage.html
> Tue Jan 29 12:24:34 2013
> @@ -71,7 +71,7 @@ under the License.
>        border-bottom: 1px solid #DDDDDD;
>        display: table-cell;
>        height: 15px;
> -      width: 18%;
> +      width: 220px;
>        padding: 0px 5px 0px 5px;
>        vertical-align: middle;
>      }
> @@ -89,7 +89,7 @@ under the License.
>
>      div#resource {
>        display: table-cell;
> -      width: 18%;
> +      width: 220px;
>        height: 30px;
>        padding: 3px 0px 5px 0px;
>      }
>
> Modified:
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html
> (original)
> +++
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html
> Tue Jan 29 12:24:34 2013
> @@ -79,6 +79,7 @@ under the License.
>            </ul>
>            <div id="tabs-1">
>              <span wicket:id="details">[user details]</span>
> +            <div wicket:id="pwdChangeInfo" style="margin-top:
> 15px;">[pwdChangeInfo]</div>
>              <span wicket:id="statuspanel">[Sattus Panel]</span>
>              <span wicket:id="accountinformation">[Account
> Information]</span>
>            </div>
>
> Modified:
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties
> (original)
> +++
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties
> Tue Jan 29 12:24:34 2013
> @@ -47,3 +47,4 @@ virtualAttributeValue=Virtual value
>
>  addAttributeBtn=Add
>  new=New
> +pwdChangeInfo=If provided, the password will be changed on the following
> resources.
>
> Modified:
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties
> (original)
> +++
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties
> Tue Jan 29 12:24:34 2013
> @@ -48,3 +48,4 @@ virtualAttributeValue=Valore virtuale
>  addAttributeBtn=Aggiungi
>
>  new=Nuovo
> +pwdChangeInfo=Se inserita, la password verr\u00e0 cambiata sulle seguenti
> risorse.
>
> Modified:
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html
> (original)
> +++
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html
> Tue Jan 29 12:24:34 2013
> @@ -16,116 +16,105 @@ KIND, either express or implied.  See th
>  specific language governing permissions and limitations
>  under the License.
>  -->
> -<html>
> -    <wicket:head>
> -        <style>
> -            div.group{
> -                width:100%;
> -            }
> -
> -            div#check{
> -                width:8%;
> -                height: 25px;
> -                float:left;
> -            }
> -
> -            div#resource{
> -                margin-top: 3px;
> -                margin-left: 5px;
> -                width: 35%;
> -                height: 25px;
> -                float:left;
> -            }
> -
> -            div#accountLink{
> -                margin-top: 3px;
> -                width:45%;
> -                height: 25px;
> -                float:left
> -            }
> -
> -            div#status{
> -                margin-top: 3px;
> -                height: 25px;
> -                width: 10%;
> -                float: left;
> -                text-align: center;
> -            }
> -
> -            div.assignment {
> -                display: inline-table;
> -                width: 100%
> -            }
> -
> -            div.assignments {
> -                margin-top: 20px;
> -                display: inline-table;
> -                width: 100%;
> -                border: 1px solid #DDDDDD;
> -                color: #555555;
> -            }
> -        </style>
> -    </wicket:head>
> -    <wicket:panel>
> -        <div class="assignments">
> -            <div class="group">
> -                <div>
> -                    <span wicket:id="headerCheck"/>
> -
> -                    <div id="resource">
> -                        <span style="font: Verdana,Arial,sans-serif;
> font-weight: bold">
> -                            <wicket:message key="resourceheader"/>
> -                        </span>
> -                    </div>
> -                    <div id="accountLink">
> -                        <span style="font: Verdana,Arial,sans-serif;
> font-weight: bold">
> -                            <wicket:message key="accountlinkheader"/>
> -                        </span>
> -                    </div>
> -                    <div id="status">
> -                        <span style="font: Verdana,Arial,sans-serif;
> font-weight: bold">
> -                            <wicket:message key="statusheader"/>
> -                        </span>
> -                    </div>
> -                </div>
> -
> -                <span wicket:id="group">
> -
> -                    <div wicket:id="resources" class="assignment">
> -                        <span wicket:id="rowCheck"/>
> -
> -                        <div id="resource">
> -                            <span wicket:id="resource">[resource
> name]</span>
> -                        </div>
> -                        <div id="accountLink">
> -                            <span
> wicket:id="accountLink">[accountLink]</span>
> -                        </div>
> -                        <div id="status">
> -                            <img wicket:id="icon"/>
> -                        </div>
> -                    </div>
> -
> -                    <wicket:fragment wicket:id="rowCheckFrag">
> -                        <div id="check">
> -                            <input type="checkbox" wicket:id="check"/>
> -                        </div>
> -                    </wicket:fragment>
> -                </span>
> -            </div>
> -
> -            <wicket:fragment wicket:id="headerCheckFrag">
> -                <div id="check">
> -                    <input type="checkbox" wicket:id="groupselector" />
> -                </div>
> -            </wicket:fragment>
> +<wicket:head>
> +  <style>
> +    div.group{
> +      width:100%;
> +    }
> +
> +    div#check{
> +      width:8%;
> +      height: 25px;
> +      float:left;
> +    }
> +
> +    div#resource{
> +      margin-top: 3px;
> +      margin-left: 5px;
> +      width: 35%;
> +      height: 25px;
> +      float:left;
> +    }
> +
> +    div#accountLink{
> +      margin-top: 3px;
> +      width:45%;
> +      height: 25px;
> +      float:left
> +    }
> +
> +    div#status{
> +      margin-top: 3px;
> +      height: 25px;
> +      width: 10%;
> +      float: left;
> +      text-align: center;
> +    }
> +
> +    div.assignment {
> +      display: inline-table;
> +      width: 100%
> +    }
> +
> +    div.assignments {
> +      margin-top: 5px;
> +      display: inline-table;
> +      width: 100%;
> +      border: 1px solid #DDDDDD;
> +      color: #555555;
> +    }
> +  </style>
> +</wicket:head>
> +<wicket:panel>
> +  <div class="assignments">
> +    <div class="group">
> +      <div>
> +        <div id="check">
> +          <input type="checkbox" wicket:id="groupselector" />
> +        </div>
>
> -            <wicket:fragment wicket:id="emptyCheckFrag" />
> +        <div id="resource">
> +          <span style="font: Verdana,Arial,sans-serif; font-weight: bold">
> +            <wicket:message key="resourceheader"/>
> +          </span>
> +        </div>
> +        <div id="accountLink">
> +          <span style="font: Verdana,Arial,sans-serif; font-weight: bold">
> +            <wicket:message key="accountlinkheader"/>
> +          </span>
>          </div>
> +        <div id="status">
> +          <span style="font: Verdana,Arial,sans-serif; font-weight: bold">
> +            <wicket:message key="statusheader"/>
> +          </span>
> +        </div>
> +      </div>
> +
> +      <span wicket:id="group">
> +
> +        <div wicket:id="resources" class="assignment">
> +          <div id="check">
> +            <input type="checkbox" wicket:id="check"/>
> +          </div>
> +
> +          <div id="resource">
> +            <span wicket:id="resource">[resource name]</span>
> +          </div>
> +          <div id="accountLink">
> +            <span wicket:id="accountLink">[accountLink]</span>
> +          </div>
> +          <div id="status">
> +            <img wicket:id="icon"/>
> +          </div>
> +        </div>
> +      </span>
> +    </div>
> +
> +  </div>
>
> -        <script type="text/javascript">
> -            $(function() {
> -                $('div.assignments div.assignment:even').addClass("alt");
> -            });
> -        </script>
> -    </wicket:panel>
> -</html>
> +  <script type="text/javascript">
> +    $(function() {
> +      $('div.assignments div.assignment:even').addClass("alt");
> +    });
> +  </script>
> +</wicket:panel>
>
> Modified:
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html
> (original)
> +++
> syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html
> Tue Jan 29 12:24:34 2013
> @@ -28,6 +28,7 @@ under the License.
>    <span id="action" wicket:id="panelClaim">[plus]</span>
>    <span id="action" wicket:id="panelDryRun">[plus]</span>
>    <span id="action" wicket:id="panelExecute">[plus]</span>
> +  <span id="action" wicket:id="panelEnable">[plus]</span>
>    <span id="action" wicket:id="panelSearch">[plus]</span>
>    <span id="action" wicket:id="panelCreate">[plus]</span>
>    <span id="action" wicket:id="panelUserTemplate">[plus]</span>
> @@ -46,7 +47,11 @@ under the License.
>    </wicket:fragment>
>
>    <wicket:fragment wicket:id="fragmentSearch">
> -    <a href="#" wicket:id="searchLink"><img src="img/actions/search.png"
> alt="search icon"  title="Search and modify" /></a>
> +    <a href="#" wicket:id="searchLink"><img src="img/actions/search.png"
> alt="search icon"  title="Search and modify"/></a>
> +  </wicket:fragment>
> +
> +  <wicket:fragment wicket:id="fragmentEnable">
> +    <a href="#" wicket:id="enableLink"><img src="img/actions/enable.png"
> alt="enable icon"  title="Enable / Disable"/></a>
>    </wicket:fragment>
>
>    <wicket:fragment wicket:id="fragmentEdit">
>
> Added: syncope/trunk/console/src/main/webapp/img/actions/enable.png
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/main/webapp/img/actions/enable.png?rev=1439854&view=auto
>
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: syncope/trunk/console/src/main/webapp/img/actions/enable.png
>
> ------------------------------------------------------------------------------
>     svn:mime-type = image/png
>
> Modified:
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java
> (original)
> +++
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java
> Tue Jan 29 12:24:34 2013
> @@ -45,7 +45,7 @@ public class ConfigurationTestITCase ext
>
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");",
> "30000");
>
> -        selenium.click("//tr/td[3]/div/span[8]/a");
> +        selenium.click("//tr/td[3]/div/span[9]/a");
>
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//input[@name='key:textField']\");",
> "30000");
>
> @@ -106,7 +106,7 @@ public class ConfigurationTestITCase ext
>
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");",
> "30000");
>
> -        selenium.click("//tr[7]/td[3]/div/span[10]/a");
> +        selenium.click("//tr[7]/td[3]/div/span[11]/a");
>
>          assertTrue(selenium.getConfirmation().matches("^Do you really
> want to delete the selected item[\\s\\S]$"));
>
>
> Modified:
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
> (original)
> +++
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
> Tue Jan 29 12:24:34 2013
> @@ -54,12 +54,12 @@ public class ConnInstanceTestITCase exte
>
>          selenium.click("//div[3]/div[2]/a");
>
> -        selenium.waitForCondition(""
> -                +
> "selenium.isElementPresent(\"//div[2]/form/div[2]/div/div/div[3]/div[2]/span/select\");",
> "30000");
> -
>  selenium.select("//select[@name='connectorName:dropDownChoiceField']",
> -                "label=org.connid.bundles.soap");
> -        selenium.select("//select[@name='version:dropDownChoiceField']",
> -                "label=1.2.4");
> +        selenium.waitForCondition(
> +
>  "selenium.isElementPresent(\"//form/div[2]/div/div/div[3]/div[2]/span/select\");",
> "30000");
> +
>  selenium.select("//select[@name='connectorName:dropDownChoiceField']",
> "label=org.connid.bundles.soap");
> +        selenium.waitForCondition(
> +
>  "selenium.isElementPresent(\"//form/div[2]/div/div/div[3]/div[2]/span/select/option[2]\");",
> "30000");
> +        selenium.select("//select[@name='version:dropDownChoiceField']",
> "label=1.2.4");
>
>          selenium.click("//div[2]/form/div[2]/ul/li[2]/a/span");
>          selenium.click("//div[2]/form/div[2]/ul/li[1]/a/span");
> @@ -76,11 +76,11 @@ public class ConnInstanceTestITCase exte
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");",
> "30000");
>
>          selenium.click("//div[3]/ul/li[2]/a");
> -        selenium.click("//tr[4]/td[6]/div/span[8]/a");
> +        selenium.click("//tr[4]/td[6]/div/span[9]/a");
>
>          selenium.waitForCondition(""
>                  +
> "selenium.isElementPresent(\"//div[2]/form/div[2]/div/div/div[3]/div[2]/span/select\");",
> "30000");
> -
> +
>          assertEquals("ConnInstance103",
> selenium.getAttribute("//input[@name='displayName:textField']/@value"));
>
>          assertEquals("org.connid.bundles.soap", selenium
> @@ -97,7 +97,7 @@ public class ConnInstanceTestITCase exte
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");",
> "30000");
>
>          selenium.click("//div[3]/ul/li[2]/a");
> -        selenium.click("//tr[4]/td[6]/div/span[10]/a");
> +        selenium.click("//tr[4]/td[6]/div/span[11]/a");
>
>          assertTrue(selenium.getConfirmation().matches("^Do you really
> want to delete the selected item[\\s\\S]$"));
>
> @@ -112,7 +112,7 @@ public class ConnInstanceTestITCase exte
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");",
> "30000");
>
>          selenium.click("//div[3]/ul/li[2]/a");
> -        selenium.click("//tr[2]/td[6]/div/span[8]/a");
> +        selenium.click("//tr[2]/td[6]/div/span[9]/a");
>
>          selenium.waitForCondition(
>
>  "selenium.isElementPresent(\"//select[@name='version:dropDownChoiceField']\");",
> "30000");
>
> Modified:
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java
> (original)
> +++
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java
> Tue Jan 29 12:24:34 2013
> @@ -27,7 +27,7 @@ public class ReportTestITCase extends Ab
>          selenium.click("css=img[alt=\"Reports\"]");
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");",
> "30000");
>
> -        selenium.click("//table/tbody/tr/td[8]/div/span[8]/a");
> +        selenium.click("//table/tbody/tr/td[8]/div/span[9]/a");
>          selenium.waitForCondition("selenium.isElementPresent("
>                  +
> "\"//div[2]/form/div[2]/div/div/span/div/div/div/span\");", "30000");
>
>
> Modified:
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java
> (original)
> +++
> syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java
> Tue Jan 29 12:24:34 2013
> @@ -42,7 +42,7 @@ public class ResourceTestITCase extends
>
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");",
> "30000");
>
> -        selenium.click("//td[5]/div/span[8]/a");
> +        selenium.click("//td[5]/div/span[9]/a");
>
>          selenium.waitForCondition("selenium.isElementPresent("
>                  +
> "\"//form/div[2]/div/span/div/div/div/label[text()='Name']\");", "30000");
> @@ -64,7 +64,7 @@ public class ResourceTestITCase extends
>
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");",
> "30000");
>
> -        selenium.click("//tr[3]/td[5]/div/span[10]/a");
> +        selenium.click("//tr[3]/td[5]/div/span[11]/a");
>
>          assertTrue(selenium.getConfirmation().matches("^Do you really
> want to delete the selected item[\\s\\S]$"));
>      }
> @@ -75,7 +75,7 @@ public class ResourceTestITCase extends
>
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");",
> "30000");
>
> -        selenium.click("//td[5]/div/span[8]/a");
> +        selenium.click("//td[5]/div/span[9]/a");
>
>          selenium.waitForCondition("selenium.isElementPresent("
>                  +
> "\"//form/div[2]/div/span/div/div/div/label[text()='Name']\");", "30000");
> @@ -97,7 +97,7 @@ public class ResourceTestITCase extends
>
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");",
> "30000");
>
> -
>  selenium.click("//*[@id=\"users-contain\"]//*[div=\"ws-target-resource-delete\"]/../td[5]/div/span[8]/a");
> +
>  selenium.click("//*[@id=\"users-contain\"]//*[div=\"ws-target-resource-delete\"]/../td[5]/div/span[9]/a");
>
>          selenium.waitForCondition("selenium.isElementPresent("
>                  +
> "\"//form/div[2]/div/span/div/div/div/label[text()='Name']\");", "30000");
>
> Modified:
> syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java
> (original)
> +++
> syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java
> Tue Jan 29 12:24:34 2013
> @@ -130,9 +130,9 @@ public class RoleTestITCase extends Abst
>
>          selenium.click("//input[@name=\"userListContainer:search\"]");
>
> -
>  selenium.waitForCondition("selenium.isElementPresent(\"//table/tbody/tr/td[4]/div/span[8]/a\");",
> "30000");
> +
>  selenium.waitForCondition("selenium.isElementPresent(\"//table/tbody/tr/td[4]/div/span[9]/a\");",
> "30000");
>
> -        selenium.click("//table/tbody/tr/td[4]/div/span[8]/a");
> +        selenium.click("//table/tbody/tr/td[4]/div/span[9]/a");
>
>          selenium.waitForCondition("selenium.isElementPresent("
>                  +
> "\"//form/div[2]/div/span/div/div/div[contains(text(),'Username')]\");",
> "30000");
> @@ -156,9 +156,9 @@ public class RoleTestITCase extends Abst
>
>          selenium.click("//input[@name=\"userListContainer:search\"]");
>
> -
>  selenium.waitForCondition("selenium.isElementPresent(\"//span[10]/a\");",
> "30000");
> +
>  selenium.waitForCondition("selenium.isElementPresent(\"//span[11]/a\");",
> "30000");
>
> -        selenium.click("//span[10]/a");
> +        selenium.click("//span[11]/a");
>
>          assertTrue(selenium.getConfirmation().matches("^Do you really
> want to delete the selected item[\\s\\S]$"));
>      }
>
> Modified:
> syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java
> (original)
> +++
> syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java
> Tue Jan 29 12:24:34 2013
> @@ -51,7 +51,7 @@ public class SchemaTestITCase extends Ab
>          selenium.click("//div[@id='tabs']/ul/li[3]/a/span");
>          selenium.click("//div[@id='membership']/ul/li[3]/a/span");
>
> -        selenium.click("//table/tbody/tr/td[3]/div/span[10]/a");
> +        selenium.click("//table/tbody/tr/td[3]/div/span[11]/a");
>
>          assertTrue(selenium.getConfirmation().matches("^Do you really
> want to delete the selected item[\\s\\S]$"));
>      }
>
> Modified:
> syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java
> (original)
> +++
> syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java
> Tue Jan 29 12:24:34 2013
> @@ -33,7 +33,7 @@ public class TaskTestITCase extends Abst
>
>          selenium.waitForCondition("selenium.isTextPresent(" +
> "\"Operation executed successfully\");", "30000");
>
> -        selenium.click("//*[div=1]/../td[9]/div/span[8]/a");
> +        selenium.click("//*[div=1]/../td[9]/div/span[9]/a");
>
>          selenium.waitForCondition("selenium.isElementPresent("
>                  +
> "\"//form/div[2]/div/div/span/div/div/div[2]/span/input\");", "30000");
> @@ -50,7 +50,7 @@ public class TaskTestITCase extends Abst
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");",
> "30000");
>
>          selenium.click("//div[@id='tabs']/ul/li[3]/a/span");
> -        selenium.click("//table/tbody/tr/td[7]/div/span[10]/a");
> +        selenium.click("//table/tbody/tr/td[7]/div/span[11]/a");
>
>          assertTrue(selenium.getConfirmation().matches("^Do you really
> want to delete the selected item[\\s\\S]$"));
>
>
> Modified:
> syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java
> URL:
> http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff
>
> ==============================================================================
> ---
> syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java
> (original)
> +++
> syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java
> Tue Jan 29 12:24:34 2013
> @@ -50,7 +50,7 @@ public class UserTestITCase extends Abst
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");",
> "30000");
>
>          //Edit user3
> -
>  selenium.click("//*[@id=\"users-contain\"]//*[div=3]/../td[4]/div/span[8]/a");
> +
>  selenium.click("//*[@id=\"users-contain\"]//*[div=3]/../td[4]/div/span[9]/a");
>
>          selenium.waitForCondition("selenium.isElementPresent(" +
> "\"//input[@value='testUsername']\");", "30000");
>
> @@ -89,7 +89,7 @@ public class UserTestITCase extends Abst
>
>
>  selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");",
> "30000");
>
> -
>  selenium.click("//*[@id=\"users-contain\"]//*[div=4]/../td[4]/div/span[10]/a");
> +
>  selenium.click("//*[@id=\"users-contain\"]//*[div=4]/../td[4]/div/span[11]/a");
>
>          assertTrue(selenium.getConfirmation().matches("^Do you really
> want to delete the selected item[\\s\\S]$"));
>
>
>
>


-- 
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com