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

michi at wyona.com michi at wyona.com
Wed Oct 28 09:35:13 CET 2009


Author: michi
Date: 2009-10-28 09:35:11 +0100 (Wed, 28 Oct 2009)
New Revision: 45226

Modified:
   public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/AccessPolicyEditor.java
   public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/IdentitiesListBoxWidget.java
   public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/PolicyListBoxWidget.java
Log:
loading issue fixed

Modified: public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/AccessPolicyEditor.java
===================================================================
--- public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/AccessPolicyEditor.java	2009-10-28 07:16:03 UTC (rev 45225)
+++ public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/AccessPolicyEditor.java	2009-10-28 08:35:11 UTC (rev 45226)
@@ -56,6 +56,8 @@
     String[] identitiesAllUsers;
     String[] identitiesAllGroups;
     Right[] allRights;
+    boolean rightsIdentitiesRetrievalCompleted = false;
+    boolean policyRetrievalCompleted = false;
 
     // How many items shall be displayed within a list box, before one has to use the scroll-bar
     int visibleItemCount = 20;
@@ -202,7 +204,7 @@
         saveButton.setStyleName("gwt-wyona-CancelButton");
         buttonHP.add(cancelButton);
 
-        vp.add(new Label("Wyona Access Control Policy (GWT) Editor version 1.0-dev-r45198"));
+        vp.add(new Label("Wyona Access Control Policy (GWT) Editor version 1.0-dev-r45225"));
         
 
         
@@ -236,24 +238,23 @@
                 Timer t = new Timer() {
                     public void run() {
                         if (request.isPending()) {
+                            rightsIdentitiesRetrievalCompleted = false;
                             identitiesLBW.displayLoadingIdentities();
                             scheduleRepeating(10);
                         } else {
-                            // "Redraw" Listbox
-                            //identitiesLBW.set(visibleItemCount, ag.getUsers(), ag.getGroups());
-                            // TODO: "Redraw" Policy Listbox
-                            //policyLBW.set();
+                            rightsIdentitiesRetrievalCompleted = true;
                             
                             allRights = ag.getRights();
                             identitiesAllUsers = ag.getUsers();
                             identitiesAllGroups = ag.getGroups();
                             this.cancel();
-                            if (allRights.length > 0 || identitiesAllUsers.length > 0 || identitiesAllGroups.length > 0 ) {
+                            // NOTE: Please note that the server might not provide any groups and hence the OR instead the AND!
+                            if (allRights.length > 0 && (identitiesAllUsers.length > 0 || identitiesAllGroups.length > 0)) {
                                 policyLBW.set(allRights);
                                 identitiesLBW.set(visibleItemCount, identitiesAllUsers, identitiesAllGroups);
-                                //Window.alert("Identities have been loaded!" + allRights.length + " " + identitiesAllUsers.length + " " + identitiesAllGroups.length);
+                                //Window.alert("Rights and identities have been loaded!" + allRights.length + " " + identitiesAllUsers.length + " " + identitiesAllGroups.length);
                             } else {
-                                Window.alert("No Identities have been loaded!");
+                                Window.alert("Rights and identities have not been loaded yet!");
                             }
                         }
                     }
@@ -281,12 +282,16 @@
             // Start new thread
             Timer t = new Timer() {
                 public void run() {
-                    if (request.isPending()) {
-                        // TODO: Show loading ...
+                    if (request.isPending() || !rightsIdentitiesRetrievalCompleted) {
+                        policyLBW.displayLoading(visibleItemCount);
+                        policyRetrievalCompleted = false;
                         scheduleRepeating(10);
                     } else {
+                        policyRetrievalCompleted = true;
+
                         policyUsers = apg.getUsers();
                         policyGroups = apg.getGroups();
+
                         // "Redraw" Listbox
                         policyLBW.setIdentities(visibleItemCount, policyUsers, policyGroups);
 
@@ -299,28 +304,6 @@
                         ArrayList tmpUsers = new ArrayList(Arrays.asList(identitiesAllUsers));
                         ArrayList tmpGroups = new ArrayList(Arrays.asList(identitiesAllGroups));
                         
-/*
-                        int itemCountUI = identitiesAllUsers.length;
-                        for (int j = 0; j < itemCountUI; j++) {
-                            String itemTextIAU = identitiesAllUsers[j];
-                            if (!itemText.equals(itemTextIAU) && !tmpUsers.contains(itemTextIAU)) {
-                                tmpUsers.add(itemTextIAU);
-                            } else {
-                                //Window.alert("not add: " + itemTextIAU + " = " +  itemText);
-                            }
-                        }
-
-                        int itemCountUI = identitiesAllGroups.length;
-                        for (int j = 0; j < itemCountUI; j++) {
-                            String itemTextIAG = identitiesAllGroups[j];
-                            if (!itemText.equals(itemTextIAG)  && !tmpGroups.contains(itemTextIAG)) {
-                                tmpGroups.add(itemTextIAG);
-                            } else {
-                                //Window.alert("not add: " + itemTextIAG + " = " +  itemText);
-                            }
-                        }
-*/
-
                         // Remove all users from identities list, which already exist within the policy
                         int itemCountUP = policyUsers.length;
                         for (int i = 0; i < itemCountUP; i++) {

Modified: public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/IdentitiesListBoxWidget.java
===================================================================
--- public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/IdentitiesListBoxWidget.java	2009-10-28 07:16:03 UTC (rev 45225)
+++ public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/IdentitiesListBoxWidget.java	2009-10-28 08:35:11 UTC (rev 45226)
@@ -61,7 +61,8 @@
      */
     public void displayLoadingIdentities() {
         lb.clear();
-        lb.addItem("Users/groups are being loaded from server ...");
+        lb.addItem("Loading users/groups ...");
+        lb.addItem("Thanks for being patient!");
     }
 
     /**

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	2009-10-28 07:16:03 UTC (rev 45225)
+++ public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/PolicyListBoxWidget.java	2009-10-28 08:35:11 UTC (rev 45226)
@@ -60,7 +60,8 @@
 
         lb = new ListBox(true);
         lb.addClickListener(this);
-        setIdentities(visibleItemCount, users, groups);
+        //setIdentities(visibleItemCount, users, groups);
+        displayLoading(visibleItemCount);
         vp.add(lb);
 
         set(null);
@@ -69,6 +70,16 @@
     /**
      *
      */
+    public void displayLoading(int visibleItemCount) {
+        lb.clear();
+        lb.setVisibleItemCount(visibleItemCount);
+        lb.addItem("Loading policy ...");
+        lb.addItem("Thanks for being patient!");
+    }
+
+    /**
+     *
+     */
     public void setIdentities(int visibleItemCount, User[] users, Group[] groups) {
         lb.clear();
         lb.setVisibleItemCount(visibleItemCount);



More information about the Yanel-commits mailing list