class Scheduler2 (Plugin):\r
\r
\r
- def __init__ (self, query, query_all_resources, query_lease = None, **settings):\r
+ def __init__ (self, query, query_lease, query_all_resources, query_all_leases, **settings):\r
Plugin.__init__ (self, **settings)\r
\r
self.query=query\r
self.query_all_resources = query_all_resources\r
self.query_all_resources_uuid = query_all_resources.query_uuid\r
\r
+ self.query_all_leases = query_all_leases\r
+ self.query_all_leases_uuid = query_all_leases.query_uuid\r
+\r
self.query_lease = query_lease\r
self.query_lease_uuid = query_lease.query_uuid\r
\r
# query_uuid will pass self.query results to the javascript\r
# and will be available as "record" in :\r
# on_new_record: function(record)\r
- return ['plugin_uuid', 'domid', 'query_uuid', 'time_slots', 'nodes', 'query_lease_uuid', 'query_all_resources_uuid']\r
+ return ['plugin_uuid', 'domid', 'query_uuid', 'time_slots', 'nodes', 'query_lease_uuid', 'query_all_resources_uuid', 'query_all_leases_uuid']\r
\r
\r
def export_json_settings (self):\r
/* Listening to queries */\r
\r
this.listen_query(options.query_uuid);\r
- this.listen_query(options.query_all_uuid, 'all');\r
+ //this.listen_query(options.query_all_uuid, 'all');\r
this.listen_query(options.query_all_resources_uuid, 'all_resources');\r
this.listen_query(options.query_lease_uuid, 'lease');\r
- //this.listen_query(options.query_lease_uuid, 'lease');\r
+ this.listen_query(options.query_all_leases_uuid, 'all_leases');\r
if (schedulerDebug) console.timeEnd("Listening_to_queries");\r
\r
},\r
/* lease QUERY HANDLERS Start */\r
on_lease_clear_records: function(data) { console.log('clear_records'); },\r
on_lease_query_in_progress: function(data) { console.log('lease_query_in_progress'); },\r
- on_lease_new_record: function(data) {\r
+ on_all_leases_new_record: function(data) {\r
if (data.resource.indexOf("nitos") > -1) {\r
tmpSchedulerLeases.push({\r
id: schedulerGetSlotId(data.start_time, data.duration, data.granularity),\r
}\r
//console.log(data.toSource()); console.log('lease_new_record');\r
},\r
- on_lease_query_done: function(data) {\r
+ on_all_leases_query_done: function(data) {\r
_leasesDone = true;\r
this._initScheduler();\r
// console.log('lease_query_done');\r
}\r
},\r
\r
- on_lease_filter_added: function(filter) {\r
+ on_all_leases_filter_added: function(filter) {\r
console.log("Filter on Leases added !");\r
},\r
\r
console.log(tomorrow.getTime()/1000);\r
\r
// Remove previous date interval\r
- manifold.raise_event(scheduler2Instance.options.query_lease_uuid, FILTER_REMOVED, ['start_time', '>']);\r
- manifold.raise_event(scheduler2Instance.options.query_lease_uuid, FILTER_REMOVED, ['start_time', '<']);\r
+ manifold.raise_event(scheduler2Instance.options.query_all_leases_uuid, FILTER_REMOVED, ['start_time', '>']);\r
+ manifold.raise_event(scheduler2Instance.options.query_all_leases_uuid, FILTER_REMOVED, ['start_time', '<']);\r
\r
// Add new date interval\r
- manifold.raise_event(scheduler2Instance.options.query_lease_uuid, FILTER_ADDED, ['start_time', '>', SchedulerDateSelected.getTime()/1000]);\r
- manifold.raise_event(scheduler2Instance.options.query_lease_uuid, FILTER_ADDED, ['start_time', '<', tomorrow.getTime()/1000]);\r
+ manifold.raise_event(scheduler2Instance.options.query_all_leases_uuid, FILTER_ADDED, ['start_time', '>', SchedulerDateSelected.getTime()/1000]);\r
+ manifold.raise_event(scheduler2Instance.options.query_all_leases_uuid, FILTER_ADDED, ['start_time', '<', tomorrow.getTime()/1000]);\r
} else {\r
alert("Please select a date, so the scheduler can reserve leases.");\r
}\r
\r
//btn Submit leases\r
$('#btnSchedulerSubmit').click(function () {\r
+ console.log("click btnSchedulerSubmit");\r
var leasesForCommit = new Array();\r
- var newLeaseStarted = false;\r
var tmpDateTime = SchedulerDateSelected;\r
+ console.log(SchedulerData);\r
for (var i = 0; i < SchedulerData.length; i++)\r
{\r
var tpmR = SchedulerData[i];\r
+ var newLeaseStarted = false;\r
for (var j = 0; j < tpmR.leases.length; j++) {\r
var tpmL = tpmR.leases[j];\r
if (newLeaseStarted == false && tpmL.status == 'selected') {\r
//add lease object\r
leasesForCommit.push({\r
resource: tpmR.id,\r
- granularity: tpmR.granularity,\r
- lease_type: null,\r
- slice: null,\r
+ //granularity: tpmR.granularity,\r
+ //lease_type: null,\r
+ //slice: null,\r
start_time: unixStartTime,\r
end_time: null,\r
- duration: null\r
+ //duration: null\r
});\r
+ console.log(tpmR.id);\r
newLeaseStarted = true;\r
} else if (newLeaseStarted == true && tpmL.status != 'selected') {\r
//get date of the slot\r
//upate end_time\r
var tmpCL = leasesForCommit[leasesForCommit.length - 1];\r
tmpCL.end_time = unixEndTime;\r
- tmpCL.duration = schedulerFindDuration(tmpCL.start_time, tmpCL.end_time, tmpCL.granularity);\r
+ //tmpCL.duration = schedulerFindDuration(tmpCL.start_time, tmpCL.end_time, tmpCL.granularity);\r
newLeaseStarted = false;\r
}\r
}\r
}\r
-\r
+ console.log(leasesForCommit);\r
for (var i = 0; i < leasesForCommit.length; i++) {\r
- //manifold.raise_event(scheduler.options.query_lease_uuid, SET_ADD, leasesForCommit[i]);\r
+ manifold.raise_event(scheduler2Instance.options.query_lease_uuid, SET_ADD, leasesForCommit[i]);\r
}\r
});\r
//\r