Skip to content

Instantly share code, notes, and snippets.

@axeda
Created July 26, 2011 14:26
Show Gist options
  • Save axeda/1106884 to your computer and use it in GitHub Desktop.
Save axeda/1106884 to your computer and use it in GitHub Desktop.
Copy Data Item value to Asset Property value swcript
import com.axeda.drm.sdk.user.User
import com.axeda.drm.sdk.data.DataValue
import groovy.lang.PropertyValue
import com.axeda.drm.sdk.device.DevicePropertyFinder
import com.axeda.drm.sdk.device.Property
import com.axeda.drm.sdk.device.PropertyType
import com.axeda.drm.sdk.device.DeviceProperty
logger.info "Executing groovy script for device: " + context?.device?.serialNumber
if (dataItems != null)
{
logger.info "** Data Items **"
// show data item values
dataItems?.each {di ->
logger.info "dataitem: ${di.name} = ${di.value} = ${di.timestamp}"
}
def dataItemMap = [:]
dataItems.each{ dataItemMap[it.name] = it }
DevicePropertyFinder dpf = new DevicePropertyFinder (context.context)
dpf.type = PropertyType.DEVICE_TYPE
dpf.id = context.device.id
DeviceProperty dp = dpf.findOne()
List<Property> props = dp.getProperties()
props.each {Property prop->
if (dataItemMap.containsKey(prop.name)) {
prop.value = dataItemMap[prop.name].value?.toString()
//logger.info "Setting ${prop.name} to ${dataItemMap[prop.name].value?.toString()}"
}
}
dp.store()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment