else {
Object userObject = gtn.getUserObject();
if (userObject instanceof IDataItem) {
Icon icon;
JComponent viewer = new JPanel();
IDataItem di = (IDataItem) userObject;
NodeDataType nodeDataType = getNodeDataType(di);
switch (nodeDataType) {
case SCALAR:
icon = ICONS.getIcon("NodeScalar");
Label textLabel = new Label();
textLabel.switchDAOFactory(DummyDAOFactory.class.getName());
try {
IArray data = di.getData();
// instead we could use getIndexIterator and get the first value
// Index index = data.getIndex();
// index.set(0);
// String value = getNodeName(gtn) + " = " +
// data.getObject(index);
IArrayIterator iterator = data.getIterator();
String value = getNodeName(gtn) + " = "
+ iterator.getObjectNext();
textLabel.setData(value);
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
viewer = (JComponent) textLabel.getComponent();
break;
case SPECTRUM:
icon = ICONS.getIcon("NodeSpectrum");
ChartViewer chart = new ChartViewer();
chart.switchDAOFactory(DummyDAOFactory.class.getName());
try {
IArray data = di.getData();
if (data.getElementType().equals(double.class)
|| data.getElementType().equals(float.class)) {
List<DataArray> values = new ArrayList<DataArray>(1);
DataArray array = new DataArray();
values.add(array);
IArrayIterator iterator = data.getIterator();
for (int i = 0; iterator.hasNext(); i++) {
array.add(i, iterator.getDoubleNext());
}
array.setId(di.getShortName());
chart.setData(values);
// TODO remove when default = false in comete
chart.getComponent().setFreezePanelVisible(false);
chart.getComponent().setManagementPanelVisible(false);
// chart.getAxis(JLChart.Y1).setName(di.getUnits());
fr.soleil.comete.widget.swing.ChartViewer component2 = (fr.soleil.comete.widget.swing.ChartViewer) chart
.getComponent();
component2.setAxisName(di.getUnitsString(), IChartViewer.Y1);
}
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
viewer = (JComponent) chart.getComponent();
break;
case IMAGE:
icon = ICONS.getIcon("NodeImage");
ImageViewer imageViewer = new ImageViewer();
imageViewer.switchDAOFactory(DummyDAOFactory.class.getName());
try {
IArray data = di.getData();
// int length = (int) data.getSize();
int[] shape = data.getShape();
Class<?> elementType = data.getElementType();
// TODO sysout SMA