[Yanel-commits] rev 47314 - public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client

michi at wyona.com michi at wyona.com
Thu Jan 28 14:06:54 CET 2010


Author: michi
Date: 2010-01-28 14:06:53 +0100 (Thu, 28 Jan 2010)
New Revision: 47314

Modified:
   public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/PolicyListBoxWidget.java
Log:
set rights on multiple items

Modified: public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/PolicyListBoxWidget.java
===================================================================
--- public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/PolicyListBoxWidget.java	2010-01-28 12:53:31 UTC (rev 47313)
+++ public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/PolicyListBoxWidget.java	2010-01-28 13:06:53 UTC (rev 47314)
@@ -155,7 +155,7 @@
                     //Window.alert("Remove \"" + selectedRightCB.getName() + " (" + selectedRightCB.getText() + ")\" right of selected identity " + selectedIdentity + " from policy");
                     newRights = removeRight(currentRights, selectedRight);
                 }
-                setSelectedListItem(newRights);
+                setRightsForSelectedListItem(newRights);
             } else {
                 Window.alert("No identity has been selected! Please select an identity in order to assign rights.");
                 selectedRightCB.setChecked(false);
@@ -277,16 +277,22 @@
     }
 
     /**
-     *
+     * Set rights for selected users/groups
      */
-    private void setSelectedListItem(String[] rights) {
-        int index = lb.getSelectedIndex();
-        if (index >= 0) {
-            String id = getIdentityWithoutRights(index);
-            setListItem(id.substring(0, 1), id.substring(2).trim(), rights, index);
-        } else {
-            Window.alert("Exception: No list item selected!");
+    private void setRightsForSelectedListItem(String[] rights) {
+        boolean noItemSelected = true;
+
+        for (int i = 0; i < lb.getItemCount(); i++) {
+            if (lb.isItemSelected(i)) {
+                String id = getIdentityWithoutRights(i);
+                setListItem(id.substring(0, 1), id.substring(2).trim(), rights, i);
+                noItemSelected = false;
+            }
         }
+
+        if (noItemSelected) {
+            Window.alert("No user/group within 'Policy' list selected!");
+        }
     }
 
     /**



More information about the Yanel-commits mailing list