try {
scanResultReady = ScanApi.isScanResultReady(ModelPreferences.getInstance()
.getScanServer());
if (scanResultReady) {
Data timeStampData = new Data();
timeStampData.setName("sensors timestamps");
datas.add(timeStampData);
}
}
catch (SalsaDeviceException e) {
if (e.isConsoleDisplay()) {
e.printStackTrace();
}
scanResultReady = false;
}
if (config == null || config.getScanAddOn() == null
|| config.getScanAddOn().getDisplay() == null
|| config.getScanAddOn().getDisplay().getAxisList() == null
|| config.getScanAddOn().getDisplay().getAxisList().size() == 0) {
// If no display is recorded, this is the default behavior.
if (scanResult.getSensorsList().size() != 0) {
Data tempData = new Data();
tempData.setName(scanResult.getSensorsList().get(0).getName());
if (resultType.equals(ResultType.RESULT_1D)) {
tempData.setDefaultAxis1D(Axis.Y1);
}
datas.add(tempData);
}
for (int i = 1; i < scanResult.getSensorsList().size(); i++) {
Data tempData = new Data();
tempData.setName(scanResult.getSensorsList().get(i).getName());
if (resultType.equals(ResultType.RESULT_1D)) {
tempData.setDefaultAxis1D(Axis.Y2);
}
datas.add(tempData);
}
for (int i = 0; i < scanResult.getActuatorsXList().size(); i++) {
Data tempData = new Data();
tempData.setName(scanResult.getActuatorsXList().get(i).getName());
datas.add(tempData);
}
if (resultType.equals(ResultType.RESULT_2D)) {
for (int i = 0; i < ((ScanResult2DImpl) scanResult).getActuatorsYList().size(); i++) {
Data tempData = new Data();
tempData.setName(((ScanResult2DImpl) scanResult).getActuatorsYList().get(i)
.getName());
datas.add(tempData);
}
for (Data data : datas) {
if (data.getName().equals(scanResult.getSensorsList().get(0).getName())) {
data.setDefaultAxis2D(Axis.Z);
break;
}
}
}
if (resultType.equals(ResultType.RESULT_1D)) {
if (scanResult.getActuatorsXList().size() > 0) {
for (Data data : datas) {
if (data.getName().equals(scanResult.getActuatorsXList().get(0).getName())) {
data.setDefaultAxis1D(Axis.X);
break;
}
}
}
else {
datas.get(0).setDefaultAxis1D(Axis.X);
}
}
}
else {
// A display is recorded : restore that. Restores the display.
if (scanResultReady) {
int expectedSize;
List<DisplayAxis> displayAxisList = config.getScanAddOn().getDisplay()
.getAxisList();
Iterator<DisplayAxis> displayAxisIterator = displayAxisList.iterator();
DisplayAxis displayAxis;
displayAxis = displayAxisIterator.hasNext() ? displayAxisIterator.next() : null;
datas.get(0).setDefaultAxis1D(convertAxis(displayAxis));
List<ISensor> sensorsList = scanResult.getSensorsList();
expectedSize = 1 + sensorsList.size();
for (ISensor sensor : sensorsList) {
Data tempData = new Data();
tempData.setName(tempData.getName());
displayAxis = displayAxisIterator.hasNext() ? displayAxisIterator.next() : null;
tempData.setName(sensor.getName());
tempData.setDefaultAxis1D(convertAxis(displayAxis));
datas.add(tempData);
}
List<IActuator> actuatorsXList = scanResult.getActuatorsXList();
expectedSize += actuatorsXList.size();
for (IActuator actuator : actuatorsXList) {
Data tempData = new Data();
tempData.setName(tempData.getName());
displayAxis = displayAxisIterator.hasNext() ? displayAxisIterator.next() : null;
tempData.setName(actuator.getName());
tempData.setDefaultAxis1D(convertAxis(displayAxis));
datas.add(tempData);
}
if (resultType == ResultType.RESULT_2D) {
List<IActuator> actuatorsYList = ((IScanResult2D) scanResult)
.getActuatorsYList();
expectedSize = actuatorsYList.size();
for (IActuator actuator : actuatorsYList) {
Data tempData = new Data();
tempData.setName(tempData.getName());
displayAxis = displayAxisIterator.hasNext() ? displayAxisIterator.next()
: null;
tempData.setName(actuator.getName());
tempData.setDefaultAxis1D(convertAxis(displayAxis));
datas.add(tempData);
}
}
if (expectedSize != displayAxisList.size()) {