Class FWLoopProcessor

java.lang.Object
net.simplace.pipe.control.FWProcessor
net.simplace.pipe.control.FWLoopProcessor
Direct Known Subclasses:
CreateSessionProcessor, LoopCounterProcessor, LoopListProcessor, LoopParameterProcessor, LoopScenarioProcessor, LoopSimModelRunProcessor, LoopSystemscenarioProcessor, LoopXMLChildProcessor

public abstract class FWLoopProcessor extends FWProcessor
Looping processors are running a given Pipeline ${PipeID} several times. The number of loops is given by the central value (see parameterlist). Loops are separated by default (${separateLoops} (TRUE|FALSE)). For non separated loops all parameter values created in the pipeline process are written to parameter map. Within the looped pipeline you can find the total run count ${runCount} and the run count ${Count} This looping processor takes the parameter in ${looplist} converted to list or map to loop the pipeline. Additionally to Count and runCount you can find the actual looplistentry in parametername: "${looplist}.loop", for maps the actual looplistvalue in parametername: "${looplist}.loopvalue" as a special the looplist can be a String too. Format: comma-separated for lists: "first,next,last" or Format: comma-separated with = and leading and ending brace for maps: "{first=firstvalue,next=nextvalue,last=lastvalue} further parameter: ${startIndex} gives the first index of ${Count}-Parameter in looping pipeline.
Author:
Andreas Enders
  • Field Details

    • iLoopCount

      protected int iLoopCount
      Indicates the count of loops created by this processor - for non loop processors: -1
    • iLoopPipeId

      protected String iLoopPipeId
      Indicates the ID of the Pipe to be looped
    • iSeparateRuns

      protected boolean iSeparateRuns
      Separate different runs from each others data
    • iLoopMap

      protected Map iLoopMap
  • Constructor Details

    • FWLoopProcessor

      public FWLoopProcessor()
  • Method Details

    • clone

      public FWProcessor clone()
      Description copied from class: FWProcessor
      Creates a connectlet by dynamically instancing the class given in the JDM element.
      Overrides:
      clone in class FWProcessor
    • runLoop

      protected final FWObservable runLoop(String aLoopListParam, Map<?,Object> aLoopObjectMap, FWObservable aObservable) throws PipeLineException
      Must be overwritten to implement concrete pipe procedure.
      Parameters:
      aLoopListParam -
      aLoopObjectMap -
      aObservable -
      Returns:
      FWObservable
      Throws:
      PipeLineException
    • interveneRunLoop

      protected boolean interveneRunLoop(FWObservable observable)
      overwrite this method to work on parameters before loop running
      Parameters:
      observable -
      Returns:
      success
    • checkInParameterMap

      protected boolean checkInParameterMap()
      Description copied from class: FWProcessor
      Can be overridden to perform semantic checks on the pipeline Input.
      Overrides:
      checkInParameterMap in class FWProcessor
      Returns:
      true if not overridden by implementations
    • checkOutParameterMap

      protected boolean checkOutParameterMap()
      Description copied from class: FWProcessor
      Can be overridden to perform semantic checks on the pipeline Input.
      Overrides:
      checkOutParameterMap in class FWProcessor
      Returns:
      true if not overridden
    • getLoopCount

      public int getLoopCount()
      Returns:
      the the count of loops, invoked by this processor
    • getLoopPipeID

      public String getLoopPipeID()
      Returns:
      the the count of loops, invoked by this processor
    • initLoop

      public void initLoop(Map<String,Object> aParameterMap)
      Parameters:
      aParameterMap -
    • getLoopMap

      public Map getLoopMap()
      Returns:
      the LoopMap