diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/aq/Acquisition.java b/ch.psi.fda/src/main/java/ch/psi/fda/aq/Acquisition.java index 36e598a..3cdfb25 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/aq/Acquisition.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/aq/Acquisition.java @@ -581,7 +581,10 @@ public class Acquisition { } else if(a instanceof ShellAction){ ShellAction sa = (ShellAction) a; - alist.add(new ch.psi.fda.core.actions.ShellAction(sa.getCommand())); + ch.psi.fda.core.actions.ShellAction action = new ch.psi.fda.core.actions.ShellAction(sa.getCommand()); + action.setCheckExitValue(sa.isCheckExitValue()); + action.setExitValue(sa.getExitValue()); + alist.add(action); } else if(a instanceof ScriptAction){ @@ -1025,6 +1028,7 @@ public class Acquisition { boolean zigZag = dimension.isZigzag(); // default value is false CrlogicLoop actionLoop = new CrlogicLoop(configuration.getOtfCrlogicPrefix(), configuration.getOtfNfsServer(), configuration.getOtfNfsShare(), configuration.getOtfSmbShare(), zigZag); + actionLoop.setKeepTmpFiles(configuration.isOtfCrlogicKeepTmpFiles()); actionLoop.getPreActions().addAll(mapActions(dimension.getPreAction())); diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/aq/AcquisitionEngineConfiguration.java b/ch.psi.fda/src/main/java/ch/psi/fda/aq/AcquisitionEngineConfiguration.java index 0c8accd..0216dc3 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/aq/AcquisitionEngineConfiguration.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/aq/AcquisitionEngineConfiguration.java @@ -38,13 +38,14 @@ public class AcquisitionEngineConfiguration { private static final AcquisitionEngineConfiguration instance = new AcquisitionEngineConfiguration(); - private String otfChannelPrefix = ""; - private String otfNfsServer = ""; - private String otfNfsShare = ""; - private String otfSmbShare = ""; - private String otfScalerPrefix = ""; - private boolean otfUseCrlogic = false; - private String otfCrlogicPrefix = ""; + private String otfChannelPrefix; + private String otfNfsServer; + private String otfNfsShare; + private String otfSmbShare; + private String otfScalerPrefix; + private boolean otfUseCrlogic; + private String otfCrlogicPrefix; + private boolean otfCrlogicKeepTmpFiles; /** * Base directory for data. The directory may contain date macros. The string may contain any @see java.text.SimpleDateFormat @@ -102,7 +103,7 @@ public class AcquisitionEngineConfiguration { } - + // The defaults are set here otfChannelPrefix = properties.getProperty(AcquisitionEngineConfiguration.class.getPackage().getName()+".otf.channelPrefix", ""); otfScalerPrefix = properties.getProperty(AcquisitionEngineConfiguration.class.getPackage().getName()+".otf.scalerPrefix", ""); otfNfsServer = properties.getProperty(AcquisitionEngineConfiguration.class.getPackage().getName()+".otf.nfsServer", ""); @@ -110,6 +111,7 @@ public class AcquisitionEngineConfiguration { otfSmbShare = properties.getProperty(AcquisitionEngineConfiguration.class.getPackage().getName()+".otf.smbShare", ""); otfUseCrlogic = new Boolean(properties.getProperty(AcquisitionEngineConfiguration.class.getPackage().getName()+".otf.useCrlogic", "false")); otfCrlogicPrefix = properties.getProperty(AcquisitionEngineConfiguration.class.getPackage().getName()+".otf.crlogicPrefix", ""); + otfCrlogicKeepTmpFiles = new Boolean(properties.getProperty(AcquisitionEngineConfiguration.class.getPackage().getName()+".otf.crlogicKeepTmpFiles", "false")); // Workaround // dataBaseDirectory = properties.getProperty(AcquisitionEngineConfiguration.class.getPackage().getName()+".data.baseDirectory", "."); @@ -202,6 +204,13 @@ public class AcquisitionEngineConfiguration { return otfCrlogicPrefix; } + /** + * @return the otfCrlogicKeepTmpFiles + */ + public boolean isOtfCrlogicKeepTmpFiles() { + return otfCrlogicKeepTmpFiles; + } + /** * @return the actorMoveTimeout */ diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/cr/CrlogicLoop.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/cr/CrlogicLoop.java index 4acb9b7..8c9e967 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/cr/CrlogicLoop.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/cr/CrlogicLoop.java @@ -67,7 +67,7 @@ public class CrlogicLoop implements ActionLoop { */ private boolean dataGroup = false; - boolean keepTmpFiles = true; + private boolean keepTmpFiles = false; private BlockingQueue readQueue = new LinkedBlockingQueue(); private volatile boolean stopReadoutThread = false; @@ -876,5 +876,23 @@ public class CrlogicLoop implements ActionLoop { } return new DataQueue(dataQueue, m); } + + + /** + * @return the keepTmpFiles + */ + public boolean isKeepTmpFiles() { + return keepTmpFiles; + } + + + /** + * @param keepTmpFiles the keepTmpFiles to set + */ + public void setKeepTmpFiles(boolean keepTmpFiles) { + this.keepTmpFiles = keepTmpFiles; + } + + } diff --git a/ch.psi.fda/src/main/resources/model-v1.xsd b/ch.psi.fda/src/main/resources/model-v1.xsd index 7c0bb42..a8f5a56 100644 --- a/ch.psi.fda/src/main/resources/model-v1.xsd +++ b/ch.psi.fda/src/main/resources/model-v1.xsd @@ -194,7 +194,13 @@ - + + + + + diff --git a/ch.psi.fda/src/test/resources/home/scans/templates/shellaction.xml b/ch.psi.fda/src/test/resources/home/scans/templates/shellaction.xml new file mode 100644 index 0000000..61a7deb --- /dev/null +++ b/ch.psi.fda/src/test/resources/home/scans/templates/shellaction.xml @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ch.psi.fda/src/test/resources/logging.properties b/ch.psi.fda/src/test/resources/logging.properties index 606af07..575282f 100644 --- a/ch.psi.fda/src/test/resources/logging.properties +++ b/ch.psi.fda/src/test/resources/logging.properties @@ -2,7 +2,7 @@ handlers = java.util.logging.ConsoleHandler # Set the default logging level for the root logger -.level=ALL +.level=INFO # Set the default logging level for new ConsoleHandler instances java.util.logging.ConsoleHandler.level=ALL