Changeset f3db60 for src/Actions
- Timestamp:
- Jun 11, 2015, 11:21:40 PM (10 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
- Children:
- fae462
- Parents:
- 0907ad
- git-author:
- Frederik Heber <heber@…> (05/15/15 07:12:44)
- git-committer:
- Frederik Heber <heber@…> (06/11/15 23:21:40)
- Location:
- src/Actions
- Files:
-
- 7 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/ActionQueue.cpp
r0907ad rf3db60 63 63 history(new ActionHistory), 64 64 #ifndef HAVE_ACTION_THREAD 65 lastActionOk(true) 65 lastActionOk(true), 66 66 #else 67 67 CurrentAction(0), 68 68 lastActionOk(true), 69 69 run_thread(boost::bind(&ActionQueue::run, this)), 70 run_thread_isIdle(true) 71 #endif 70 run_thread_isIdle(true), 71 #endif 72 dryrun_flag(false) 72 73 { 73 74 // channels of observable … … 109 110 #ifndef HAVE_ACTION_THREAD 110 111 try { 111 newaction->call(); 112 if (!isDryRun(newaction)) 113 newaction->call(); 112 114 lastActionOk = true; 113 115 } catch(ActionFailureException &e) { … … 175 177 LOG(0, "Calling Action " << actionqueue[CurrentAction]->getName() << " ... "); 176 178 try { 177 actionqueue[CurrentAction]->call(); 179 if (!isDryRun(actionqueue[CurrentAction])) 180 actionqueue[CurrentAction]->call(); 178 181 pushStatus("SUCCESS: Action "+actionqueue[CurrentAction]->getName()+" successful."); 179 182 lastActionOk = true; … … 380 383 } 381 384 385 bool ActionQueue::isDryRun(const Action *_nextaction) const 386 { 387 bool status = dryrun_flag; 388 status &= (_nextaction->getName() != "no-dry-run"); 389 return status; 390 } 382 391 383 392 CONSTRUCT_SINGLETON(ActionQueue) -
src/Actions/ActionQueue.hpp
r0907ad rf3db60 40 40 class ActionRegistry; 41 41 class ActionTrait; 42 class DryRunAdvocate; 42 43 43 44 namespace Queuedetail { … … 178 179 { return StatusList; } 179 180 181 /** Getter for isDryRun state flag. 182 * 183 * \return true - ActionQueue does not execute Actions but skips, false - else 184 */ 185 bool getDryRun() const 186 { return dryrun_flag; } 187 180 188 private: 181 189 //!> grant Action access to internal history functions. … … 183 191 //!> grant CommandLineParser access to stop and clearQueue() 184 192 friend class ::CommandLineParser; 193 //!> grant Advocate access to setting dryrun 194 friend class DryRunAdvocate; 185 195 186 196 /** Wrapper function to add state to ActionHistory. … … 255 265 void insertAction(Action *_action, enum Action::QueryOptions state); 256 266 267 /** Sets the current state of the \a isDryRun flag. 268 * 269 * \param _dryrun true - Actions will not get executed anymore, false - else 270 */ 271 void setDryRun(const bool _dryrun) 272 { dryrun_flag = _dryrun; } 273 274 /** Checks whether next Action should be skipped or not. 275 * 276 * \param _nextaction next action to execute to inspect whether it unsets dryrun_flag 277 * \return true - dryrun_flag set and \a _nextaction is not unsetting dry run 278 */ 279 bool isDryRun(const Action *_nextaction) const; 280 257 281 private: 258 282 /** Private cstor for ActionQueue. … … 309 333 //!> internal list of status messages from Actions for UIs to display 310 334 ActionStatusList StatusList; 335 336 //!> internal flag whether to call or skip actions (i.e. do a dry run) 337 bool dryrun_flag; 311 338 }; 312 339 namespace Queuedetail { -
src/Actions/GlobalListOfActions.hpp
r0907ad rf3db60 41 41 (BondAdd) \ 42 42 (BondRemove) \ 43 (CommandDryRun) \ 43 44 (CommandElementDb) \ 44 45 (CommandBondLengthTable) \ … … 46 47 (CommandHelp) \ 47 48 (CommandHelpRedistribute) \ 49 (CommandNoDryRun) \ 48 50 (CommandSetRandomNumbersEngine) \ 49 51 (CommandSetRandomNumbersDistribution) \ -
src/Actions/Makefile.am
r0907ad rf3db60 41 41 Actions/Calculation.hpp \ 42 42 Actions/Calculation_impl.hpp \ 43 Actions/DryRunAdvocate.hpp \ 43 44 Actions/ErrorAction.hpp \ 44 45 Actions/GlobalListOfActions.hpp \ … … 187 188 CMDACTIONSOURCE = \ 188 189 Actions/CommandAction/BondLengthTableAction.cpp \ 190 Actions/CommandAction/DryRunAction.cpp \ 189 191 Actions/CommandAction/ElementDbAction.cpp \ 190 192 Actions/CommandAction/FastParsingAction.cpp \ 191 193 Actions/CommandAction/HelpAction.cpp \ 192 194 Actions/CommandAction/HelpRedistributeAction.cpp \ 195 Actions/CommandAction/NoDryRunAction.cpp \ 193 196 Actions/CommandAction/StoreSessionAction.cpp \ 194 197 Actions/CommandAction/VerboseAction.cpp \ … … 197 200 CMDACTIONHEADER = \ 198 201 Actions/CommandAction/BondLengthTableAction.hpp \ 202 Actions/CommandAction/DryRunAction.hpp \ 199 203 Actions/CommandAction/ElementDbAction.hpp \ 200 204 Actions/CommandAction/FastParsingAction.hpp \ 201 205 Actions/CommandAction/HelpAction.hpp \ 202 206 Actions/CommandAction/HelpRedistributeAction.hpp \ 207 Actions/CommandAction/NoDryRunAction.hpp \ 203 208 Actions/CommandAction/StoreSessionAction.hpp \ 204 209 Actions/CommandAction/VerboseAction.hpp \ … … 207 212 CMDACTIONDEFS = \ 208 213 Actions/CommandAction/BondLengthTableAction.def \ 214 Actions/CommandAction/DryRunAction.def \ 209 215 Actions/CommandAction/ElementDbAction.def \ 210 216 Actions/CommandAction/FastParsingAction.def \ 211 217 Actions/CommandAction/HelpAction.def \ 212 218 Actions/CommandAction/HelpRedistributeAction.def \ 219 Actions/CommandAction/NoDryRunAction.def \ 213 220 Actions/CommandAction/StoreSessionAction.def \ 214 221 Actions/CommandAction/VerboseAction.def \
Note:
See TracChangeset
for help on using the changeset viewer.