Support for regular expressions for paths in parameter configuration.

This commit is contained in:
Zaid Abdulla committed 2013-12-02 23:31:03 +03:00
1 parent 7695b606c6
commit 8c4240f024
8 files changed
+312 -123

No files matched your search

+9 -9
View File
@@ -73,9 +73,9 @@ watchTask = (taskId, timeout, callback) ->
, 500)
expandParam = (param) ->
expandParam = (param, aliases) ->
params = [param]
for a,aa of config.ALIASES
for a,aa of aliases
if a == param or common.startsWith(a, "#{param}.")
for p in aa
params.push(p) if p[p.lastIndexOf('.') + 1] != '_'
@@ -83,7 +83,7 @@ expandParam = (param) ->
return params
sanitizeTask = (task, callback) ->
sanitizeTask = (task, aliases, callback) ->
task.timestamp = new Date(task.timestamp ? Date.now())
if task.expiry?
if common.typeOf(task.expiry) is common.DATE_TYPE or isNaN(task.expiry)
@@ -95,7 +95,7 @@ sanitizeTask = (task, callback) ->
when 'getParameterValues'
projection = {}
for p in task.parameterNames
for pp in expandParam(p)
for pp in expandParam(p, aliases)
projection[pp] = 1
db.devicesCollection.findOne({_id : task.device}, projection, (err, device) ->
parameterNames = []
@@ -109,7 +109,7 @@ sanitizeTask = (task, callback) ->
projection = {}
values = {}
for p in task.parameterValues
for pp in expandParam(p[0])
for pp in expandParam(p[0], aliases)
projection[pp] = 1
values[pp] = p[1]
db.devicesCollection.findOne({_id : task.device}, projection, (err, device) ->
@@ -126,8 +126,8 @@ sanitizeTask = (task, callback) ->
callback(task)
addAliases = (device) ->
for k,v of config.ALIASES
addAliases = (device, aliases) ->
for k,v of aliases
for p in v
pp = p.split('.')
obj = device
@@ -140,14 +140,14 @@ addAliases = (device) ->
device[k] = obj if obj?
insertTasks = (tasks, callback) ->
insertTasks = (tasks, aliases, callback) ->
if common.typeOf(tasks) isnt common.ARRAY_TYPE
tasks = [tasks]
counter = tasks.length
for task in tasks
sanitizeTask(task, (t) ->
sanitizeTask(task, aliases, (t) ->
if t.uniqueKey?
db.tasksCollection.remove({device : t.device, uniqueKey : t.uniqueKey}, (err, removed) ->
)