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

michi at wyona.com michi at wyona.com
Tue Feb 26 22:28:38 CET 2008


Author: michi
Date: 2008-02-26 22:28:38 +0100 (Tue, 26 Feb 2008)
New Revision: 32527

Modified:
   public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/AccessPolicyEditor.java
   public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/AsynchronousPolicyGetter.java
   public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/public/sample-policy.xml
Log:
TODOs added

Modified: public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/AccessPolicyEditor.java
===================================================================
--- public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/AccessPolicyEditor.java	2008-02-26 21:14:09 UTC (rev 32526)
+++ public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/AccessPolicyEditor.java	2008-02-26 21:28:38 UTC (rev 32527)
@@ -53,6 +53,7 @@
     public void onModuleLoad() {
         String identitiesURL = "DEFAULT-identities-and-usecases.xml";
         String policyURL = "DEFAULT-policy.xml";
+        // Get URLs from host/html page
         try {
             Dictionary dict = Dictionary.getDictionary("getURLs");
             identitiesURL = dict.get("identities-url");
@@ -62,8 +63,8 @@
         }
 
         // Get data from server
-        getIdentitiesAndRights(identitiesURL);
         getPolicy(policyURL);
+        getIdentitiesAndRights(identitiesURL); // TODO: Subtract policy identities!
 
         // Setup GUI
         VerticalPanel vp = new VerticalPanel();
@@ -100,24 +101,22 @@
      * Get identities and rights
      */
     private void getIdentitiesAndRights(String url) {
-        // TODO: See src/extra/globus/image-browser/src/java/ch/globus/yanel/gwt/client/ImageBrowser.java how to use Asyn Identities and Rights Getter!
-
         //Window.alert("Load identities: " + url);
         final AsynchronousIdentitiesAndRightsGetter ag = new AsynchronousIdentitiesAndRightsGetter(url);
         try {
             final com.google.gwt.http.client.Request request = ag.execute();
-            // TODO: Implement loop until request has finished execution
-            //Window.alert("Just a second to process the identities response ...");
 
             // Start new thread
             Timer t = new Timer() {
                 public void run() {
                     if (request.isPending()) {
+                        // TODO: Show loading ...
                         scheduleRepeating(10);
                     } else {
                         users = ag.getUsers();
                         groups = ag.getGroups();
                         rights = ag.getRights();
+                        // "Redraw" Listbox
                         identitiesLBW.set(visibleItemCount, users, groups);
                         this.cancel();
                         Window.alert("Identities have been loaded!");
@@ -137,21 +136,20 @@
      * Get policy
      */
     private void getPolicy(String url) {
-        // TODO: See src/extra/globus/image-browser/src/java/ch/globus/yanel/gwt/client/ImageBrowser.java how to use Asyn Policy Getter!
-
         //Window.alert("Load policy: " + url);
         final AsynchronousPolicyGetter apg = new AsynchronousPolicyGetter(url);
         try {
             final com.google.gwt.http.client.Request request = apg.execute();
-            //Window.alert("Just a second to process the policy response ...");
 
             // Start new thread
             Timer t = new Timer() {
                 public void run() {
                     if (request.isPending()) {
+                        // TODO: Show loading ...
                         scheduleRepeating(10);
                     } else {
                         policyIdentities = apg.getIdentities();
+                        // "Redraw" Listbox
                         policyLBW.set(visibleItemCount, policyIdentities);
                         this.cancel();
                         Window.alert("Policy has been loaded!");
@@ -159,6 +157,7 @@
                 }
             };
             t.schedule(1);
+
         } catch (Exception e) {
              Window.alert("Exception: " + e.getMessage());
              //if (!com.google.gwt.core.client.GWT.isScript()) {

Modified: public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/AsynchronousPolicyGetter.java
===================================================================
--- public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/AsynchronousPolicyGetter.java	2008-02-26 21:14:09 UTC (rev 32526)
+++ public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/AsynchronousPolicyGetter.java	2008-02-26 21:28:38 UTC (rev 32527)
@@ -47,11 +47,17 @@
     public void onResponseReceived(final Request request, final Response response) {
         Element rootElement = XMLParser.parse(response.getText()).getDocumentElement();
         //Window.alert("Root element: " + rootElement.getTagName());
+
+	// TODO: Parse inherit rights from parent
+
+        // TODO: Parse rights and use labels for formatting, e.g. "u: (Read,Write) benjamin", "u: (Read,-) susi"
+
         Element worldElement = getFirstChildElement(rootElement, "world");
         if (worldElement != null) {
             identities.add("WORLD (Read,Write)");
             //Window.alert("World: " + (String) identities.elementAt(identities.size() - 1));
         }
+
         NodeList userElements = rootElement.getElementsByTagName("user");
         for (int i = 0; i < userElements.getLength(); i++) {
             identities.add("u: " + ((Element) userElements.item(i)).getAttribute("id") + " (Write,Read)");

Modified: public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/public/sample-policy.xml
===================================================================
--- public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/public/sample-policy.xml	2008-02-26 21:14:09 UTC (rev 32526)
+++ public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/public/sample-policy.xml	2008-02-26 21:28:38 UTC (rev 32527)
@@ -3,16 +3,15 @@
 <policy xmlns="http://www.wyona.org/security/1.0" use-inherited-policies="false">
 
   <world>
-    <right id="Read"/>
-    <right id="Write"/>
-    <right id="view"/>
+    <right id="view">Read</right>
+    <right id="write">Write</right>
     <right id="introspection" permission="false"/>
   </world>
 
   <user id="http://michaelwechner.livejournal.com/">
     <right id="open"/>
     <right id="write"/>
-    <right id="toolbar"/>
+    <right id="toolbar">Toolbar</right>
     <right id="policy.read"/>
     <right id="policy.write"/>
   </user>
@@ -23,41 +22,4 @@
     <right id="toolbar"/>
   </group>
 
-
-
-<!--
-  <usecase id="view">
-    <world permission="true"/>
-  </usecase>
-
-  <usecase id="introspection">
-    <world permission="true"/>
-  </usecase>
-
-  <usecase id="open">
-    <group id="login" permission="true"/>
-    <user id="http://michaelwechner.livejournal.com/" permission="true"/>
-  </usecase>
-
-  <usecase id="write">
-    <group id="login" permission="true"/>
-    <user id="http://michaelwechner.livejournal.com/" permission="true"/>
-  </usecase>
-
-  <usecase id="toolbar">
-    <group id="login" permission="true"/>
-    <user id="http://michaelwechner.livejournal.com/" permission="true"/>
-  </usecase>
-
-  <usecase id="policy.read">
-    <group id="login" permission="true"/>
-    <user id="http://michaelwechner.livejournal.com/" permission="true"/>
-  </usecase>
-
-  <usecase id="policy.create">
-    <group id="login" permission="true"/>
-    <user id="http://michaelwechner.livejournal.com/" permission="true"/>
-  </usecase>
--->
-
 </policy>



More information about the Yanel-commits mailing list