[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