/**
* @classdesc
* @class
*/
OSH.DataSender.DataSink = Class.create({
initialize: function (name, properties, options) {
if (properties.protocol == "http") {
this.connector = new OSH.DataConnector.AjaxConnector(this.buildUrl(properties));
this.connector.onError = this.onCatchError.bind(this);
this.connector.onSuccess = this.onCatchSuccess.bind(this);
}
this.id = "DataSource-" + OSH.Utils.randomUUID();
this.name = name;
this.properties = properties;
},
/**
* @param properties
* @instance
* @memberof OSH.DataSender.DataSink
*/
sendRequest: function(properties) {
this.connector.sendRequest(this.buildRequest(properties));
},
/**
* @param properties
* @instance
* @memberof OSH.DataSender.DataSink
*/
buildRequest:function(properties) {
return "";
},
/**
* @param properties
* @instance
* @memberof OSH.DataSender.DataSink
*/
buildUrl: function(properties) {
var url = "";
// adds protocol
url += properties.protocol + "://";
// adds endpoint url
url += properties.endpointUrl;
return url;
},
/**
* @param response
* @instance
* @memberof OSH.DataSender.DataSink
*/
onCatchError:function(response) {
this.onError(response);
},
/**
* @param response
* @instance
* @memberof OSH.DataSender.DataSink
*/
onCatchSuccess:function(response) {
this.onSuccess(response);
},
/**
* @param response
* @instance
* @memberof OSH.DataSender.DataSink
*/
onError:function(response) {
},
/**
* @param response
* @instance
* @memberof OSH.DataSender.DataSink
*/
onSuccess:function(response) {
},
/**
* The data connector default id.
* @returns {string|*}
* @memberof OSH.DataConnector.DataSink
* @instance
*/
getId: function() {
return this.id;
},
/**
* The name.
* @returns {string}
* @memberof OSH.DataConnector.DataSink
* @instance
*/
getName: function() {
return this.name;
}
});