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

lgiessmann at common-lisp.net lgiessmann at common-lisp.net
Fri Sep 2 15:44:57 UTC 2011


Author: lgiessmann
Date: Fri Sep  2 08:44:57 2011
New Revision: 824

Log:
gdl-frontend: Widgets: implemented the actual request mechanism for submitting environment topics

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	Fri Sep  2 08:30:32 2011	(r823)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/CommitCallback.java	Fri Sep  2 08:44:57 2011	(r824)
@@ -1,13 +1,16 @@
 package us.isidor.gdl.anaToMia.Widgets.isidorus;
 
 import java.util.ArrayList;
-
-
 import us.isidor.gdl.anaToMia.Widgets.base.PSIs;
 import us.isidor.gdl.anaToMia.Widgets.base.TmHelper;
 import us.isidor.gdl.anaToMia.Widgets.environment.Pair;
-
 import com.google.gwt.core.client.JsArray;
+import com.google.gwt.http.client.Request;
+import com.google.gwt.http.client.RequestBuilder;
+import com.google.gwt.http.client.RequestCallback;
+import com.google.gwt.http.client.RequestException;
+import com.google.gwt.http.client.Response;
+import com.google.gwt.http.client.URL;
 import com.google.gwt.user.client.Window;
 import us.isidor.gdl.anaToMia.TopicMaps.TmEngineModel.ExporterException;
 import us.isidor.gdl.anaToMia.TopicMaps.TmEngineModel.TmEngine;
@@ -21,8 +24,11 @@
 import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.TopicMapsTypes;
 import us.isidor.gdl.anaToMia.Widgets.environment.ICommitCallback;
 
-public class CommitCallback implements ICommitCallback{
 
+public class CommitCallback implements ICommitCallback{
+	public final String REUQEST_URL = ""; // TODO: set actual URL value
+	
+	
 	@Override
 	public void commitTmConstruct(ArrayList<Pair<Construct, TopicMapsTypes>> constructs, TmEngine tmEngine, String buttonId) {
 		try{
@@ -76,7 +82,16 @@
 			jtm = tmEngine.exportTm(topics, new ArrayList<Association>());
 		}
 		
-		Window.alert(jtm);
+		String url = URL.encode(this.REUQEST_URL);
+		RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
+		try{
+			// a check for an existing environment topic is not necessary,
+			// since it would be exactly the same topic.
+			builder.sendRequest(null, new EnvironmentCommitRequest(jtm));
+		}catch(RequestException e){
+			Window.alert("could not delete the topic: " + jtm + ", because(" + e.getClass() + "): " + e.getMessage());
+		}
+		
 		// TODO: implement actual commit and check if the topic already exists
 	}
 	
@@ -140,4 +155,38 @@
 		Window.alert(jtm);
 		// TODO: implement actual commit and check if the topic already exists
 	}
+	
+	
+	
+	
+	private class EnvironmentCommitRequest implements RequestCallback {
+		private String objectToBeSend = null;
+		
+		
+		@SuppressWarnings("unused")
+		private EnvironmentCommitRequest(){}
+		
+		
+		public EnvironmentCommitRequest(String objectToBeDeleted){
+			this.objectToBeSend = objectToBeDeleted;
+		}
+		
+		
+		@Override
+		public void onResponseReceived(Request request, Response response) {
+			if (200 == response.getStatusCode()) {
+				Window.alert("commit operation of the object " + this.objectToBeSend + " successed");
+				// TODO: reset the web page
+			} else {
+				Window.alert("commit operation of the object " + this.objectToBeSend + " failed: " + response.getStatusCode() + "(" + response.getStatusText() + ")\n" + response.getText());
+			}
+		}
+		
+
+		@Override
+		public void onError(Request request, Throwable exception) {
+			Window.alert("could not commit the data: " + this.objectToBeSend);
+		}
+	}
+	
 }

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	Fri Sep  2 08:30:32 2011	(r823)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/DeleteCallback.java	Fri Sep  2 08:44:57 2011	(r824)
@@ -51,7 +51,7 @@
 					try{
 						builder.sendRequest(null, new DeleteRequest(delObj));
 					}catch(RequestException e){
-						
+						Window.alert("could not delete the topic: " + psi + ", because(" + e.getClass() + "): " + e.getMessage());
 					}
 				}
 			}




More information about the Isidorus-cvs mailing list