package pebl.builder; import java.util.LinkedList; import java.util.List; import java.util.stream.Collectors; import betsy.bpel.repositories.BPELEngineRepository; import betsy.bpel.virtual.host.VirtualEngineAPI; import betsy.bpmn.repositories.BPMNEngineRepository; import betsy.common.engines.EngineLifecycle; import betsy.common.model.engine.EngineExtended; import betsy.common.model.engine.IsEngine; import pebl.result.engine.Engine; import pebl.xsd.PEBL; public class PEBLEngineAdder { public static void addEngines(PEBL pebl) { pebl.result.engines.addAll(getEngines()); } public static List<Engine> getEngines() { return getEngineLifecycles().stream() .filter(e -> !(e instanceof VirtualEngineAPI)) .map(e -> (IsEngine) e) .map(IsEngine::getEngineObject) .map(EngineExtended::getEngine) .collect(Collectors.toList()); } private static List<EngineLifecycle> getEngineLifecycles() { final List<EngineLifecycle> bpelEngines = new BPELEngineRepository().getByName("ALL").stream().collect(Collectors.toList()); final List<EngineLifecycle> bpmnEngines = new BPMNEngineRepository().getByName("ALL").stream().collect(Collectors.toList()); final List<EngineLifecycle> engines = new LinkedList<>(); engines.addAll(bpelEngines); engines.addAll(bpmnEngines); return engines; } }