From a2d9216e844b266985ba5d85259de37ac41b2df3 Mon Sep 17 00:00:00 2001 From: Simon Ebner Date: Mon, 14 Oct 2013 11:06:55 +0200 Subject: [PATCH] Removed destroy() method from actuator and action interface --- .../main/java/ch/psi/fda/aq/Acquisition.java | 10 +-- .../src/main/java/ch/psi/fda/core/Action.java | 9 --- .../src/main/java/ch/psi/fda/core/Actor.java | 10 --- .../core/actions/ChannelAccessCondition.java | 5 -- .../actions/ChannelAccessConditionAnd.java | 6 -- .../actions/ChannelAccessConditionOr.java | 6 -- .../actions/ChannelAccessConditionRegex.java | 5 -- .../fda/core/actions/ChannelAccessPut.java | 4 -- .../java/ch/psi/fda/core/actions/Delay.java | 5 -- .../ch/psi/fda/core/actions/JythonAction.java | 5 -- .../ch/psi/fda/core/actions/ShellAction.java | 5 -- .../actors/ChannelAccessFunctionActuator.java | 4 -- .../actors/ChannelAccessLinearActuator.java | 4 -- .../actors/ChannelAccessTableActuator.java | 4 -- .../psi/fda/core/actors/ComplexActuator.java | 18 ----- .../ch/psi/fda/core/actors/OTFActuator.java | 6 -- .../fda/core/actors/PseudoActuatorSensor.java | 37 ---------- .../psi/fda/core/loops/ActorSensorLoop.java | 49 ------------- .../java/ch/psi/fda/core/loops/OTFLoop.java | 4 -- .../ch/psi/fda/core/loops/cr/CrlogicLoop.java | 72 ++++--------------- .../fda/core/loops/cr/ParallelCrlogic.java | 52 -------------- .../psi/fda/core/loops/cr/ScrlogicLoop.java | 4 -- .../fda/core/loops/ActorSensorLoopTest.java | 9 --- .../core/loops/cr/ParallelCrlogicTest.java | 2 - .../fda/core/loops/cr/ScrlogicLoopTest.java | 3 - 25 files changed, 13 insertions(+), 325 deletions(-) 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 67c963f..da0f13f 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 @@ -344,15 +344,8 @@ public class Acquisition { public void destroy(){ if(actionLoop != null){ - logger.finest("Destroy action loop"); - try{ - actionLoop.destroy(); - } - catch(Exception e){ - logger.log(Level.SEVERE, "Unable to destroy action loop", e); - } + logger.finest("Destroy managed resources"); - // Destroy all managed channels for(Channel c: channels){ try { c.destroy(); @@ -1089,7 +1082,6 @@ public class Acquisition { // Create loop boolean zigZag = dimension.isZigzag(); // default value is false - // TODO rework CrlogicLoop class to accept templates here instead of cservice CrlogicLoop actionLoop = new CrlogicLoop(cservice, configuration.getOtfCrlogicPrefix(), configuration.getOtfNfsServer(), configuration.getOtfNfsShare(), configuration.getOtfSmbShare(), zigZag); actionLoop.setKeepTmpFiles(configuration.isOtfCrlogicKeepTmpFiles()); diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/Action.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/Action.java index c91f1de..78c29f9 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/Action.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/Action.java @@ -34,13 +34,4 @@ public interface Action { * Abort the execution logic of the action */ public void abort(); - - /** - * Destroy action. - * Can be used for the cleanup of used resources of the action (e.g. to close connections, ...) if - * this cannot be done automatically by the GarbageCollector. - * - * After calling this method the action must not be executed any more! - */ - public void destroy(); } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/Actor.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/Actor.java index 37a3829..bdbfb82 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/Actor.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/Actor.java @@ -51,14 +51,4 @@ public interface Actor { * Reset the actuator to its initial configuration */ public void reset(); - - - /** - * Destroy action. - * Can be used for the cleanup of used resources of the actor (e.g. to close connections, ...) if - * this cannot be done automatically by the GarbageCollector. - * - * After calling this method the actor must not be used any more! - */ - public void destroy(); } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessCondition.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessCondition.java index 00e286c..ee64461 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessCondition.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessCondition.java @@ -99,9 +99,4 @@ public class ChannelAccessCondition implements Action { waitT.interrupt(); } } - - @Override - public void destroy() { - } - } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessConditionAnd.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessConditionAnd.java index 12af9b5..6c7cee6 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessConditionAnd.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessConditionAnd.java @@ -105,10 +105,4 @@ public class ChannelAccessConditionAnd implements Action { waitT.interrupt(); } } - - - @Override - public void destroy() { - } - } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessConditionOr.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessConditionOr.java index e18a00a..a44447a 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessConditionOr.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessConditionOr.java @@ -107,10 +107,4 @@ public class ChannelAccessConditionOr implements Action { waitT.interrupt(); } } - - - @Override - public void destroy() { - } - } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessConditionRegex.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessConditionRegex.java index 49cf18c..b6374bf 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessConditionRegex.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessConditionRegex.java @@ -101,9 +101,4 @@ public class ChannelAccessConditionRegex implements Action { waitT.interrupt(); } } - - @Override - public void destroy() { - } - } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessPut.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessPut.java index d2cb1da..0675cc7 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessPut.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ChannelAccessPut.java @@ -94,8 +94,4 @@ public class ChannelAccessPut implements Action { public void abort() { } - @Override - public void destroy() { - } - } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/Delay.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/Delay.java index 9e90c00..00da829 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/Delay.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/Delay.java @@ -51,9 +51,4 @@ public class Delay implements Action { @Override public void abort() { } - - @Override - public void destroy() { - } - } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/JythonAction.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/JythonAction.java index 99f3412..17bb4c0 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/JythonAction.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/JythonAction.java @@ -134,11 +134,6 @@ public class JythonAction implements Action { public void abort() { } - - @Override - public void destroy() { - } - /** * Workaround to put variables into the jython engine. * @param name diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ShellAction.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ShellAction.java index 817c16d..3918186 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ShellAction.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actions/ShellAction.java @@ -117,11 +117,6 @@ public class ShellAction implements Action{ } } - @Override - public void destroy() { - } - - public boolean isCheckExitValue() { return checkExitValue; } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ChannelAccessFunctionActuator.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ChannelAccessFunctionActuator.java index 83c7580..d08eca8 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ChannelAccessFunctionActuator.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ChannelAccessFunctionActuator.java @@ -244,10 +244,6 @@ public class ChannelAccessFunctionActuator implements Actor { this.direction = this.originalDirection; } - @Override - public void destroy() { - } - public boolean isAsynchronous() { return asynchronous; } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ChannelAccessLinearActuator.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ChannelAccessLinearActuator.java index fd787fc..7a572a5 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ChannelAccessLinearActuator.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ChannelAccessLinearActuator.java @@ -226,10 +226,6 @@ public class ChannelAccessLinearActuator implements Actor { this.direction = this.originalDirection; } - @Override - public void destroy() { - } - public boolean isAsynchronous() { return asynchronous; } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ChannelAccessTableActuator.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ChannelAccessTableActuator.java index 6baf04c..2d12d94 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ChannelAccessTableActuator.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ChannelAccessTableActuator.java @@ -229,10 +229,6 @@ public class ChannelAccessTableActuator implements Actor { this.positiveDirection = this.originalPositiveDirection; } - @Override - public void destroy() { - } - public boolean isAsynchronous() { return asynchronous; } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ComplexActuator.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ComplexActuator.java index b3fbb27..b994c8f 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ComplexActuator.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/ComplexActuator.java @@ -197,24 +197,6 @@ public class ComplexActuator implements Actor { } } - @Override - public void destroy() { - // Destroy preActions - for(Action a: preActions){ - a.destroy(); - } - - // Destroy actors - for(Actor a: actors){ - a.destroy(); - } - - // Destroy postActions - for(Action a: postActions){ - a.destroy(); - } - } - public List getPreActions() { return preActions; } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/OTFActuator.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/OTFActuator.java index 1052924..b6fb0af 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/OTFActuator.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/OTFActuator.java @@ -71,12 +71,6 @@ public class OTFActuator implements Actor { @Override public void reset() { } - - @Override - public void destroy() { - } - - public String getName() { return name; diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/PseudoActuatorSensor.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/PseudoActuatorSensor.java index 50b6d23..dcf17da 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/PseudoActuatorSensor.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/actors/PseudoActuatorSensor.java @@ -24,8 +24,6 @@ import ch.psi.fda.core.Sensor; /** * Pseudo actor that is literally doing nothing for n times - * @author ebner - * */ public class PseudoActuatorSensor implements Actor, Sensor { @@ -57,9 +55,6 @@ public class PseudoActuatorSensor implements Actor, Sensor { } - /* (non-Javadoc) - * @see ch.psi.fda.core.Actor#set() - */ @Override public void set() { @@ -71,65 +66,33 @@ public class PseudoActuatorSensor implements Actor, Sensor { count++; } - /* (non-Javadoc) - * @see ch.psi.fda.core.Actor#hasNext() - */ @Override public boolean hasNext() { return (count getPreActions() { return preActions; diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/OTFLoop.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/OTFLoop.java index 3672044..07cc944 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/OTFLoop.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/OTFLoop.java @@ -331,10 +331,6 @@ public class OTFLoop implements ActionLoop { public void cleanup() { } - @Override - public void destroy() { - } - @Override public List getPreActions() { return preActions; 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 0c509d6..1daaee0 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 @@ -596,29 +596,6 @@ public class CrlogicLoop implements ActionLoop { } } - @Override - public void destroy() { - stopReadoutThread = true; - readoutThread.interrupt(); - // TODO eventually interrupt readout thread - - try { - - cservice.destroyAnnotatedChannels(template); - cservice.destroyAnnotatedChannels(motortemplate); - template = null; - motortemplate = null; - - } catch (Exception e) { - throw new RuntimeException("Unable to destroy CrlogicLoop", e); - } - - - } - - /* (non-Javadoc) - * @see ch.psi.fda.core.ActionLoop#prepare() - */ @Override public void prepare() { @@ -781,65 +758,51 @@ public class CrlogicLoop implements ActionLoop { } } - /* (non-Javadoc) - * @see ch.psi.fda.core.ActionLoop#cleanup() - */ @Override public void cleanup() { - // TODO Auto-generated method stub + stopReadoutThread = true; + readoutThread.interrupt(); + try { + + cservice.destroyAnnotatedChannels(template); + cservice.destroyAnnotatedChannels(motortemplate); + template = null; + motortemplate = null; + + } catch (Exception e) { + throw new RuntimeException("Unable to destroy CrlogicLoop", e); + } } - /* (non-Javadoc) - * @see ch.psi.fda.core.ActionLoop#getPreActions() - */ @Override public List getPreActions() { return preActions; } - /* (non-Javadoc) - * @see ch.psi.fda.core.ActionLoop#getPostActions() - */ @Override public List getPostActions() { return postActions; } - /* (non-Javadoc) - * @see ch.psi.fda.core.ActionLoop#isDataGroup() - */ @Override public boolean isDataGroup() { - // TODO Auto-generated method stub return dataGroup; } - /* (non-Javadoc) - * @see ch.psi.fda.core.ActionLoop#setDataGroup(boolean) - */ @Override public void setDataGroup(boolean dataGroup) { this.dataGroup = dataGroup; } - /** - * @return the sensors - */ public List getSensors() { return sensors; } - /** - * @return the actor - */ public OTFActuator getActor() { return actuator; } - /** - * @param actor the actor to set - */ public void setActor(OTFActuator actor) { this.actuator = actor; } @@ -860,22 +823,11 @@ 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/java/ch/psi/fda/core/loops/cr/ParallelCrlogic.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/cr/ParallelCrlogic.java index c867509..cb9d259 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/cr/ParallelCrlogic.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/cr/ParallelCrlogic.java @@ -42,7 +42,6 @@ import ch.psi.fda.core.sensors.MillisecondTimestampSensor; */ public class ParallelCrlogic implements ActionLoop { - // Get Logger private static final Logger logger = Logger.getLogger(ParallelCrlogic.class.getName()); /** @@ -88,19 +87,10 @@ public class ParallelCrlogic implements ActionLoop { this.merger = new ParallelCrlogicStreamMerge(crlogic.getDataQueue(), scrlogic.getDataQueue()); } - - /* (non-Javadoc) - * @see ch.psi.fda.logic.Logic#prepare() - */ @Override public void prepare() { - // TODO Auto-generated method stub - } - /* (non-Javadoc) - * @see ch.psi.fda.logic.Logic#execute() - */ @Override public void execute() throws InterruptedException { @@ -191,78 +181,36 @@ public class ParallelCrlogic implements ActionLoop { } - /* (non-Javadoc) - * @see ch.psi.fda.core.Action#abort() - */ @Override public void abort() { - // TODO Auto-generated method stub - } - - /* (non-Javadoc) - * @see ch.psi.fda.core.Action#destroy() - */ - @Override - public void destroy() { - crlogic.destroy(); - scrlogic.destroy(); - } - - - /* (non-Javadoc) - * @see ch.psi.fda.core.ActionLoop#cleanup() - */ @Override public void cleanup() { - // TODO Auto-generated method stub - } - - /* (non-Javadoc) - * @see ch.psi.fda.core.ActionLoop#getPreActions() - */ @Override public List getPreActions() { return preActions; } - - /* (non-Javadoc) - * @see ch.psi.fda.core.ActionLoop#getPostActions() - */ @Override public List getPostActions() { return postActions; } - - /* (non-Javadoc) - * @see ch.psi.fda.core.ActionLoop#isDataGroup() - */ @Override public boolean isDataGroup() { return dataGroup; } - - /* (non-Javadoc) - * @see ch.psi.fda.core.ActionLoop#setDataGroup(boolean) - */ @Override public void setDataGroup(boolean dataGroup) { this.dataGroup = dataGroup; } - - /* (non-Javadoc) - * @see ch.psi.fda.core.ActionLoop#getDataQueue() - */ @Override public DataQueue getDataQueue() { return(merger.getDataQueue()); } - } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/cr/ScrlogicLoop.java b/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/cr/ScrlogicLoop.java index 6528118..15d1712 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/cr/ScrlogicLoop.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/core/loops/cr/ScrlogicLoop.java @@ -157,10 +157,6 @@ public class ScrlogicLoop implements ActionLoop { latch.countDown(); } - @Override - public void destroy() { - } - @Override public void prepare() { } diff --git a/ch.psi.fda/src/test/java/ch/psi/fda/core/loops/ActorSensorLoopTest.java b/ch.psi.fda/src/test/java/ch/psi/fda/core/loops/ActorSensorLoopTest.java index cbe0e43..735c82c 100644 --- a/ch.psi.fda/src/test/java/ch/psi/fda/core/loops/ActorSensorLoopTest.java +++ b/ch.psi.fda/src/test/java/ch/psi/fda/core/loops/ActorSensorLoopTest.java @@ -94,7 +94,6 @@ public class ActorSensorLoopTest { @After public void tearDown() throws Exception { - loopOne.destroy(); cservice.destroy(); } @@ -307,10 +306,6 @@ public class ActorSensorLoopTest { } return false; } - - @Override - public void destroy() { - } }); loop.getActors().add(new Actor() { @@ -348,10 +343,6 @@ public class ActorSensorLoopTest { } return false; } - - @Override - public void destroy() { - } }); loop.getSensors().add(s); diff --git a/ch.psi.fda/src/test/java/ch/psi/fda/core/loops/cr/ParallelCrlogicTest.java b/ch.psi.fda/src/test/java/ch/psi/fda/core/loops/cr/ParallelCrlogicTest.java index 6dd009d..fc94893 100644 --- a/ch.psi.fda/src/test/java/ch/psi/fda/core/loops/cr/ParallelCrlogicTest.java +++ b/ch.psi.fda/src/test/java/ch/psi/fda/core/loops/cr/ParallelCrlogicTest.java @@ -128,8 +128,6 @@ public class ParallelCrlogicTest { // Destroy scaler template cservice.destroyAnnotatedChannels(scalertemplate); - - pcrlogic.destroy(); } } diff --git a/ch.psi.fda/src/test/java/ch/psi/fda/core/loops/cr/ScrlogicLoopTest.java b/ch.psi.fda/src/test/java/ch/psi/fda/core/loops/cr/ScrlogicLoopTest.java index 41c5ce1..3d25bb1 100644 --- a/ch.psi.fda/src/test/java/ch/psi/fda/core/loops/cr/ScrlogicLoopTest.java +++ b/ch.psi.fda/src/test/java/ch/psi/fda/core/loops/cr/ScrlogicLoopTest.java @@ -142,9 +142,6 @@ public class ScrlogicLoopTest { } } - - logic.destroy(); - } }