package art.servers.asfserver.controller;
|
|
import art.library.interop.InteropParameter;
|
import art.library.interop.InteropParameters;
|
import art.library.interop.InteropResponse;
|
import art.library.interop.serialization.Serialization;
|
import art.library.interop.serialization.SerializationException;
|
import art.library.model.devices.DeviceAction;
|
import art.library.model.devices.DeviceActionResult;
|
import art.library.model.devices.DeviceCommands;
|
import art.library.model.devices.DeviceStatus;
|
import art.library.model.devices.vms.asf.Asf;
|
import art.library.model.devices.vms.asf.AsfCommands;
|
import art.library.model.devices.vms.asf.AsfStatus;
|
import art.library.utils.synchro.Mutex;
|
import art.servers.ServerException;
|
import art.servers.Shared;
|
import art.servers.AsfServer;
|
import art.servers.asfserver.protocols.dgt.AsfDgtConstants;
|
import art.servers.asfserver.protocols.dgt.AsfDgtProtocolAnalyser;
|
import java.util.Arrays;
|
import java.util.List;
|
import art.servers.asfserver.protocols.dgt.AsfDgtProtocolConstructor;
|
import java.util.ArrayList;
|
|
public class ControllerAsfDGTEru extends ControllerAsf
|
{
|
|
private String name = null;
|
private boolean firstTime = true;
|
private final Mutex mutex = new Mutex();
|
|
public ControllerAsfDGTEru(Asf asf)
|
{
|
super(asf);
|
this.device = asf;
|
this.name = Shared.getMessage("Controller asf") + " " + asf.toString();
|
|
this.setName(name);
|
if (device.getDeviceStatus() == null)
|
{
|
device.status = new AsfStatus();
|
}
|
}
|
|
public void run()
|
{
|
Shared.traceInformation(name, "Starting");
|
|
while ((isInterrupted() == false) && (exit == false))
|
{
|
long startTimestamp = System.currentTimeMillis();
|
|
try
|
{
|
if (art.servers.Shared.isServerEnabled() == true)
|
{
|
update();
|
}
|
} catch (Exception e)
|
{
|
}
|
|
long timetowait = (device.getDeviceInformation().polling * 1000) - (System.currentTimeMillis() - startTimestamp);
|
timetowait = Math.min(timetowait, (device.getDeviceInformation().polling * 1000));
|
|
if (timetowait > 0)
|
{
|
try
|
{
|
sleep(timetowait);
|
} catch (Exception e)
|
{
|
}
|
} else
|
{
|
try
|
{
|
sleep(50);
|
} catch (Exception e)
|
{
|
};
|
}
|
|
if (Shared.model.existsDevice(device.getIdentifier()) == false)
|
{
|
exit = true;
|
}
|
}
|
|
Shared.traceInformation(name, "Finishing");
|
}
|
|
// <editor-fold defaultstate="collapsed" desc="Update">
|
private void update() throws Exception
|
{
|
mutex.lockWrite();
|
|
Asf deviceclone = (Asf) Serialization.clone(device);
|
deviceclone.getDeviceAlarms().clear();
|
|
try
|
{
|
readAlarms(deviceclone);
|
|
if (deviceclone.getAlarm("alarm_offline") > 0)
|
{
|
offline(deviceclone);
|
return;
|
}
|
|
readConfiguration(deviceclone);
|
readStatus(deviceclone);
|
online(deviceclone);
|
} catch (Exception e)
|
{
|
offline(deviceclone);
|
} finally
|
{
|
mutex.releaseWrite();
|
}
|
}
|
|
private void offline(Asf deviceclone) throws Exception
|
{
|
deviceclone.setAlarm("alarm_offline", System.currentTimeMillis());
|
Shared.model.updateDevice(device, deviceclone);
|
}
|
|
private void online(Asf deviceclone) throws Exception
|
{
|
if ((device.alarms.alarm_offline > 0) || (firstTime == true))
|
{
|
firstTime = false;
|
String message = art.servers.Shared.getMessage("Asf online");
|
Shared.println(this.name, message);
|
}
|
|
deviceclone.setAlarm("alarm_offline", false);
|
deviceclone.setAlarm("alarm_invalid", false);
|
Shared.model.updateDevice(device, deviceclone);
|
}
|
|
private void readAlarms(Asf deviceclone) throws Exception
|
{
|
try
|
{
|
InteropParameters parameters = new InteropParameters();
|
parameters.addParameter(new InteropParameter("operation", "getVmsEya"));
|
parameters.addParameter(new InteropParameter("language", "en-GB"));
|
parameters.addParameter(new InteropParameter("device", deviceclone.getDeviceInformation().connectionEru.eru));
|
parameters.addParameter(new InteropParameter("vms", "" + deviceclone.getDeviceInformation().connectionEru.vmsNumber));
|
|
Shared.println(name, "1.ReadAlarms: " + deviceclone.getDeviceInformation().connectionEru.eru + " " + deviceclone.getDeviceInformation().connectionEru.vmsNumber);
|
InteropResponse response = (InteropResponse) Serialization.invoke("get", parameters, deviceclone.getDeviceInformation().connectionEru.address, deviceclone.getDeviceInformation().connectionEru.port, deviceclone.getDeviceInformation().connectionEru.timeout);
|
Shared.println(name, "2.ReadAlarms: " + deviceclone.getDeviceInformation().connectionEru.eru + " " + deviceclone.getDeviceInformation().connectionEru.vmsNumber);
|
|
Object[] lobject = Arrays.copyOf(response.getValue(), response.getValue().length, Object[].class);
|
Shared.println(name, "3.ReadAlarms: " + deviceclone.getDeviceInformation().connectionEru.eru + " " + deviceclone.getDeviceInformation().connectionEru.vmsNumber + " - " + lobject.length);
|
List<Integer> lbytes = new ArrayList<Integer>();
|
for (Object o : lobject)
|
{
|
lbytes.add((Integer) o);
|
}
|
|
int numberOfVmss = lbytes.get(0).intValue();
|
Shared.println(name, "4.ReadAlarms: " + deviceclone.getDeviceInformation().connectionEru.eru + " " + deviceclone.getDeviceInformation().connectionEru.vmsNumber + " - " + numberOfVmss);
|
int vmsNumber = lbytes.get(1).intValue();
|
Shared.println(name, "5.ReadAlarms: " + deviceclone.getDeviceInformation().connectionEru.eru + " " + deviceclone.getDeviceInformation().connectionEru.vmsNumber + " - " + vmsNumber);
|
if (vmsNumber == deviceclone.getDeviceInformation().connectionEru.vmsNumber)
|
{
|
// Message received corresponds to vms
|
String s = " EYA << ";
|
int[] information = new int[lbytes.size() - 2];
|
for (int i = 2; i < lbytes.size(); i++)
|
{
|
information[i - 2] = lbytes.get(i);
|
s += " " + information[i-2];
|
}
|
|
Shared.println(name, s);
|
AsfDgtProtocolAnalyser.analyseResponseEyA(deviceclone, information);
|
}
|
} catch (Exception e)
|
{
|
Shared.printstack(name, e);
|
throw e;
|
}
|
}
|
|
private void readConfiguration(Asf deviceclone) throws Exception
|
{
|
try
|
{
|
InteropParameters parameters = new InteropParameters();
|
parameters.addParameter(new InteropParameter("operation", "getVmsPp"));
|
parameters.addParameter(new InteropParameter("language", "en-GB"));
|
parameters.addParameter(new InteropParameter("device", deviceclone.getDeviceInformation().connectionEru.eru));
|
parameters.addParameter(new InteropParameter("vms", "" + deviceclone.getDeviceInformation().connectionEru.vmsNumber));
|
InteropResponse response = (InteropResponse) Serialization.invoke("get", parameters, deviceclone.getDeviceInformation().connectionEru.address, deviceclone.getDeviceInformation().connectionEru.port, deviceclone.getDeviceInformation().connectionEru.timeout);
|
|
Object[] lobject = Arrays.copyOf(response.getValue(), response.getValue().length, Object[].class);
|
List<Integer> lbytes = new ArrayList<>();
|
for (Object o : lobject)
|
{
|
lbytes.add((Integer) o);
|
}
|
|
int numberOfVmss = lbytes.get(0).intValue();
|
int vmsNumber = lbytes.get(1).intValue();
|
if (vmsNumber == deviceclone.getDeviceInformation().connectionEru.vmsNumber)
|
{
|
// Message received corresponds to vms
|
int[] information = new int[lbytes.size() - 2];
|
for (int i = 2; i < lbytes.size(); i++)
|
{
|
information[i - 2] = lbytes.get(i);
|
}
|
|
AsfDgtProtocolAnalyser.analyseResponsePP(deviceclone, information);
|
}
|
} catch (Exception e)
|
{
|
throw e;
|
}
|
}
|
|
private void readStatus(Asf deviceclone) throws Exception
|
{
|
try
|
{
|
InteropParameters parameters = new InteropParameters();
|
parameters.addParameter(new InteropParameter("operation", "getVmsEp"));
|
parameters.addParameter(new InteropParameter("language", "en-GB"));
|
parameters.addParameter(new InteropParameter("device", deviceclone.getDeviceInformation().connectionEru.eru));
|
parameters.addParameter(new InteropParameter("vms", "" + deviceclone.getDeviceInformation().connectionEru.vmsNumber));
|
InteropResponse response = (InteropResponse) Serialization.invoke("get", parameters, deviceclone.getDeviceInformation().connectionEru.address, deviceclone.getDeviceInformation().connectionEru.port, deviceclone.getDeviceInformation().connectionEru.timeout);
|
|
Object[] lobject = Arrays.copyOf(response.getValue(), response.getValue().length, Object[].class);
|
List<Integer> lbytes = new ArrayList<>();
|
for (Object o : lobject)
|
{
|
lbytes.add((Integer) o);
|
}
|
|
int numberOfVmss = lbytes.get(0).intValue();
|
int vmsNumber = lbytes.get(1).intValue();
|
if (vmsNumber == deviceclone.getDeviceInformation().connectionEru.vmsNumber)
|
{
|
// Message received corresponds to vms
|
int[] information = new int[lbytes.size() - 2];
|
for (int i = 2; i < lbytes.size(); i++)
|
{
|
information[i - 2] = lbytes.get(i);
|
}
|
|
AsfDgtProtocolAnalyser.analyseResponseEP(deviceclone, information);
|
}
|
} catch (Exception e)
|
{
|
if (this.device.getIdentifier().equalsIgnoreCase(AsfServer.devicelog) == true)
|
{
|
e.printStackTrace();
|
}
|
throw e;
|
}
|
}
|
|
// </editor-fold>
|
// <editor-fold defaultstate="collapsed" desc="Actions">
|
public DeviceAction[] sendCommands(InteropParameters parameters) throws ServerException, SerializationException, Exception
|
{
|
try
|
{
|
List<DeviceAction> result = new ArrayList<>();
|
|
AsfCommands asfCommands = (AsfCommands) parameters.getBodyContentValue(AsfCommands.class);
|
Shared.println("AsfCommand", Serialization.toPrettyString(asfCommands));
|
|
Asf clone = (Asf) Serialization.clone(device);
|
|
if (asfCommands.liberate == DeviceCommands.CONDITION_YES)
|
{
|
AsfCommands command = new AsfCommands();
|
command.liberate = asfCommands.liberate;
|
result.add(liberate(parameters, command, clone));
|
}
|
|
if (asfCommands.state != AsfCommands.STATE_NOTHING)
|
{
|
AsfCommands command = new AsfCommands();
|
command.state = asfCommands.state;
|
command.priority = asfCommands.priority;
|
result.add(mep(parameters, command, clone));
|
}
|
|
if ((asfCommands.brightness != -2) || (asfCommands.blinkOn > -1) || (asfCommands.blinkOff > -1))
|
{
|
AsfCommands command = new AsfCommands();
|
if (asfCommands.brightness != -2)
|
{
|
command.brightness = asfCommands.brightness;
|
}
|
if (asfCommands.blinkOn > -1)
|
{
|
command.blinkOn = asfCommands.blinkOn;
|
}
|
if (asfCommands.blinkOff > -1)
|
{
|
command.blinkOff = asfCommands.blinkOff;
|
}
|
result.add(mpp(parameters, command, clone));
|
}
|
|
if (asfCommands.reset == AsfCommands.CONDITION_YES)
|
{
|
AsfCommands command = new AsfCommands();
|
command.reset = asfCommands.reset;
|
result.add(reset(parameters, command, clone));
|
}
|
|
if (asfCommands.timeout >= 0)
|
{
|
AsfCommands command = new AsfCommands();
|
command.timeout = asfCommands.timeout;
|
result.add(timeout(parameters, command, clone));
|
}
|
|
mutex.lockWrite();
|
{
|
Shared.model.updateDevice(device, clone);
|
}
|
mutex.releaseWrite();
|
|
return result.toArray(new DeviceAction[result.size()]);
|
} catch (Exception exception)
|
{
|
//Shared.printstack("update exception", exception);
|
return (art.servers.asfserver.Shared.responseError(device, parameters, exception));
|
}
|
}
|
|
private DeviceAction mpp(InteropParameters parameters, AsfCommands command, Asf deviceclone)
|
{
|
String language = (String) parameters.getParameterValue("language");
|
DeviceAction action = new DeviceAction(device, parameters, command);
|
action.actionName = command.getActionName();
|
|
try
|
{
|
int currentPriority = this.device.getDeviceStatus().priority;
|
|
if ((command.priority >= 0) && (command.priority < currentPriority))
|
{
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_ERROR, Shared.getMessage("Insufficient priority"));
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
} else
|
{
|
InteropParameters parametersOrder = new InteropParameters();
|
parametersOrder.addParameter(new InteropParameter("operation", "setVmsPp"));
|
parametersOrder.addParameter(new InteropParameter("language", language));
|
parametersOrder.addParameter(new InteropParameter("device", deviceclone.getDeviceInformation().connectionEru.eru));
|
parametersOrder.addParameter(new InteropParameter("vms", "" + deviceclone.getDeviceInformation().connectionEru.vmsNumber));
|
|
int brightness = -1; // Auto
|
if (deviceclone.getDeviceStatus().brightnessMode != AsfStatus.BRIGHTNESS_MODE_AUTO)
|
{
|
brightness = deviceclone.getDeviceStatus().brightnessLevel;
|
}
|
if (command.brightness != -2)
|
{
|
brightness = command.brightness;
|
}
|
int blinkon = (int) Math.round(deviceclone.getDeviceStatus().blinkOn * 1000);
|
if (command.blinkOn > -1)
|
{
|
blinkon = (int) Math.round(command.blinkOn * 10);
|
}
|
int blinkoff = (int) Math.round(deviceclone.getDeviceStatus().blinkOff * 1000);
|
if (command.blinkOff > -1)
|
{
|
blinkoff = (int) Math.round(command.blinkOff * 10);
|
}
|
|
if (blinkon == 0)
|
{
|
blinkon = 500;
|
}
|
if (blinkoff == 0)
|
{
|
blinkoff = 500;
|
}
|
|
int messagetime = 2;
|
if (brightness == -1)
|
{
|
brightness = 'A';
|
} else
|
{
|
brightness = AsfDgtProtocolConstructor.getBrightnessDGTLevel(brightness, deviceclone.getDeviceInformation().maximumBrightnessLevel);
|
}
|
|
parametersOrder.addParameter(new InteropParameter("brightness", "" + brightness));
|
parametersOrder.addParameter(new InteropParameter("blinkon", "" + blinkon));
|
parametersOrder.addParameter(new InteropParameter("blinkoff", "" + blinkoff));
|
parametersOrder.addParameter(new InteropParameter("messagetime", "" + messagetime));
|
|
InteropResponse response = (InteropResponse) Serialization.invoke("set", parametersOrder, deviceclone.getDeviceInformation().connectionEru.address, deviceclone.getDeviceInformation().connectionEru.port, deviceclone.getDeviceInformation().connectionEru.timeout);
|
Object[] lobject = Arrays.copyOf(response.getValue(), response.getValue().length, Object[].class);
|
|
int asfNumber = (Integer) lobject[1];
|
if (asfNumber == deviceclone.getDeviceInformation().connectionEru.vmsNumber)
|
{
|
int[] information = new int[lobject.length - 2];
|
for (int i = 0; i < information.length; i++)
|
{
|
information[i] = (Integer) lobject[i + 2];
|
}
|
|
AsfDgtProtocolAnalyser.analyseResponsePP(deviceclone, information);
|
}
|
|
deviceclone.getDeviceStatus().priority = command.priority;
|
deviceclone.getDeviceStatus().timestampOrder = System.currentTimeMillis();
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_CORRECT);
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
}
|
} catch (Exception exception)
|
{
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_ERROR, exception.getMessage());
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
}
|
}
|
|
private DeviceAction reset(InteropParameters parameters, AsfCommands command, Asf deviceclone)
|
{
|
String language = (String) parameters.getParameterValue("language");
|
DeviceAction action = new DeviceAction(device, parameters, command);
|
action.actionName = command.getActionName();
|
|
try
|
{
|
int currentPriority = this.device.getDeviceStatus().priority;
|
|
if ((command.priority >= 0) && (command.priority < currentPriority))
|
{
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_ERROR, Shared.getMessage("Insufficient priority"));
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
} else
|
{
|
InteropParameters parametersOrder = new InteropParameters();
|
parametersOrder.addParameter(new InteropParameter("operation", "setVmsReset"));
|
parametersOrder.addParameter(new InteropParameter("language", language));
|
parametersOrder.addParameter(new InteropParameter("device", device.getDeviceInformation().connectionEru.eru));
|
parametersOrder.addParameter(new InteropParameter("vms", "" + device.getDeviceInformation().connectionEru.vmsNumber));
|
|
InteropResponse response = (InteropResponse) Serialization.invoke("set", parametersOrder, device.getDeviceInformation().connectionEru.address, device.getDeviceInformation().connectionEru.port, device.getDeviceInformation().connectionEru.timeout);
|
Object[] lobject = Arrays.copyOf(response.getValue(), response.getValue().length, Object[].class);
|
List<Integer> lbytes = new ArrayList<Integer>();
|
for (Object o : lobject)
|
{
|
lbytes.add((Integer) o);
|
}
|
|
deviceclone.getDeviceStatus().priority = command.priority;
|
deviceclone.getDeviceStatus().timestampOrder = System.currentTimeMillis();
|
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_CORRECT);
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
}
|
} catch (Exception exception)
|
{
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_ERROR, exception.getMessage());
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
}
|
}
|
|
private DeviceAction timeout(InteropParameters parameters, AsfCommands command, Asf deviceclone)
|
{
|
String language = (String) parameters.getParameterValue("language");
|
DeviceAction action = new DeviceAction(device, parameters, command);
|
action.actionName = command.getActionName();
|
|
try
|
{
|
int currentPriority = this.device.getDeviceStatus().priority;
|
|
if ((command.priority >= 0) && (command.priority < currentPriority))
|
{
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_ERROR, Shared.getMessage("Insufficient priority"));
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
} else
|
{
|
InteropParameters parametersOrder = new InteropParameters();
|
parametersOrder.addParameter(new InteropParameter("operation", "setVmsTimeout"));
|
parametersOrder.addParameter(new InteropParameter("language", language));
|
parametersOrder.addParameter(new InteropParameter("device", device.getDeviceInformation().connectionEru.eru));
|
parametersOrder.addParameter(new InteropParameter("vms", "" + device.getDeviceInformation().connectionEru.vmsNumber));
|
parametersOrder.addParameter(new InteropParameter("timeout", "" + command.timeout));
|
|
InteropResponse response = (InteropResponse) Serialization.invoke("set", parametersOrder, device.getDeviceInformation().connectionEru.address, device.getDeviceInformation().connectionEru.port, device.getDeviceInformation().connectionEru.timeout);
|
Object[] lobject = Arrays.copyOf(response.getValue(), response.getValue().length, Object[].class);
|
List<Integer> lbytes = new ArrayList<>();
|
for (Object o : lobject)
|
{
|
lbytes.add((Integer) o);
|
}
|
|
deviceclone.getDeviceStatus().priority = command.priority;
|
deviceclone.getDeviceStatus().timestampOrder = System.currentTimeMillis();
|
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_CORRECT);
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
}
|
} catch (Exception exception)
|
{
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_ERROR, exception.getMessage());
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
}
|
}
|
|
private DeviceAction liberate(InteropParameters parameters, AsfCommands command, Asf deviceclone)
|
{
|
String language = (String) parameters.getParameterValue("language");
|
DeviceAction action = new DeviceAction(device, parameters, command);
|
action.actionName = command.getActionName();
|
|
try
|
{
|
deviceclone.getDeviceStatus().priority = -1;
|
deviceclone.getDeviceStatus().timestampOrder = System.currentTimeMillis();
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_CORRECT);
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
} catch (Exception exception)
|
{
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_ERROR, exception.getMessage());
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
}
|
}
|
|
private DeviceAction mep(InteropParameters parameters, AsfCommands command, Asf deviceclone)
|
{
|
String language = (String) parameters.getParameterValue("language");
|
String username = (String) parameters.getParameterValue("username");
|
DeviceAction action = new DeviceAction(device, parameters, command);
|
|
action.actionName = command.getActionName();
|
|
try
|
{
|
int currentPriority = this.device.getDeviceStatus().priority;
|
|
if ((command.priority >= 0) && (command.priority < currentPriority))
|
{
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_ERROR, Shared.getMessage("Insufficient priority"));
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
} else
|
{
|
InteropParameters parametersOrder = new InteropParameters();
|
parametersOrder.addParameter(new InteropParameter("operation", "setVmsMep"));
|
parametersOrder.addParameter(new InteropParameter("language", language));
|
parametersOrder.addParameter(new InteropParameter("device", device.getDeviceInformation().connectionEru.eru));
|
parametersOrder.addParameter(new InteropParameter("vms", "" + device.getDeviceInformation().connectionEru.vmsNumber));
|
|
byte[] message = AsfDgtProtocolConstructor.getBodyContentMessage(command.state, deviceclone);
|
parametersOrder.addBodycontent(message);
|
|
InteropResponse response = (InteropResponse) Serialization.invoke("set", parametersOrder, deviceclone.getDeviceInformation().connectionEru.address, deviceclone.getDeviceInformation().connectionEru.port, deviceclone.getDeviceInformation().connectionEru.timeout);
|
|
deviceclone.getDeviceStatus().priority = command.priority;
|
|
Object[] lobject = Arrays.copyOf(response.getValue(), response.getValue().length, Object[].class);
|
int asfNumber = (Integer) lobject[1];
|
if (asfNumber == deviceclone.getDeviceInformation().connectionEru.vmsNumber)
|
{
|
int[] information = new int[lobject.length - 2];
|
for (int i = 0; i < information.length; i++)
|
{
|
information[i] = (Integer) lobject[i + 2];
|
}
|
|
AsfDgtProtocolAnalyser.analyseResponseEP(deviceclone, information);
|
}
|
|
deviceclone.getDeviceStatus().timestampOrder = System.currentTimeMillis();
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_CORRECT);
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
}
|
} catch (Exception exception)
|
{
|
//Shared.printstack("Exception", exception);
|
DeviceActionResult actionResult = new DeviceActionResult(DeviceActionResult.RESULT_ERROR, exception.getMessage());
|
action.setResult(actionResult);
|
Shared.model.addAction(action);
|
return action;
|
}
|
}
|
|
// </editor-fold>
|
}
|