[isidorus-cvs] r884 - branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus

lgiessmann at common-lisp.net lgiessmann at common-lisp.net
Tue Sep 13 09:54:27 UTC 2011


Author: lgiessmann
Date: Tue Sep 13 02:54:27 2011
New Revision: 884

Log:
gdl-frontend: Widgets: refactred the update handler for http://textgrid.org/serviceregistry/model/types/Hash-Object

Modified:
   branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/CommitCallback.java
   branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/DeleteCallback.java

Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/CommitCallback.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/CommitCallback.java	Tue Sep 13 02:28:13 2011	(r883)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/CommitCallback.java	Tue Sep 13 02:54:27 2011	(r884)
@@ -226,7 +226,17 @@
 		public void onResponseReceived(Request request, Response response) {
 			if (200 == response.getStatusCode()) {
 				if(edited){
-					//TODO: implement
+					String delObj = response.getText();
+					try{
+						String url = URL.encode(CommitCallback.this.DELETE_REUQEST_URL);
+						RequestBuilder builder = new RequestBuilder(RequestBuilder.DELETE, url);
+						builder.setHeader("Content-type", "application/json");
+						
+						builder.sendRequest(delObj, new HashObjectDeleteRequest(delObj, this.objectToBeSend));						
+					}catch(RequestException e){
+						Window.alert("could not update the topic " + delObj);
+						//TODO: reset page
+					}
 				} else {
 					Window.alert("could not commit the topic with the psi " + psi + " since it already exists");
 					//TODO: reset page
@@ -255,6 +265,47 @@
 		}
 	}
 	
+	
+	private class HashObjectDeleteRequest implements RequestCallback{
+		private String objectToBeDeleted = null;
+		private String objectToBeSend = null;
+		
+		
+		@SuppressWarnings("unused")
+		private HashObjectDeleteRequest(){}
+		
+		
+		public HashObjectDeleteRequest(String objectToBeDeleted, String objectToBeSend){
+			this.objectToBeDeleted = objectToBeDeleted;
+			this.objectToBeSend = objectToBeSend;
+		}
+		
+		
+		@Override
+		public void onResponseReceived(Request request, Response response) {
+			if (200 == response.getStatusCode()) {
+				try{
+					String commitUrl = URL.encode(CommitCallback.this.COMMIT_REQUEST_URL);
+					RequestBuilder commitBuilder = new RequestBuilder(RequestBuilder.POST, commitUrl);
+					commitBuilder.setHeader("Content-type", "application/json");
+					commitBuilder.sendRequest(this.objectToBeSend, new HashObjectCommitRequest(this.objectToBeSend));
+				}catch(RequestException e){
+					Window.alert("could not commit the data: " + this.objectToBeSend);
+					// TODO: reset web page
+				}
+			} else {
+				Window.alert("update operation of the object " + this.objectToBeDeleted + " failed: " + response.getStatusCode() + "(" + response.getStatusText() + ")\n" + response.getText());
+			}
+		}
+		
+
+		@Override
+		public void onError(Request request, Throwable exception) {
+			Window.alert("could not update the data: " + this.objectToBeDeleted);
+			// TODO: reset web page
+		}
+	}
+	
 	
 	private class HashObjectCommitRequest implements RequestCallback {
 		private String objectToBeSend = null;

Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/DeleteCallback.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/DeleteCallback.java	Tue Sep 13 02:28:13 2011	(r883)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/DeleteCallback.java	Tue Sep 13 02:54:27 2011	(r884)
@@ -53,7 +53,6 @@
 						RequestBuilder builder = new RequestBuilder(RequestBuilder.DELETE, url);
 						builder.setHeader("Content-type", "application/json");
 						
-						//RootPanel.getBodyElement().setInnerText(delObj.toString()); // TODO: remove
 						builder.sendRequest(delObj.toString(), new DeleteRequest(delObj, env));
 					}catch(RequestException e){
 						Window.alert("could not delete the topic: " + psi + ", because(" + e.getClass() + "): " + e.getMessage());




More information about the Isidorus-cvs mailing list