\r
$scope._create_new_lease = function(resource_urn, start_time, end_time)\r
{\r
- var lease_key, new_lease;\r
+ var lease_key, new_lease, data;\r
\r
lease_key = manifold.metadata.get_key('lease');\r
\r
new_lease.hashCode = manifold.record_hashcode(lease_key.sort());\r
new_lease.equals = manifold.record_equals(lease_key);\r
\r
- manifold.raise_event($scope.instance.options.query_lease_uuid, SET_ADD, new_lease);\r
+ data = {\r
+ state: STATE_SET,\r
+ key : null,\r
+ op : STATE_SET_ADD,\r
+ value: new_lease\r
+ }\r
+ manifold.raise_event($scope.instance.options.query_lease_uuid, FIELD_STATE_CHANGED, data);\r
/* Add to local cache also, unless we listen to events from outside */\r
if (!(resource_urn in $scope._leases_by_resource))\r
$scope._leases_by_resource[resource_urn] = [];\r
\r
$scope._remove_lease = function(other)\r
{\r
- var lease_key, other_key;\r
+ var lease_key, other_key, data;\r
\r
lease_key = manifold.metadata.get_key('lease');\r
\r
other_key.hashCode = manifold.record_hashcode(lease_key.sort());\r
other_key.equals = manifold.record_equals(lease_key);\r
\r
- manifold.raise_event($scope.instance.options.query_lease_uuid, SET_REMOVED, other_key);\r
+ data = {\r
+ state: STATE_SET,\r
+ key : null,\r
+ op : STATE_SET_REMOVE,\r
+ value: other_key\r
+ }\r
+ manifold.raise_event($scope.instance.options.query_lease_uuid, FIELD_STATE_CHANGED, data);\r
/* Remove from local cache also, unless we listen to events from outside */\r
$.grep($scope._leases_by_resource[other.resource], function(x) { return x != other; });\r
\r
\r
$scope.select = function(index, model_lease, model_resource)\r
{\r
+ var data;\r
+\r
console.log("Selected", index, model_lease, model_resource);\r
\r
var day_timestamp = SchedulerDateSelected.getTime() / 1000;\r
other_key.hashCode = manifold.record_hashcode(lease_key.sort());\r
other_key.equals = manifold.record_equals(lease_key);\r
\r
- manifold.raise_event($scope.instance.options.query_lease_uuid, SET_REMOVED, other_key);\r
+ data = {\r
+ state: STATE_SET,\r
+ key : null,\r
+ op : STATE_SET_REMOVE,\r
+ value: other_key\r
+ }\r
+ manifold.raise_event($scope.instance.options.query_lease_uuid, FIELD_STATE_CHANGED, data);\r
/* Remove from local cache also, unless we listen to events from outside */\r
$.grep($scope._leases_by_resource[model_resource.urn], function(x) { return x != other; });\r
return false; // ~ break\r
/* The lease 'other' is just after, and there should not exist\r
* any other lease after it */\r
end_time = other.end_time;\r
- // XXX SET_ADD and SET_REMOVE should accept full objects\r
other_key = {\r
resource: other.resource,\r
start_time: other.start_time,\r
other_key.hashCode = manifold.record_hashcode(lease_key.sort());\r
other_key.equals = manifold.record_equals(lease_key);\r
\r
- manifold.raise_event($scope.instance.options.query_lease_uuid, SET_REMOVED, other_key);\r
+ data = {\r
+ state: STATE_SET,\r
+ key : null,\r
+ op : STATE_SET_REMOVE,\r
+ value: other_key\r
+ }\r
+ manifold.raise_event($scope.instance.options.query_lease_uuid, FIELD_STATE_CHANGED, other_key);\r
/* Remove from local cache also, unless we listen to events from outside */\r
$.grep($scope._leases_by_resource[model_resource.urn], function(x) { return x != other; });\r
return false; // ~ break\r
}\r
\r
\r
- //$scope._dump_leases();\r
+ $scope._dump_leases();\r
};\r
\r
$scope._dump_leases = function()\r
$("#plugin-scheduler").show();\r
},\r
\r
- // GUI EVENTS\r
-\r
- // TO BE REMOVED\r
- _on_submit : function()\r
- {\r
- var leasesForCommit = new Array();\r
- var tmpDateTime = SchedulerDateSelected;\r
- for (var i = 0; i < SchedulerData.length; i++)\r
- {\r
- var tpmR = SchedulerData[i];\r
- //for capturing start and end of the lease\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
- //get date of the slot\r
- tmpDateTime = schedulerGetDateTimeFromSlotId(tpmL.id, tmpDateTime);\r
- var unixStartTime = tmpDateTime.getTime() / 1000;\r
- //add lease object\r
- leasesForCommit.push({\r
- resource: tpmR.id,\r
- //granularity: tpmR.granularity,\r
- //lease_type: null,\r
- //slice: null,\r
- start_time: unixStartTime,\r
- end_time: 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
- tmpDateTime = schedulerGetDateTimeFromSlotId(tpmL.id, tmpDateTime);\r
- var unixEndTime = tmpDateTime.getTime() / 1000;\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
- newLeaseStarted = false;\r
- }\r
- }\r
- }\r
- console.log(leasesForCommit);\r
- for (var i = 0; i < leasesForCommit.length; i++) {\r
- manifold.raise_event(scheduler2Instance.options.query_lease_uuid, SET_ADD, leasesForCommit[i]);\r
- }\r
- },\r
- \r
// PRIVATE METHODS\r
\r
/**\r