diff --git a/application/pom.xml b/application/pom.xml
index b1b51e5..6642da5 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -5,7 +5,7 @@
ch.psi
fda.ui
- 1.1.40
+ 2.0.1
application
diff --git a/application/src/main/scripts/fda_convert b/application/src/main/scripts/fda_convert
index d9dbd70..1bb989d 100644
--- a/application/src/main/scripts/fda_convert
+++ b/application/src/main/scripts/fda_convert
@@ -37,4 +37,4 @@ do
done
# Execute java
-java -Xmx1024m -XX:MaxPermSize=128m -cp $CLASSPATH -Dch.psi.fda.home=${APPLICATION_HOME} -Djava.util.logging.config.file=${APPLICATION_HOME}/config/logging.properties $VM_ARGUMENTS ch.psi.fda.co.ConversionEngine $ARGUMENTS
\ No newline at end of file
+java -Xmx1024m -XX:MaxPermSize=128m -cp $CLASSPATH -Dch.psi.fda.home=${APPLICATION_HOME} -Djava.util.logging.config.file=${APPLICATION_HOME}/config/logging.properties $VM_ARGUMENTS ch.psi.fda.ConversionMain $ARGUMENTS
\ No newline at end of file
diff --git a/application/src/main/scripts/fda_scan b/application/src/main/scripts/fda_scan
index 67358c5..f00b49a 100644
--- a/application/src/main/scripts/fda_scan
+++ b/application/src/main/scripts/fda_scan
@@ -37,4 +37,4 @@ do
done
# Execute java
-java -Xmx1024m -XX:MaxPermSize=128m -Dch.psi.fda.home=${APPLICATION_HOME} $VM_ARGUMENTS -cp $CLASSPATH ch.psi.fda.aq.AcquisitionMain $ARGUMENTS
\ No newline at end of file
+java -Xmx1024m -XX:MaxPermSize=128m -Dch.psi.fda.home=${APPLICATION_HOME} $VM_ARGUMENTS -cp $CLASSPATH ch.psi.fda.AcquisitionMain $ARGUMENTS
\ No newline at end of file
diff --git a/application/src/main/scripts/fda_vis b/application/src/main/scripts/fda_vis
index f550fc4..8931ce0 100644
--- a/application/src/main/scripts/fda_vis
+++ b/application/src/main/scripts/fda_vis
@@ -37,4 +37,4 @@ do
done
# Execute java
-java -Xmx1024m -XX:MaxPermSize=128m -cp $CLASSPATH -Dch.psi.fda.home=${APPLICATION_HOME} -Djava.util.logging.config.file=${APPLICATION_HOME}/config/logging.properties $VM_ARGUMENTS ch.psi.fda.vis.VisualizationEngine $ARGUMENTS
\ No newline at end of file
+java -Xmx1024m -XX:MaxPermSize=128m -cp $CLASSPATH -Dch.psi.fda.home=${APPLICATION_HOME} -Djava.util.logging.config.file=${APPLICATION_HOME}/config/logging.properties $VM_ARGUMENTS ch.psi.fda.VisualizationMain $ARGUMENTS
\ No newline at end of file
diff --git a/branding/pom.xml b/branding/pom.xml
index 8b90c40..572adef 100644
--- a/branding/pom.xml
+++ b/branding/pom.xml
@@ -5,7 +5,7 @@
ch.psi
fda.ui
- 1.1.40
+ 2.0.1
branding
diff --git a/branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties b/branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties
index a6fcda1..8a86750 100644
--- a/branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties
+++ b/branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties
@@ -1,2 +1,2 @@
-CTL_MainWindow_Title=FDA 1.1.40
-CTL_MainWindow_Title_No_Project=FDA 1.1.40
+CTL_MainWindow_Title=FDA 2.0.1
+CTL_MainWindow_Title_No_Project=FDA 2.0.1
diff --git a/fda.ui.cdump/pom.xml b/fda.ui.cdump/pom.xml
index 3d42d4d..94b34ce 100644
--- a/fda.ui.cdump/pom.xml
+++ b/fda.ui.cdump/pom.xml
@@ -4,7 +4,7 @@
fda.ui
ch.psi
- 1.1.40
+ 2.0.1
fda.ui.cdump
diff --git a/fda.ui.ce/pom.xml b/fda.ui.ce/pom.xml
index d2bcea7..be31724 100644
--- a/fda.ui.ce/pom.xml
+++ b/fda.ui.ce/pom.xml
@@ -4,7 +4,7 @@
fda.ui
ch.psi
- 1.1.40
+ 2.0.1
fda.ui.ce
diff --git a/fda.ui.cm/pom.xml b/fda.ui.cm/pom.xml
index 9bcb264..3be90c8 100644
--- a/fda.ui.cm/pom.xml
+++ b/fda.ui.cm/pom.xml
@@ -4,7 +4,7 @@
fda.ui
ch.psi
- 1.1.40
+ 2.0.1
fda.ui.cm
diff --git a/fda.ui.ee/pom.xml b/fda.ui.ee/pom.xml
index 44668f4..ec25b13 100644
--- a/fda.ui.ee/pom.xml
+++ b/fda.ui.ee/pom.xml
@@ -4,7 +4,7 @@
fda.ui
ch.psi
- 1.1.40
+ 2.0.1
fda.ui.ee
@@ -87,7 +87,7 @@
ch.psi
fda
- 1.1.40
+ 2.0.1
jar
@@ -103,6 +103,7 @@
ch.psi.fda.model
ch.psi.fda.model.v1
ch.psi.fda.ui.ee.api
+ org.xml.sax
diff --git a/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/Configuration.java b/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/Configuration.java
new file mode 100644
index 0000000..780ebcc
--- /dev/null
+++ b/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/Configuration.java
@@ -0,0 +1,30 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package ch.psi.fda.ui.ee;
+
+import ch.psi.fda.aq.AcquisitionConfiguration;
+
+/**
+ *
+ * @author ebner
+ */
+public class Configuration {
+ private static final Configuration instance = new Configuration();
+ private final AcquisitionConfiguration configuration;
+
+ private Configuration(){
+ configuration = new AcquisitionConfiguration();
+ }
+
+ public static Configuration getInstance(){
+ return instance;
+ }
+
+ public AcquisitionConfiguration getConfiguration(){
+ return configuration;
+ }
+}
diff --git a/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/ExecutionExecutable.java b/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/ExecutionExecutable.java
index 2ddf3f7..9696482 100644
--- a/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/ExecutionExecutable.java
+++ b/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/ExecutionExecutable.java
@@ -18,9 +18,14 @@
package ch.psi.fda.ui.ee;
import ch.psi.fda.aq.Acquisition;
-import ch.psi.fda.core.messages.DataQueue;
+import ch.psi.fda.aq.VisualizationMapper;
import ch.psi.fda.model.v1.Configuration;
import ch.psi.fda.visualizer.Visualizer;
+import ch.psi.jcae.impl.DefaultChannelService;
+import com.google.common.eventbus.AsyncEventBus;
+import com.google.common.eventbus.EventBus;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.netbeans.api.progress.ProgressHandle;
@@ -78,6 +83,7 @@ public class ExecutionExecutable implements Runnable {
Visualizer visualizer = null;
+ ExecutorService executor=null;
try {
// Read in base configuration
// AcquisitionEngineConfiguration configuration = AcquisitionEngineConfiguration.getInstance();
@@ -86,14 +92,16 @@ public class ExecutionExecutable implements Runnable {
handle.progress(25);
- acquisition = new Acquisition();
- DataQueue vdq = acquisition.initalize(c, true);
+ executor = Executors.newSingleThreadExecutor();
+ EventBus ebus = new AsyncEventBus(executor);
+ acquisition = new Acquisition(new DefaultChannelService(), ch.psi.fda.ui.ee.Configuration.getInstance().getConfiguration());
+ acquisition.initalize(ebus, c);
- visualizer = new Visualizer(vdq, c.getVisualization());
+ visualizer = new Visualizer(VisualizationMapper.mapVisualizations(c.getVisualization()));
// Configure visualizer that visualizing Thread terminates automatically
// visualizer.setAutoTerminate(true);
// visualizer.setAutoTerminateAt(c.getNumberOfExecution());
- visualizer.setTerminateAtEOS(true);
+// visualizer.setTerminateAtEOS(true);
if(c.getScan() != null && c.getScan().getCdimension()!=null){
// If there is a continuous dimension only update the plot a the end of a line.
// Improvement of performance
@@ -101,6 +109,7 @@ public class ExecutionExecutable implements Runnable {
visualizer.setUpdateAtStreamDelimiter(true);
visualizer.setUpdateAtEndOfStream(true);
}
+ ebus.register(visualizer);
tc.updatePanel(visualizer.getPlotPanels());
@@ -108,12 +117,6 @@ public class ExecutionExecutable implements Runnable {
handle.switchToIndeterminate();
-
- // Run acquisition engine
- if (visualizer != null) {
- visualizer.startVisualization();
- }
-
// Execute acquisition logic
acquisition.execute();
@@ -146,14 +149,10 @@ public class ExecutionExecutable implements Runnable {
// acquisition = null;
Logger.getLogger(ExecutionExecutable.class.getName()).log(Level.INFO, "Stop visualizer");
- if(visualizer != null){
- try {
- visualizer.stopVisualization();
- } catch (InterruptedException ex) {
- Exceptions.printStackTrace(ex);
- }
+ if(executor!=null){
+ executor.shutdownNow();
}
-
+
// Indicate end of task
Logger.getLogger(ExecutionExecutable.class.getName()).log(Level.INFO, "Destroy handle");
handle.finish();
diff --git a/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/Installer.java b/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/Installer.java
index c63cc57..3f26e9b 100644
--- a/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/Installer.java
+++ b/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/Installer.java
@@ -16,16 +16,12 @@
*/
package ch.psi.fda.ui.ee;
-import ch.psi.fda.aq.AcquisitionEngineConfiguration;
import ch.psi.fda.install.ApplicationConfigurator;
-import ch.psi.jcae.JcaeProperties;
import ch.psi.fda.ui.preferences.api.Preferences;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
-import java.io.IOException;
import org.openide.modules.ModuleInstall;
-import org.openide.util.Exceptions;
import org.openide.util.Lookup;
/**
@@ -44,12 +40,13 @@ public class Installer extends ModuleInstall {
ApplicationConfigurator c = new ApplicationConfigurator();
c.initializeApplication();
- try {
- AcquisitionEngineConfiguration.getInstance().reloadConfiguration();
- JcaeProperties.getInstance().loadProperties();
- } catch (IOException ex) {
- Exceptions.printStackTrace(ex);
- }
+// try {
+ Configuration.getInstance().getConfiguration().loadConfiguration();
+// new AcquisitionConfiguration().loadConfiguration();
+// JcaeProperties.getInstance().loadProperties();
+// } catch (IOException ex) {
+// Exceptions.printStackTrace(ex);
+// }
// Register a change listener to reconfigure scan engine when the home directory changes
@@ -63,12 +60,12 @@ public class Installer extends ModuleInstall {
ApplicationConfigurator c = new ApplicationConfigurator();
c.initializeApplication();
- try {
- AcquisitionEngineConfiguration.getInstance().reloadConfiguration();
- JcaeProperties.getInstance().loadProperties();
- } catch (IOException ex) {
- Exceptions.printStackTrace(ex);
- }
+// try {
+ Configuration.getInstance().getConfiguration().loadConfiguration();
+// JcaeProperties.getInstance().loadProperties();
+// } catch (IOException ex) {
+// Exceptions.printStackTrace(ex);
+// }
}
});
diff --git a/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/SimpleConversionService.java b/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/SimpleConversionService.java
index 3ad70ff..05991b4 100644
--- a/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/SimpleConversionService.java
+++ b/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/SimpleConversionService.java
@@ -28,6 +28,7 @@ import ch.psi.fda.serializer.DataSerializerTXT;
import ch.psi.fda.serializer.DataSerializerTXT2D;
import ch.psi.fda.serializer.DataSerializerTXTSplit;
import ch.psi.fda.ui.ee.api.ConversionService;
+import com.google.common.eventbus.EventBus;
import java.io.File;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -49,39 +50,39 @@ public class SimpleConversionService implements ConversionService {
try {
Logger.getLogger(SimpleConversionService.class.getName()).log(Level.INFO, "Convert file {0} from {1} to {2}", new Object[]{input.getAbsolutePath(), reader, writer});
-
+
+ EventBus ebus = new EventBus();
// Create deserializer
final DataDeserializer deserializer;
if (reader.equals(Reader.TXT)) {
- deserializer = new DataDeserializerTXT(input);
+ deserializer = new DataDeserializerTXT(ebus, input);
} else if (reader.equals(Reader.MDA)) {
- deserializer = new DataDeserializerMDA(input);
+ deserializer = new DataDeserializerMDA(ebus, input);
} else {
throw new IllegalArgumentException("Reader of type " + reader + " not supported.");
}
final DataSerializer serializer;
if (writer.equals(Writer.MAT)) {
- serializer = new DataSerializerMAT(deserializer.getQueue(), output);
+ serializer = new DataSerializerMAT(output);
} else if (writer.equals(Writer.MAT_2D)) {
- serializer = new DataSerializerMAT2D(deserializer.getQueue(), output);
+ serializer = new DataSerializerMAT2D(output);
} else if (writer.equals(Writer.TXT)) {
- serializer = new DataSerializerTXT(deserializer.getQueue(), output, false);
+ serializer = new DataSerializerTXT(output, false);
} else if (writer.equals(Writer.TXT_2D)) {
- serializer = new DataSerializerTXT2D(deserializer.getQueue(), output);
+ serializer = new DataSerializerTXT2D(output);
} else if (writer.equals(Writer.TXT_SPLIT)) {
- serializer = new DataSerializerTXTSplit(deserializer.getQueue(), output);
+ serializer = new DataSerializerTXTSplit(output);
} else if (writer.equals(Writer.MDA)) {
- serializer = new DataSerializerMDA(deserializer.getQueue(), output);
+ serializer = new DataSerializerMDA(output);
} else if (writer.equals(Writer.MAT_2D_Z)) {
- serializer = new DataSerializerMAT2DZigZag(deserializer.getQueue(), output);
+ serializer = new DataSerializerMAT2DZigZag(output);
} else {
throw new IllegalArgumentException("Writer of type " + writer + " not supported.");
}
+ ebus.register(serializer);
- // Convert file
- deserializer.run();
- serializer.run();
+ deserializer.read();
} catch (Exception e) {
// Inform the user without waiting for its response
diff --git a/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/SimpleExecutionService.java b/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/SimpleExecutionService.java
index f92928d..6448b49 100644
--- a/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/SimpleExecutionService.java
+++ b/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/SimpleExecutionService.java
@@ -17,12 +17,11 @@
package ch.psi.fda.ui.ee;
-import ch.psi.fda.aq.AcquisitionEngineConfiguration;
import ch.psi.fda.ui.ee.api.ExecutionService;
import ch.psi.fda.model.ModelManager;
import ch.psi.fda.model.v1.Configuration;
import ch.psi.fda.model.v1.Recipient;
-import ch.psi.fda.notification.NotificationAgent;
+import ch.psi.fda.aq.NotificationAgent;
import java.io.File;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ExecutorService;
@@ -42,7 +41,7 @@ import org.openide.util.lookup.ServiceProvider;
* Very simple implementation of the execution service.
* The service wraps the Acquisition object of the fda project
*
- * This service is not threadsave!
+ * This service is not thread save!
* @author ebner
*/
@ServiceProvider(service=ExecutionService.class)
@@ -166,7 +165,7 @@ public class SimpleExecutionService implements ExecutionService {
@Override
public void testNotification(String recipient) {
- NotificationAgent a = new NotificationAgent(AcquisitionEngineConfiguration.getInstance().getSmptServer(), "fda.test.notification@psi.ch");
+ NotificationAgent a = new NotificationAgent(ch.psi.fda.ui.ee.Configuration.getInstance().getConfiguration().getSmptServer(), "fda.test.notification@psi.ch");
Recipient r = new Recipient();
r.setValue(recipient);
r.setError(true);
@@ -178,7 +177,7 @@ public class SimpleExecutionService implements ExecutionService {
@Override
public boolean supportsFeature(String feature) {
if(feature.equalsIgnoreCase("ch.psi.aq.feature.otfscan")){
- String prefix = AcquisitionEngineConfiguration.getInstance().getOtfChannelPrefix();
+ String prefix = ch.psi.fda.ui.ee.Configuration.getInstance().getConfiguration().getOtfChannelPrefix();
if(prefix != null && !prefix.trim().equals("")){
return true;
}
diff --git a/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/SimpleVisualizationService.java b/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/SimpleVisualizationService.java
index c14698b..2e98cea 100644
--- a/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/SimpleVisualizationService.java
+++ b/fda.ui.ee/src/main/java/ch/psi/fda/ui/ee/SimpleVisualizationService.java
@@ -16,14 +16,18 @@
*/
package ch.psi.fda.ui.ee;
+import ch.psi.fda.aq.VisualizationMapper;
import ch.psi.fda.ui.ee.api.VisualizationService;
import ch.psi.fda.deserializer.DataDeserializer;
import ch.psi.fda.deserializer.DataDeserializerTXT;
import ch.psi.fda.model.ModelManager;
import ch.psi.fda.model.v1.Configuration;
import ch.psi.fda.visualizer.Visualizer;
+import com.google.common.eventbus.AsyncEventBus;
+import com.google.common.eventbus.EventBus;
import java.io.File;
import java.util.List;
+import java.util.concurrent.Executors;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.openide.DialogDisplayer;
@@ -76,26 +80,24 @@ public class SimpleVisualizationService implements VisualizationService {
throw new RuntimeException("Unable to load configuration file " + cfile.getAbsolutePath(), e);
}
-
- DataDeserializer deserializer = new DataDeserializerTXT(file);
+ EventBus ebus = new AsyncEventBus(Executors.newSingleThreadExecutor());
+ DataDeserializer deserializer = new DataDeserializerTXT(ebus, file);
// Create Visualizer
- Visualizer visualizer = new Visualizer(deserializer.getQueue(), c.getVisualization());
- visualizer.setTerminateAtEOS(true);
+ Visualizer visualizer = new Visualizer(VisualizationMapper.mapVisualizations(c.getVisualization()));
+// visualizer.setTerminateAtEOS(true);
visualizer.setUpdateAtStreamElement(false);
visualizer.setUpdateAtStreamDelimiter(false);
visualizer.setUpdateAtEndOfStream(true);
+
+ ebus.register(visualizer);
tc.updatePanel(visualizer.getPlotPanels());
// Start deserializer and visualizer
- Thread td = new Thread(deserializer);
- td.start();
-
Logger.getLogger(SimpleVisualizationService.class.getName()).log(Level.INFO, "Visualization started");
+ deserializer.read();
- visualizer.startVisualization();
- td.join();
Logger.getLogger(SimpleVisualizationService.class.getName()).log(Level.INFO, "Deserializiation finished");
// visualizer.visualize();
diff --git a/fda.ui.preferences/pom.xml b/fda.ui.preferences/pom.xml
index e2091f8..4a0ceb6 100644
--- a/fda.ui.preferences/pom.xml
+++ b/fda.ui.preferences/pom.xml
@@ -4,7 +4,7 @@
fda.ui
ch.psi
- 1.1.40
+ 2.0.1
fda.ui.preferences
diff --git a/pom.xml b/pom.xml
index 7a59476..afec881 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
ch.psi
fda.ui
- 1.1.40
+ 2.0.1
pom
fda.ui - NB App Parent