Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Model is where we capture consuming of TQL Queries.

Code Block
languagexml
themeMidnight
titleView - Greenhouse Monitoring App
linenumberstrue
angular.module('GreenhouseUIApp').service('QueryService', function ($http){
	return{
		discoverGreenhouseEndpoint : discoverGreenhouseEndpoint,
		getGreenhouses : getGreenhouses,
		getLanesForGreenhouse : getLanesForGreenhouse,
		getZonesForLane : getZonesForLane
	}
	function discoverGreenhouseEndpoint(){
		var findProjectQuery = "<query><find><project><projName eq='Greenhouse'/></project></find></query>";
		return $http.post(TQLEngineManagerURL, findProjectQuery).then(function(response) {
			var x2js = new X2JS();
			var jsonObj = x2js.xml_str2json(response.data);
			var findProjectEndpointsQuery = "<GetProjectEndPoints><ProjectSysId>"+jsonObj.Find.Result.Project.SysId+"</ProjectSysId></GetProjectEndPoints>";
			return $http.post(TQLEngineManagerURL, findProjectEndpointsQuery).then(function(response) {
				var x2js = new X2JS();
				var endpointsJson = x2js.xml_str2json(response.data);
				return endpointsJson;
			});
		});
	}
	function getGreenhouses(endpointURL){
		var query = "<Query><Find><Greenhouse><GreenhouseID ne=''/></Greenhouse></Find></Query>";
		return $http.post(endpointURL, query).then(function(response) {
			var x2js = new X2JS();
			var jsonObj = x2js.xml_str2json(response.data);
			return jsonObj;
		});
	}

	function getLanesForGreenhouse(GreenhouseID){
		var query = "<Query><Find><Lane><GreenhouseID eq="+ GreenhouseID +"/></Lane></Find></Query>";
		return $http.post(url, query).then(function(response) {
			var x2js = new X2JS();
			var jsonObj = x2js.xml_str2json(response.data);
			return jsonObj;
		});
	}
	function getZonesForLane(LaneID){
		var query = "<Query><Find><Zone><LaneID eq="+LaneID+" /></Zone></Find></Query>";
		return $http.post(url, query).then(function(response) {
			var x2js = new X2JS();
			var jsonObj = x2js.xml_str2json(response.data);
			return jsonObj;
		});
	}
});

Identify Queries

Before we start wrapping TQL Queries into a Service model, we need to identify the list of queries to be executed. 

...