this.recount = function(query_uuid)
{
var query_ext;
- var is_reserved, is_pending, in_set, is_unconfigured;
+ var is_reserved, is_pending, in_set, is_unconfigured, is_unavailable, is_available;
query_ext = manifold.query_store.find_analyzed_query_ext(query_uuid);
query_ext.num_pending = 0;
this.iter_records(query_uuid, function(record_key, record) {
var record_state = manifold.query_store.get_record_state(query_uuid, record_key, STATE_SET);
var record_warnings = manifold.query_store.get_record_state(query_uuid, record_key, STATE_WARNINGS);
+ is_unavailable = (record.available == 'false');
+ is_available = (record.available == 'true');
is_reserved = (record_state == STATE_SET_IN)
|| (record_state == STATE_SET_OUT_PENDING)
// Adapted from querytable._querytable_filter()
this.iter_records(query_uuid, function(record_key, record) {
- var is_reserved, is_pending, in_set, is_unconfigured;
+ var is_reserved, is_pending, in_set, is_unconfigured, is_unavailable, is_available;
/* By default, a record is visible unless a filter says the opposite */
var visible = true;
var record_state = manifold.query_store.get_record_state(query_uuid, record_key, STATE_SET);
var record_warnings = manifold.query_store.get_record_state(query_uuid, record_key, STATE_WARNINGS);
+ is_unavailable = (record.available == 'false');
+ is_available = (record.available == 'true');
+
is_reserved = (record_state == STATE_SET_IN)
|| (record_state == STATE_SET_OUT_PENDING)
|| (record_state == STATE_SET_IN_SUCCESS)
// false => ~ break
visible = is_reserved;
return visible;
+ case 'available':
+ visible = is_available;
+ return visible;
+ case 'unavailable':
+ visible = is_unavailable;
+ return visible;
case 'unconfigured':
visible = is_unconfigured;
return visible;
query = query_ext.query;
+ var testbeds_with_sla = localStorage.getItem("sla_testbeds").split(",");
+
switch(query.object) {
case 'resource':
//
// +) If a reservable node is added to the slice, then it should have a corresponding lease
// XXX Not always a resource
- var is_reservable = (record.exclusive == true);
+ var is_reservable = (record.exclusive == 'true');
if (is_reservable) {
// var warnings = manifold.query_store.get_record_state(query.query_uuid, record_key, STATE_WARNINGS);
}
}
- /*var urn_regexp = /\+(.*?)\+/;
+ var urn_regexp = /\+(.*?)\+/;
var testbed_urn = urn_regexp.exec(record.urn)[1];
- var has_sla = $.inArray(testbed_urn, localStorage.getItem("sla_testbeds").split(",")) != -1;
+ var has_sla = $.inArray(testbed_urn, testbeds_with_sla) != -1;
if (has_sla) {
// var warnings = manifold.query_store.get_record_state(query.query_uuid, record_key, STATE_WARNINGS);
} else {
delete warnings[CONSTRAINT_SLA];
}
- }*/
+ }
manifold.query_store.set_record_state(query.query_uuid, record_key, STATE_WARNINGS, warnings);
// Signal the change to plugins (even if the constraint does not apply, so that the plugin can display a checkmark)