public List<Transformer> getTransformerChain(String sourceType, String resultType) { loadTransformers(); String source = sourceType; String result = resultType; List<Transformer> transformers = new ArrayList<Transformer>(); // First check if there is a direct path, if yes, use it regardless of the weight DirectedGraph<Object, Transformer>.Edge link = graph.getEdge(sourceType, resultType); if (link != null) { transformers.add(link.getValue()); } else { DirectedGraph<Object, Transformer>.Path path = graph.getShortestPath(source, result); if (path == null) { return null; } for (DirectedGraph<Object, Transformer>.Edge edge : path.getEdges()) { transformers.add(edge.getValue()); } } return transformers; }
public List<Transformer> getTransformerChain(String sourceType, String resultType) { loadTransformers(); String source = sourceType; String result = resultType; List<Transformer> transformers = new ArrayList<Transformer>(); // First check if there is a direct path, if yes, use it regardless of the weight DirectedGraph<Object, Transformer>.Edge link = graph.getEdge(sourceType, resultType); if (link != null) { transformers.add(link.getValue()); } else { DirectedGraph<Object, Transformer>.Path path = graph.getShortestPath(source, result); if (path == null) { return null; } for (DirectedGraph<Object, Transformer>.Edge edge : path.getEdges()) { transformers.add(edge.getValue()); } } return transformers; }
public Transformer getTransformer(String sourceType, String resultType) { loadTransformers(); DirectedGraph<Object, Transformer>.Edge edge = graph.getEdge(sourceType, resultType); return (edge == null) ? null : edge.getValue(); }
public Transformer getTransformer(String sourceType, String resultType) { loadTransformers(); DirectedGraph<Object, Transformer>.Edge edge = graph.getEdge(sourceType, resultType); return (edge == null) ? null : edge.getValue(); }