List of usage examples for org.apache.commons.collections15.functors TruePredicate getInstance
public static <T> Predicate<T> getInstance()
From source file:org.eobjects.datacleaner.widgets.visualization.VisualizeJobGraph.java
public JComponent renderGraph() { final int vertexCount = _graph.getVertexCount(); if (vertexCount == 0) { _graph.addVertex("No components in job"); }//from w ww .j a va 2 s.c o m logger.debug("Rendering graph with {} vertices", vertexCount); final VisualizeJobLayoutTransformer layoutTransformer = new VisualizeJobLayoutTransformer(_graph); final Dimension preferredSize = layoutTransformer.getPreferredSize(); final StaticLayout<Object, VisualizeJobLink> layout = new StaticLayout<Object, VisualizeJobLink>(_graph, layoutTransformer, preferredSize); Collection<Object> vertices = _graph.getVertices(); for (Object vertex : vertices) { // manually initialize all vertices layout.transform(vertex); } if (!layoutTransformer.isTransformed()) { throw new IllegalStateException("Layout transformer was never invoked!"); } final VisualizationViewer<Object, VisualizeJobLink> visualizationViewer = new VisualizationViewer<Object, VisualizeJobLink>( layout); visualizationViewer.setSize(preferredSize); GraphUtils.applyStyles(visualizationViewer); final RenderContext<Object, VisualizeJobLink> renderContext = visualizationViewer.getRenderContext(); // render fonts (some may be highlighted) renderContext.setVertexFontTransformer(new Transformer<Object, Font>() { private final Font normalFont = WidgetUtils.FONT_SMALL; private final Font highlighedFont = normalFont.deriveFont(Font.BOLD); @Override public Font transform(Object vertex) { if (_highlighedVertexes.contains(vertex)) { return highlighedFont; } return normalFont; } }); // render labels renderContext.setVertexLabelTransformer(new Transformer<Object, String>() { @Override public String transform(Object obj) { if (obj instanceof InputColumn) { return ((InputColumn<?>) obj).getName(); } if (obj instanceof AbstractBeanJobBuilder) { return LabelUtils.getLabel((AbstractBeanJobBuilder<?, ?, ?>) obj); } if (obj instanceof FilterOutcome) { return ((FilterOutcome) obj).getCategory().name(); } if (obj instanceof Table) { return ((Table) obj).getName(); } if (obj instanceof Class) { Class<?> cls = (Class<?>) obj; if (ReflectionUtils.is(cls, AnalyzerResult.class)) { return "Analyzer result"; } return cls.getSimpleName(); } return obj.toString(); } }); // render arrows final Predicate<Context<Graph<Object, VisualizeJobLink>, VisualizeJobLink>> edgeArrowPredicate = TruePredicate .getInstance(); renderContext.setEdgeArrowPredicate(edgeArrowPredicate); // render icons renderContext.setVertexIconTransformer(new Transformer<Object, Icon>() { @Override public Icon transform(Object obj) { if (obj == MORE_COLUMNS_VERTEX || obj instanceof InputColumn) { return imageManager.getImageIcon("images/model/column.png", IconUtils.ICON_SIZE_SMALL); } if (obj instanceof AbstractBeanJobBuilder) { return IconUtils.getDescriptorIcon(((AbstractBeanJobBuilder<?, ?, ?>) obj).getDescriptor()); } if (obj instanceof FilterOutcome) { return imageManager.getImageIcon("images/component-types/filter-outcome.png", IconUtils.ICON_SIZE_SMALL); } if (obj instanceof Table) { return imageManager.getImageIcon("images/model/table.png", IconUtils.ICON_SIZE_MEDIUM); } if (obj instanceof Class) { Class<?> cls = (Class<?>) obj; if (ReflectionUtils.is(cls, AnalyzerResult.class)) { return imageManager.getImageIcon("images/model/result.png", IconUtils.ICON_SIZE_MEDIUM); } } return imageManager.getImageIcon(IconUtils.STATUS_ERROR); } }); DCPanel panel = new DCPanel(); panel.setPreferredSize(preferredSize); panel.setLayout(new BorderLayout()); panel.add(visualizationViewer, BorderLayout.CENTER); return panel; }