Example usage for org.apache.commons.collections15.functors TruePredicate getInstance

List of usage examples for org.apache.commons.collections15.functors TruePredicate getInstance

Introduction

In this page you can find the example usage for org.apache.commons.collections15.functors TruePredicate getInstance.

Prototype

public static <T> Predicate<T> getInstance() 

Source Link

Document

Factory returning the singleton instance.

Usage

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;
}