From 3fbc7903dcfa759af7ca7acf61b5a278ae1c0647 Mon Sep 17 00:00:00 2001 From: Joachim Klein Date: Fri, 21 Jul 2017 13:15:01 +0000 Subject: [PATCH] explicit.DTMCFromMDPAndMDStrategy: simplify getTransitionsIterator, provide forEachTransition specialization git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12094 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- .../explicit/DTMCFromMDPAndMDStrategy.java | 32 +++++++------------ 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/prism/src/explicit/DTMCFromMDPAndMDStrategy.java b/prism/src/explicit/DTMCFromMDPAndMDStrategy.java index dbb6c616..e522d797 100644 --- a/prism/src/explicit/DTMCFromMDPAndMDStrategy.java +++ b/prism/src/explicit/DTMCFromMDPAndMDStrategy.java @@ -29,7 +29,6 @@ package explicit; import java.util.*; import java.util.Map.Entry; -import common.IterableStateSet; import explicit.rewards.MCRewards; import parser.State; import parser.Values; @@ -173,29 +172,20 @@ public class DTMCFromMDPAndMDStrategy extends DTMCExplicit return mdp.getTransitionsIterator(s, strat.getChoiceIndex(s)); } else { // Empty iterator - return new Iterator>() - { - @Override - public boolean hasNext() - { - return false; - } - - @Override - public Entry next() - { - return null; - } - - @Override - public void remove() - { - throw new UnsupportedOperationException(); - } - }; + Map empty = Collections.emptyMap(); + return empty.entrySet().iterator(); } } + @Override + public void forEachTransition(int s, TransitionConsumer c) + { + if (!strat.isChoiceDefined(s)) { + return; + } + mdp.forEachTransition(s, strat.getChoiceIndex(s), c::accept); + } + @Override public double mvMultSingle(int s, double vect[]) {