Package org.activiti.crystalball.simulator.delegate.event.impl

Source Code of org.activiti.crystalball.simulator.delegate.event.impl.EventLogTransformer

package org.activiti.crystalball.simulator.delegate.event.impl;

import org.activiti.crystalball.simulator.SimulationEvent;
import org.activiti.crystalball.simulator.delegate.event.Function;
import org.activiti.engine.event.EventLogEntry;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

/**
* This class transforms event log events into simulation events
*/
public class EventLogTransformer {
  protected List<Function<EventLogEntry, SimulationEvent>> transformers;

  public EventLogTransformer(List<Function<EventLogEntry, SimulationEvent>> transformers) {this.transformers = transformers;}

  public List<SimulationEvent> transform(List<EventLogEntry> eventLog) {
    List<SimulationEvent> simulationEvents = new ArrayList<SimulationEvent>();
    for (EventLogEntry logEntry : eventLog) {
      simulationEvents.addAll(transformEntry(logEntry));
    }
    return simulationEvents;
  }
  protected Collection<SimulationEvent> transformEntry(EventLogEntry event) {
    List<SimulationEvent> simEvents = new ArrayList<SimulationEvent>();
    for (Function<EventLogEntry, SimulationEvent> t : transformers) {
      SimulationEvent simEvent = t.apply(event);
      if (simEvent != null)
        simEvents.add(simEvent);
    }
    return simEvents;
  }

}
TOP

Related Classes of org.activiti.crystalball.simulator.delegate.event.impl.EventLogTransformer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.