[Yanel-commits] rev 32499 -
public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client
michi at wyona.com
michi at wyona.com
Tue Feb 26 12:41:54 CET 2008
Author: michi
Date: 2008-02-26 12:41:54 +0100 (Tue, 26 Feb 2008)
New Revision: 32499
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/client/IdentitiesListBoxWidget.java
public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/PolicyListBoxWidget.java
Log:
read data asynchronous
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 11:28:57 UTC (rev 32498)
+++ public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/AccessPolicyEditor.java 2008-02-26 11:41:54 UTC (rev 32499)
@@ -40,8 +40,10 @@
String[] users;
String[] groups;
String[] rights;
+ String[] policyIdentities;
IdentitiesListBoxWidget identitiesLBW;
+ PolicyListBoxWidget policyLBW;
int visibleItemCount = 10;
@@ -61,7 +63,7 @@
// Get data from server
getIdentitiesAndRights(identitiesURL);
- String[] policyIdentities = getPolicy(policyURL);
+ getPolicy(policyURL);
// Setup GUI
VerticalPanel vp = new VerticalPanel();
@@ -83,7 +85,7 @@
identitiesLBW = new IdentitiesListBoxWidget(visibleItemCount, users, groups);
- PolicyListBoxWidget policyLBW = new PolicyListBoxWidget(visibleItemCount, policyIdentities);
+ policyLBW = new PolicyListBoxWidget(visibleItemCount, policyIdentities);
AddRemoveIdentitiesWidget ariw = new AddRemoveIdentitiesWidget(identitiesLBW.getListBox(), policyLBW.getListBox());
@@ -134,7 +136,7 @@
/**
* Get policy
*/
- private String[] getPolicy(String url) {
+ 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);
@@ -142,14 +144,27 @@
try {
final com.google.gwt.http.client.Request request = apg.execute();
//Window.alert("Just a second to process the policy response ...");
- // TODO: Implement loop until request has finished execution
+
+ // Start new thread
+ Timer t = new Timer() {
+ public void run() {
+ if (request.isPending()) {
+ scheduleRepeating(10);
+ } else {
+ policyIdentities = apg.getIdentities();
+ policyLBW.set(visibleItemCount, policyIdentities);
+ this.cancel();
+ Window.alert("Timer still running!");
+ }
+ }
+ };
+ t.schedule(1);
} catch (Exception e) {
Window.alert("Exception: " + e.getMessage());
//if (!com.google.gwt.core.client.GWT.isScript()) {
e.printStackTrace();
//}
}
- return apg.getIdentities();
}
}
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 11:28:57 UTC (rev 32498)
+++ public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/AsynchronousPolicyGetter.java 2008-02-26 11:41:54 UTC (rev 32499)
@@ -71,10 +71,10 @@
* Get identities from access policy
*/
public String[] getIdentities() {
- String[] ids = new String[3];
- ids[0] = "u: alice (Read,Write)";
- ids[1] = "u: bob (Read)";
- ids[2] = "WORLD";
+ String[] ids = new String[identities.size()];
+ for (int i = 0; i < ids.length; i++) {
+ ids[i] = (String)identities.elementAt(i);
+ }
return ids;
}
Modified: public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/IdentitiesListBoxWidget.java
===================================================================
--- public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/IdentitiesListBoxWidget.java 2008-02-26 11:28:57 UTC (rev 32498)
+++ public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/IdentitiesListBoxWidget.java 2008-02-26 11:41:54 UTC (rev 32499)
@@ -57,6 +57,7 @@
*
*/
public void set(int visibleItemCount, String[] users, String[] groups) {
+ lb.clear();
lb.setVisibleItemCount(visibleItemCount);
if (users != null) {
for (int i = 0; i < users.length; i++) {
Modified: public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/PolicyListBoxWidget.java
===================================================================
--- public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/PolicyListBoxWidget.java 2008-02-26 11:28:57 UTC (rev 32498)
+++ public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/yanel/gwt/accesspolicyeditor/client/PolicyListBoxWidget.java 2008-02-26 11:41:54 UTC (rev 32499)
@@ -58,10 +58,7 @@
lb = new ListBox(true);
lb.addClickListener(this);
- lb.setVisibleItemCount(visibleItemCount);
- for (int i = 0; i < identities.length; i++) {
- lb.addItem(identities[i], identities[i]);
- }
+ set(visibleItemCount, identities);
vp.add(lb);
readCB = new CheckBox("Read");
@@ -75,6 +72,21 @@
/**
*
*/
+ public void set(int visibleItemCount, String[] identities) {
+ lb.clear();
+ lb.setVisibleItemCount(visibleItemCount);
+ if (identities != null) {
+ for (int i = 0; i < identities.length; i++) {
+ lb.addItem(identities[i], identities[i]);
+ }
+ } else {
+ lb.addItem("No identities yet!");
+ }
+ }
+
+ /**
+ *
+ */
public ListBox getListBox() {
return lb;
}
More information about the Yanel-commits
mailing list