Setting DataItem Value by using Java SDK on ServiceLink 6.1.3

Hi All,

I am trying to set a dataitem value by using Axeda Java SDK on  ServicLink 6.1.3. I wrote following function to set data item value but it seems it is not working.

What is wrong with it? I found several piece of codes in forum with Groovy but I need Java SDK code. Thanks in advance..

import com.axeda.drm.sdk.device.DataItemValue;

 

import com.axeda.drm.sdk.device.Device;

import com.axeda.drm.sdk.device.DeviceData;

import com.axeda.drm.sdk.device.DeviceDataFinder;

 

 

 

public void setDeviceDataItemValue(Device device,String dataItemName, String value) {

DeviceDataFinder deviceDataFinder = new DeviceDataFinder(context);

deviceDataFinder.setId(device.getId());

deviceDataFinder.setIncludeDataItems(true);

DeviceData deviceData = deviceDataFinder.getDeviceData();

List<DataItemValue> dataItemValues = deviceData.getDataItems();

for(DataItemValue dataItemValue: dataItemValues){

if (dataItemValue.getDataItem().getName().equalsIgnoreCase(dataItemName)){

dataItemValue.setDataItemValue(value);

  break;

}

}

 

Setting DataItem Value by using Java SDK on ServiceLink 6.1.3

By the way DataItem that I am trying to update is defined on Entrprise Server not on Agent.

Agent doesnt aware such data item. And I dont want to send it to agent too. 

Did you get help for this?

If not, how are you setting this DI, with Action or Event?

In either way, I dont see how you're passing the context or the device in.