&& yAxisComponents != null) {
dataList = new ArrayList<DataArray>();
if (scanResult.getSensorsList() != null) {
Map<ISensor, DataArray> dataSensorMap = new HashMap<ISensor, DataArray>();
Map<IActuator, DataArray> dataActuatorMap = new HashMap<IActuator, DataArray>();
DataArray dataTime = null;
Object component;
ISensor sensorComponent;
IActuator actuatorComponent;
for (String dataName : yAxisComponents) {
dataName = dataName.toLowerCase();
component = getComponent(scanResult, dataName);
if (component instanceof ISensor) {
sensorComponent = (ISensor) component;
DataArray dataArray = new DataArray();
String name = sensorComponent.getName().toLowerCase();
dataArray.setId(name);
dataArray.setDisplayName(name);
dataArray.setFormat(getFormat());
dataArray.setReadOnly(true);
dataList.add(dataArray);
dataSensorMap.put(sensorComponent, dataArray);
}
else if (component instanceof IActuator) {
actuatorComponent = (IActuator) component;
DataArray dataArray = new DataArray();
String name = actuatorComponent.getName().toLowerCase();
dataArray.setId(name);
dataArray.setDisplayName(name);
dataArray.setFormat(getFormat());
dataArray.setReadOnly(true);
dataList.add(dataArray);
dataActuatorMap.put(actuatorComponent, dataArray);
}
else {
dataTime = new DataArray();
dataTime.setId(dataName);
dataTime.setDisplayName(dataName);
dataTime.setFormat(getFormat());
dataTime.setReadOnly(true);
dataList.add(dataTime);
}
}
Object xComponent = getComponent(scanResult, xAxisComponent);
List<IScanPoint> scanPointList = scanResult.getScanPointsList();
Double xx;
DataArray dataArray;
Point point;
ISensor sensor;
IActuator actuator;
for (IScanPoint scanPoint : scanPointList) {
if (xComponent instanceof IActuator) {
xx = scanPoint.getValue((IActuator) xComponent);
}
else if (xComponent instanceof ISensor) {
xx = scanPoint.getValue((ISensor) xComponent);
}
else {
xx = scanPoint.getTime();
}
for (Map.Entry<ISensor, DataArray> dataSensorEntry : dataSensorMap.entrySet()) {
sensor = dataSensorEntry.getKey();
dataArray = dataSensorEntry.getValue();
point = new Point(xx, scanPoint.getValue(sensor));
dataArray.add(point);
}
for (Map.Entry<IActuator, DataArray> dataActuatorEntry : dataActuatorMap
.entrySet()) {
actuator = dataActuatorEntry.getKey();
dataArray = dataActuatorEntry.getValue();
point = new Point(xx, scanPoint.getValue(actuator));
dataArray.add(point);
}
if (dataTime != null) {
point = new Point(xx, scanPoint.getTime());
dataTime.add(point);
}