commandManager.addToolbarContextMenu(toolbar);\r
\r
var stopCommand = commandManager.getCommandById("stop");\r
- var serviceManager = org.argeo.slc.web.util.RequestManager.getInstance();\r
+ var serviceManager = org.argeo.slc.web.remote.RequestManager.getInstance();\r
serviceManager.setStopCommand(stopCommand);\r
\r
container.add(menuBar);\r
this.info("Opening test "+testId);
this.getView().setViewTitle("Test "+testId);
service = "../resultViewXml.xslt?uuid="+testId;
- var serviceManager = org.argeo.slc.web.util.RequestManager.getInstance();
+ var serviceManager = org.argeo.slc.web.remote.RequestManager.getInstance();
var request = serviceManager.getRequest(service, "GET", "application/xml");
request.addListener("completed", function(response){
this.createXmlGui(response.getContent());
var url = "/org.argeo.slc.webapp/resultList.ui";\r
var model = this.getModel();\r
model.removeRows(0, model.getRowCount());\r
- var serviceManager = org.argeo.slc.web.util.RequestManager.getInstance();\r
+ var serviceManager = org.argeo.slc.web.remote.RequestManager.getInstance();\r
var commandManager = org.argeo.slc.web.event.CommandsManager.getInstance();\r
var request = serviceManager.getRequest(\r
url, \r
--- /dev/null
+qx.Class.define("org.argeo.slc.web.remote.RequestManager",\r
+{\r
+ type : "singleton",\r
+ extend : qx.core.Object,\r
+ \r
+ events : {\r
+ "reload" : "org.argeo.slc.web.event.ReloadEvent"\r
+ },\r
+ \r
+ construct : function(){\r
+ this.base(arguments); \r
+ },\r
+ \r
+ members : {\r
+ \r
+ setStopCommand : function(stopCommand){\r
+ this.command = stopCommand;\r
+ },\r
+ \r
+ getRequest : function(url, method, responseType, fireReloadEventType, iLoadStatusables){\r
+ var request = new qx.io.remote.Request(url, method, responseType);\r
+ if(iLoadStatusables){\r
+ request.setUserData("iLoadStatusables", iLoadStatusables);\r
+ }\r
+ if(fireReloadEventType){\r
+ request.addListener("completed", function(response){\r
+ this.fireReloadEvent(fireReloadEventType, response.getContent());\r
+ }, this);\r
+ }\r
+ this.enableCommand(request);\r
+ request.addListener("timeout", this.requestTerminated, this);\r
+ request.addListener("failed", this.requestTerminated, this);\r
+ request.addListener("aborted", this.requestTerminated, this);\r
+ request.addListener("completed", this.requestCompleted, this); \r
+ return request;\r
+ }, \r
+ \r
+ fireReloadEvent : function(dataType, content){\r
+ this.fireEvent("reload", org.argeo.slc.web.event.ReloadEvent, [dataType, content]); \r
+ },\r
+ \r
+ requestCreated : function(e){\r
+ var request = e.getTarget();\r
+ this.enableCommand(request);\r
+ },\r
+ \r
+ requestCompleted : function(e){\r
+ var request = e.getTarget();\r
+ this.disableCommand(request);\r
+ },\r
+ \r
+ requestTerminated : function(e){\r
+ var request = e.getTarget();\r
+ var errorType = e.getType();\r
+ this.disableCommand(request);\r
+ var message = "";\r
+ if(errorType == "aborted"){\r
+ message = "Request aborted by user";\r
+ }else if(errorType == "failed"){\r
+ message = "Request failed!";\r
+ }else if(errorType == "timeout"){\r
+ message = "Request timed out!";\r
+ }\r
+ this.error(message);\r
+ },\r
+ \r
+ disableCommand : function(request){\r
+ this.command.setEnabled(false);\r
+ if(request.getUserData("iLoadStatusables")){\r
+ this.updateGuiParts(request.getUserData("iLoadStatusables"), false);\r
+ }\r
+ var listener = request.getUserData("listener");\r
+ if(listener){\r
+ this.command.removeListener("execute", listener);\r
+ }\r
+ },\r
+ \r
+ enableCommand : function(request){\r
+ this.command.setEnabled(true);\r
+ if(request.getUserData("iLoadStatusables")){\r
+ this.updateGuiParts(request.getUserData("iLoadStatusables"), true);\r
+ }\r
+ qx.ui.core.queue.Manager.flush();\r
+ var listener = request.abort;\r
+ request.setUserData("listener", listener);\r
+ this.command.addListener("execute", listener, request);\r
+ },\r
+ \r
+ updateGuiParts : function(iLoadStatusables, loadStatus){\r
+ for(var i=0;i<iLoadStatusables.length;i++){\r
+ if(qx.Class.implementsInterface(qx.Class.getByName(iLoadStatusables[i].classname), org.argeo.slc.web.components.ILoadStatusable)){\r
+ iLoadStatusables[i].setOnLoad(loadStatus);\r
+ }else{\r
+ this.debug("Does not implement the ILoadStatusable interface! GUIPART type : "+ iLoadStatusables[i].classname);\r
+ }\r
+ }\r
+ }\r
+ }\r
+});
\ No newline at end of file
+++ /dev/null
-qx.Class.define("org.argeo.slc.web.util.RequestManager",\r
-{\r
- type : "singleton",\r
- extend : qx.core.Object,\r
- \r
- events : {\r
- "reload" : "org.argeo.slc.web.event.ReloadEvent"\r
- },\r
- \r
- construct : function(){\r
- this.base(arguments); \r
- },\r
- \r
- members : {\r
- \r
- setStopCommand : function(stopCommand){\r
- this.command = stopCommand;\r
- },\r
- \r
- getRequest : function(url, method, responseType, fireReloadEventType, iLoadStatusables){\r
- var request = new qx.io.remote.Request(url, method, responseType);\r
- if(iLoadStatusables){\r
- request.setUserData("iLoadStatusables", iLoadStatusables);\r
- }\r
- if(fireReloadEventType){\r
- request.addListener("completed", function(response){\r
- this.fireReloadEvent(fireReloadEventType, response.getContent());\r
- }, this);\r
- }\r
- this.enableCommand(request);\r
- request.addListener("timeout", this.requestTerminated, this);\r
- request.addListener("failed", this.requestTerminated, this);\r
- request.addListener("aborted", this.requestTerminated, this);\r
- request.addListener("completed", this.requestCompleted, this); \r
- return request;\r
- }, \r
- \r
- fireReloadEvent : function(dataType, content){\r
- this.fireEvent("reload", org.argeo.slc.web.event.ReloadEvent, [dataType, content]); \r
- },\r
- \r
- requestCreated : function(e){\r
- var request = e.getTarget();\r
- this.enableCommand(request);\r
- },\r
- \r
- requestCompleted : function(e){\r
- var request = e.getTarget();\r
- this.disableCommand(request);\r
- },\r
- \r
- requestTerminated : function(e){\r
- var request = e.getTarget();\r
- var errorType = e.getType();\r
- this.disableCommand(request);\r
- var message = "";\r
- if(errorType == "aborted"){\r
- message = "Request aborted by user";\r
- }else if(errorType == "failed"){\r
- message = "Request failed!";\r
- }else if(errorType == "timeout"){\r
- message = "Request timed out!";\r
- }\r
- this.error(message);\r
- },\r
- \r
- disableCommand : function(request){\r
- this.command.setEnabled(false);\r
- if(request.getUserData("iLoadStatusables")){\r
- this.updateGuiParts(request.getUserData("iLoadStatusables"), false);\r
- }\r
- var listener = request.getUserData("listener");\r
- if(listener){\r
- this.command.removeListener("execute", listener);\r
- }\r
- },\r
- \r
- enableCommand : function(request){\r
- this.command.setEnabled(true);\r
- if(request.getUserData("iLoadStatusables")){\r
- this.updateGuiParts(request.getUserData("iLoadStatusables"), true);\r
- }\r
- qx.ui.core.queue.Manager.flush();\r
- var listener = request.abort;\r
- request.setUserData("listener", listener);\r
- this.command.addListener("execute", listener, request);\r
- },\r
- \r
- updateGuiParts : function(iLoadStatusables, loadStatus){\r
- for(var i=0;i<iLoadStatusables.length;i++){\r
- if(qx.Class.implementsInterface(qx.Class.getByName(iLoadStatusables[i].classname), org.argeo.slc.web.components.ILoadStatusable)){\r
- iLoadStatusables[i].setOnLoad(loadStatus);\r
- }else{\r
- this.debug("Does not implement the ILoadStatusable interface! GUIPART type : "+ iLoadStatusables[i].classname);\r
- }\r
- }\r
- }\r
- }\r
-});
\ No newline at end of file