|
@@ -39,6 +39,62 @@ function _getCapacitySchedulerViewUri(adapter) {
|
|
return '/' + [adapter.namespace,'views',view,'versions',version,'instances',instance,'resources','scheduler','configuration'].join('/');
|
|
return '/' + [adapter.namespace,'views',view,'versions',version,'instances',instance,'resources','scheduler','configuration'].join('/');
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+function _ajaxOptions(url, type, hash) {
|
|
|
|
+ hash = hash || {};
|
|
|
|
+ hash.url = url;
|
|
|
|
+ hash.type = type;
|
|
|
|
+ hash.dataType = 'json';
|
|
|
|
+ hash.context = this;
|
|
|
|
+
|
|
|
|
+ hash.beforeSend = function (xhr) {
|
|
|
|
+ xhr.setRequestHeader('X-Requested-By', 'view-capacity-scheduler');
|
|
|
|
+ };
|
|
|
|
+ return hash;
|
|
|
|
+};
|
|
|
|
+function _ajaxError(jqXHR) {
|
|
|
|
+ if (jqXHR && typeof jqXHR === 'object') {
|
|
|
|
+ jqXHR.then = null;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return jqXHR;
|
|
|
|
+};
|
|
|
|
+function _ajax(url, type, hash) {
|
|
|
|
+ return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
|
|
+ hash = _ajaxOptions(url, type, hash);
|
|
|
|
+
|
|
|
|
+ hash.success = function(json) {
|
|
|
|
+ Ember.run(null, resolve, json);
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ hash.error = function(jqXHR, textStatus, errorThrown) {
|
|
|
|
+ Ember.run(null, reject, _ajaxError(jqXHR));
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ Ember.$.ajax(hash);
|
|
|
|
+ }, "App: Adapters#ajax " + type + " to " + url);
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+App.ConfigAdapter = DS.Adapter.extend({
|
|
|
|
+ defaultSerializer:'config',
|
|
|
|
+ namespace: 'api/v1',
|
|
|
|
+ findQuery : function(store, type, query){
|
|
|
|
+ var adapter = this;
|
|
|
|
+ var uri = [_getCapacitySchedulerViewUri(this),'getConfig'].join('/') + "?siteName=" + query.siteName + "&configName="+ query.configName;
|
|
|
|
+
|
|
|
|
+ if (App.testMode)
|
|
|
|
+ uri = uri + ".json";
|
|
|
|
+
|
|
|
|
+ return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
|
|
+ _ajax(uri ,'GET').then(function(data) {
|
|
|
|
+ Ember.run(null, resolve, data);
|
|
|
|
+ }, function(jqXHR) {
|
|
|
|
+ jqXHR.then = null;
|
|
|
|
+ Ember.run(null, resolve, false);
|
|
|
|
+ });
|
|
|
|
+ }, "App: ConfigAdapter#findQuery siteName : " + query.siteName + ", configName : " + query.configName);
|
|
|
|
+ }
|
|
|
|
+});
|
|
|
|
|
|
App.QueueAdapter = DS.Adapter.extend({
|
|
App.QueueAdapter = DS.Adapter.extend({
|
|
defaultSerializer:'queue',
|
|
defaultSerializer:'queue',
|
|
@@ -102,7 +158,7 @@ App.QueueAdapter = DS.Adapter.extend({
|
|
});
|
|
});
|
|
|
|
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
- adapter.ajax(uri,'PUT',{contentType:'application/json; charset=utf-8',data:data}).then(function(data) {
|
|
|
|
|
|
+ _ajax(uri,'PUT',{contentType:'application/json; charset=utf-8',data:data}).then(function(data) {
|
|
store.setProperties({'current_tag':new_tag,'tag':new_tag});
|
|
store.setProperties({'current_tag':new_tag,'tag':new_tag});
|
|
Ember.run(null, resolve, data.resources.objectAt(0).configurations.objectAt(0).configs);
|
|
Ember.run(null, resolve, data.resources.objectAt(0).configurations.objectAt(0).configs);
|
|
}, function(jqXHR) {
|
|
}, function(jqXHR) {
|
|
@@ -116,7 +172,7 @@ App.QueueAdapter = DS.Adapter.extend({
|
|
if (!opt) return;
|
|
if (!opt) return;
|
|
var uri = [_getCapacitySchedulerViewUri(this),opt].join('/');
|
|
var uri = [_getCapacitySchedulerViewUri(this),opt].join('/');
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
- this.ajax(uri,'PUT',{contentType:'application/json; charset=utf-8',data:JSON.stringify({save:true})})
|
|
|
|
|
|
+ _ajax(uri,'PUT',{contentType:'application/json; charset=utf-8',data:JSON.stringify({save:true})})
|
|
.then(function (data) {
|
|
.then(function (data) {
|
|
resolve(data);
|
|
resolve(data);
|
|
},function (error) {
|
|
},function (error) {
|
|
@@ -158,7 +214,7 @@ App.QueueAdapter = DS.Adapter.extend({
|
|
uri = uri + "/scheduler-configuration.json";
|
|
uri = uri + "/scheduler-configuration.json";
|
|
|
|
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
- adapter.ajax(uri,'GET').then(function(data) {
|
|
|
|
|
|
+ _ajax(uri,'GET').then(function(data) {
|
|
var config = data.items.objectAt(0);
|
|
var config = data.items.objectAt(0);
|
|
if (!store.get('isInitialized')) {
|
|
if (!store.get('isInitialized')) {
|
|
store.set('current_tag',config.tag);
|
|
store.set('current_tag',config.tag);
|
|
@@ -178,7 +234,7 @@ App.QueueAdapter = DS.Adapter.extend({
|
|
uri = [_getCapacitySchedulerViewUri(this),'byTag',tag].join('/');
|
|
uri = [_getCapacitySchedulerViewUri(this),'byTag',tag].join('/');
|
|
|
|
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
- adapter.ajax(uri,'GET').then(function(data) {
|
|
|
|
|
|
+ _ajax(uri,'GET').then(function(data) {
|
|
Ember.run(null, resolve, data);
|
|
Ember.run(null, resolve, data);
|
|
}, function(jqXHR) {
|
|
}, function(jqXHR) {
|
|
jqXHR.then = null;
|
|
jqXHR.then = null;
|
|
@@ -193,7 +249,7 @@ App.QueueAdapter = DS.Adapter.extend({
|
|
uri = uri + ".json";
|
|
uri = uri + ".json";
|
|
|
|
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
- this.ajax(uri,'GET').then(function(data) {
|
|
|
|
|
|
+ _ajax(uri,'GET').then(function(data) {
|
|
var parsedData = JSON.parse(data), labels;
|
|
var parsedData = JSON.parse(data), labels;
|
|
|
|
|
|
if (parsedData && Em.isArray(parsedData.nodeLabels)) {
|
|
if (parsedData && Em.isArray(parsedData.nodeLabels)) {
|
|
@@ -217,7 +273,7 @@ App.QueueAdapter = DS.Adapter.extend({
|
|
if (App.testMode)
|
|
if (App.testMode)
|
|
uri = uri + ".json";
|
|
uri = uri + ".json";
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
- this.ajax(uri,'GET').then(function(data) {
|
|
|
|
|
|
+ _ajax(uri,'GET').then(function(data) {
|
|
Ember.run(null, resolve, data);
|
|
Ember.run(null, resolve, data);
|
|
}, function(jqXHR) {
|
|
}, function(jqXHR) {
|
|
jqXHR.then = null;
|
|
jqXHR.then = null;
|
|
@@ -231,7 +287,7 @@ App.QueueAdapter = DS.Adapter.extend({
|
|
if (App.testMode)
|
|
if (App.testMode)
|
|
uri = uri + ".json";
|
|
uri = uri + ".json";
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
- this.ajax(uri,'GET').then(function(data) {
|
|
|
|
|
|
+ _ajax(uri,'GET').then(function(data) {
|
|
Ember.run(null, resolve, data);
|
|
Ember.run(null, resolve, data);
|
|
}, function(jqXHR) {
|
|
}, function(jqXHR) {
|
|
if (jqXHR.status === 404) {
|
|
if (jqXHR.status === 404) {
|
|
@@ -242,45 +298,6 @@ App.QueueAdapter = DS.Adapter.extend({
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}.bind(this),'App: QueueAdapter#checkCluster');
|
|
}.bind(this),'App: QueueAdapter#checkCluster');
|
|
- },
|
|
|
|
-
|
|
|
|
- ajax: function(url, type, hash) {
|
|
|
|
- var adapter = this;
|
|
|
|
-
|
|
|
|
- return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
|
|
- hash = adapter.ajaxOptions(url, type, hash);
|
|
|
|
-
|
|
|
|
- hash.success = function(json) {
|
|
|
|
- Ember.run(null, resolve, json);
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- hash.error = function(jqXHR, textStatus, errorThrown) {
|
|
|
|
- Ember.run(null, reject, adapter.ajaxError(jqXHR));
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- Ember.$.ajax(hash);
|
|
|
|
- }, "App: QueueAdapter#ajax " + type + " to " + url);
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- ajaxOptions: function(url, type, hash) {
|
|
|
|
- hash = hash || {};
|
|
|
|
- hash.url = url;
|
|
|
|
- hash.type = type;
|
|
|
|
- hash.dataType = 'json';
|
|
|
|
- hash.context = this;
|
|
|
|
-
|
|
|
|
- hash.beforeSend = function (xhr) {
|
|
|
|
- xhr.setRequestHeader('X-Requested-By', 'view-capacity-scheduler');
|
|
|
|
- };
|
|
|
|
- return hash;
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- ajaxError: function(jqXHR) {
|
|
|
|
- if (jqXHR && typeof jqXHR === 'object') {
|
|
|
|
- jqXHR.then = null;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return jqXHR;
|
|
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
@@ -305,7 +322,7 @@ App.TagAdapter = App.QueueAdapter.extend({
|
|
uri = uri + ".json";
|
|
uri = uri + ".json";
|
|
|
|
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
- adapter.ajax(uri ,'GET').then(function(data) {
|
|
|
|
|
|
+ _ajax(uri ,'GET').then(function(data) {
|
|
Ember.run(null, resolve, data);
|
|
Ember.run(null, resolve, data);
|
|
}, function(jqXHR) {
|
|
}, function(jqXHR) {
|
|
jqXHR.then = null;
|
|
jqXHR.then = null;
|