Fixed viewer

This commit is contained in:
2014-04-16 08:43:58 +02:00
parent 576d7eb048
commit e20cab4874
4 changed files with 22 additions and 21 deletions
@@ -55,7 +55,6 @@ import com.google.common.eventbus.EventBus;
import sun.misc.Signal;
import sun.misc.SignalHandler;
import ch.psi.fda.aq.VisualizationMapper;
import ch.psi.fda.gui.ProgressPanel;
import ch.psi.fda.gui.ScrollableFlowPanel;
import ch.psi.fda.model.ModelManager;
@@ -23,7 +23,6 @@ import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -42,10 +41,9 @@ import org.apache.commons.cli.ParseException;
import com.google.common.eventbus.EventBus;
import com.google.common.eventbus.Subscribe;
import ch.psi.fda.aq.VisualizationMapper;
import ch.psi.fda.gui.ScrollableFlowPanel;
import ch.psi.fda.model.v1.Visualization;
import ch.psi.fda.rest.StreamClient;
import ch.psi.fda.vdescriptor.VDescriptor;
import ch.psi.fda.visualizer.Visualizer;
/**
@@ -103,7 +101,7 @@ public class ViewerMain {
bus.register(new Object(){
@Subscribe
public void onMessage(List<Visualization> vis){
public void onMessage(VDescriptor vdescriptor){
logger.info("Build up new visualization");
@@ -112,7 +110,7 @@ public class ViewerMain {
bus.unregister(visualizer);
}
visualizer = new Visualizer(VisualizationMapper.mapVisualizations(vis));
visualizer = new Visualizer(vdescriptor);
visualizer.setUpdateAtStreamElement(true);
visualizer.setUpdateAtStreamDelimiter(true);
visualizer.setUpdateAtEndOfStream(true);
@@ -24,6 +24,7 @@ import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.PrintWriter;
import java.util.ServiceLoader;
import java.util.concurrent.Executors;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -48,12 +49,10 @@ import org.xml.sax.SAXException;
import com.google.common.eventbus.AsyncEventBus;
import com.google.common.eventbus.EventBus;
import ch.psi.fda.aq.VisualizationMapper;
import ch.psi.fda.deserializer.DataDeserializer;
import ch.psi.fda.deserializer.DataDeserializerTXT;
import ch.psi.fda.gui.ScrollableFlowPanel;
import ch.psi.fda.model.ModelManager;
import ch.psi.fda.model.v1.Configuration;
import ch.psi.fda.vdescriptor.VDescriptor;
import ch.psi.fda.visualizer.Visualizer;
/**
@@ -86,16 +85,21 @@ public class VisualizationMain {
throw new IllegalArgumentException("Configuration file ["+configuration.getAbsolutePath()+"] does not exist");
}
// Unmarshall configuration file
Configuration c;
try {
c = ModelManager.unmarshall(configuration);
} catch (Exception e) {
throw new RuntimeException("Unable to load configuration file "+configuration.getAbsolutePath(), e);
}
VDescriptor vdescriptor = null;
ServiceLoader<DescriptorProvider> providers = ServiceLoader.load(DescriptorProvider.class);
for (DescriptorProvider provider : providers) {
try{
provider.load(configuration);
vdescriptor = provider.getVDescriptor();
break;
}
catch(Exception e){
logger.log(Level.INFO, provider.getClass().getName()+ " is not able to read provided descriptor files", e);
}
}
// Visualize data
visualize(c, data);
visualize(vdescriptor, data);
}
/**
@@ -104,7 +108,7 @@ public class VisualizationMain {
* @param data
* @throws InterruptedException
*/
public void visualize(Configuration configuration, File data) throws InterruptedException{
public void visualize(VDescriptor vdescriptor, File data) throws InterruptedException{
if(data==null){
throw new IllegalArgumentException("Data file is null");
@@ -118,7 +122,7 @@ public class VisualizationMain {
DataDeserializer deserializer = new DataDeserializerTXT(bus, data);
// Create Visualizer
Visualizer visualizer = new Visualizer(VisualizationMapper.mapVisualizations(configuration.getVisualization()));
Visualizer visualizer = new Visualizer(vdescriptor);
// visualizer.setTerminateAtEOS(true);
// Adapt default visualizer behavior to optimize performance for visualization
@@ -200,7 +200,7 @@ public class XScanDescriptorProvider implements DescriptorProvider {
matrixplot.setnY(nY);
matrixplot.getData().add(new XYZSeries(idX, idY, idZ));
vdescriptor.getPlots().add(matrixplot);
vd.getPlots().add(matrixplot);
}
else if(v instanceof ch.psi.fda.model.v1.MatrixPlotArray){
// Support for 2D waveform plots
@@ -280,7 +280,7 @@ public class XScanDescriptorProvider implements DescriptorProvider {
matrixplot.setnY(nY);
matrixplot.getData().add(new YZSeries(idY, idZ));
vdescriptor.getPlots().add(matrixplot);
vd.getPlots().add(matrixplot);
}
else{