Example usage for org.apache.commons.collections15 Transformer Transformer

List of usage examples for org.apache.commons.collections15 Transformer Transformer

Introduction

In this page you can find the example usage for org.apache.commons.collections15 Transformer Transformer.

Prototype

Transformer

Source Link

Usage

From source file:org.datacleaner.util.GraphUtils.java

private static <E> Transformer<E, Font> createFontTransformer() {
    return new Transformer<E, Font>() {
        @Override//from   www  .  ja v a 2s.c  o m
        public Font transform(E input) {
            final Font defaultFont = WidgetUtils.FONT_SMALL;
            if (input == null) {
                return defaultFont;
            }

            final String str;
            if (input instanceof HasName) {
                str = ((HasName) input).getName();
            } else if (input instanceof Object[]) {
                str = Arrays.toString((Object[]) input);
            } else {
                str = input.toString();
            }

            if (defaultFont.canDisplayUpTo(str) == -1) {
                return defaultFont;
            }
            final Font findCompatibleFont = WidgetUtils.findCompatibleFont(str, WidgetUtils.FONT_SMALL);
            return findCompatibleFont.deriveFont(WidgetUtils.FONT_SIZE_SMALL);
        }
    };
}

From source file:org.datacleaner.widgets.visualization.JobGraphTransformers.java

public Transformer<Context<Graph<Object, JobGraphLink>, JobGraphLink>, Shape> getEdgeShapeTransformer() {
    final String edgeStyle = _userPreferences.getAdditionalProperties()
            .get(USER_PREFERENCES_PROPERTY_EDGE_STYLE);
    final Transformer<Context<Graph<Object, JobGraphLink>, JobGraphLink>, Shape> baseTransformer = getBaseEdgeShapeTransformer(
            edgeStyle);//from   ww w  .ja  v a  2  s  . com

    return new Transformer<Context<Graph<Object, JobGraphLink>, JobGraphLink>, Shape>() {
        @Override
        public Shape transform(Context<Graph<Object, JobGraphLink>, JobGraphLink> input) {
            final Shape result = baseTransformer.transform(input);
            final JobGraphLink link = input.element;
            if (isCompoundRequirementLink(link)) {
                // make a double link (actually a wedge, but close
                // enough) to show that there are more than one filter
                // outcome coming from this source
                return new EdgeShape.Wedge<Object, JobGraphLink>(10).transform(input);
            }
            return result;
        }
    };

}

From source file:org.datacleaner.widgets.visualization.JobGraphTransformers.java

public Transformer<Object, Font> getVertexFontTransformer() {
    return new Transformer<Object, Font>() {
        @Override//w  w  w . j a  v  a 2 s  .  c o  m
        public Font transform(Object vertex) {
            if (_highlighedVertexes.contains(vertex)) {
                return _boldFont;
            }
            return _normalFont;
        }
    };
}

From source file:org.drools.semantics.builder.model.GraphModelImpl.java

public void display() {

    KKLayout<Concept, Relation> layout = new KKLayout<Concept, Relation>(cgraph);
    layout.setExchangeVertices(true);/*from w w w.  jav  a 2  s .c o m*/
    layout.setAdjustForGravity(false);
    layout.setDisconnectedDistanceMultiplier(2.0);
    layout.setLengthFactor(5.0);
    layout.setSize(new Dimension(1800, 1000));
    VisualizationViewer<Concept, Relation> vv = new VisualizationViewer<Concept, Relation>(layout);
    vv.setPreferredSize(new Dimension(1850, 1050)); //Sets the viewing area size

    final Stroke sccStroke = new BasicStroke(5.0f);
    final Stroke edgeStroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL, 10.0f, null,
            0.0f);

    Transformer<Relation, Stroke> edgeStrokeTransformer = new Transformer<Relation, Stroke>() {
        public Stroke transform(Relation rel) {
            return rel.getProperty().contains("subConceptOf") ? sccStroke : edgeStroke;
        }
    };
    Transformer<Concept, Paint> vertexPaint = new Transformer<Concept, Paint>() {
        public Paint transform(Concept c) {
            return c.getIri().contains("XMLSchema") ? Color.GREEN : Color.BLUE;
        }
    };
    vv.getRenderContext().setVertexFillPaintTransformer(vertexPaint);
    vv.getRenderContext().setEdgeStrokeTransformer(edgeStrokeTransformer);
    vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller());
    vv.getRenderContext().setEdgeLabelTransformer(new ToStringLabeller());

    DefaultModalGraphMouse gm = new DefaultModalGraphMouse();
    gm.setMode(ModalGraphMouse.Mode.TRANSFORMING);
    vv.setGraphMouse(gm);
    //        EditingModalGraphMouse gm =
    //            new EditingModalGraphMouse(vv.getRenderContext(),
    //                cgraph.get, cgraph.edgeFactory);
    vv.addKeyListener(gm.getModeKeyListener());

    JFrame frame = new JFrame("Simple Graph View");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(vv);
    frame.pack();
    frame.setVisible(true);
}

From source file:org.drugis.addis.entities.Study.java

/**
 * Replace oldArm with newArm. All references to oldArm will be updated.
 * @param oldArm The arm to replace.//from ww  w .j a v a2  s  .c  o  m
 * @param newArm The new arm.
 */
public void replaceArm(final Arm oldArm, final Arm newArm) {
    transformUsedBy(new Transformer<UsedBy, UsedBy>() {
        @Override
        public UsedBy transform(final UsedBy ub) {
            if (ub.getArm().equals(oldArm)) {
                return new UsedBy(newArm, ub.getEpoch());
            }
            return ub;
        }
    });

    transformMeasurementKeys(new Transformer<MeasurementKey, MeasurementKey>() {
        @Override
        public MeasurementKey transform(final MeasurementKey key) {
            if (key.getArm() != null && key.getArm().equals(oldArm)) {
                return new MeasurementKey(key.getStudyOutcomeMeasure(), newArm, key.getWhenTaken());
            }
            return key;
        }
    });

    d_arms.set(d_arms.indexOf(oldArm), newArm);
}

From source file:org.drugis.addis.entities.Study.java

/**
 * Replace oldEpoch with newEpoch. All references to oldEpoch will be updated.
 * @param oldEpoch The epoch to replace.
 * @param newEpoch The new epoch./* w w  w .j a v  a  2  s  .  c  o  m*/
 */
public void replaceEpoch(final Epoch oldEpoch, final Epoch newEpoch) {
    transformUsedBy(new Transformer<UsedBy, UsedBy>() {
        @Override
        public UsedBy transform(final UsedBy ub) {
            if (ub.getEpoch().equals(oldEpoch)) {
                return new UsedBy(ub.getArm(), newEpoch);
            }
            return ub;
        }
    });

    for (final StudyOutcomeMeasure<?> som : getStudyOutcomeMeasures()) {
        for (int i = 0; i < som.getWhenTaken().size(); ++i) {
            final WhenTaken oldWhenTaken = som.getWhenTaken().get(i);
            if (oldWhenTaken.getEpoch().equals(oldEpoch)) {
                final WhenTaken newWhenTaken = new WhenTaken(oldWhenTaken.getDuration(),
                        oldWhenTaken.getRelativeTo(), newEpoch);
                newWhenTaken.commit();
                replaceWhenTaken(som, oldWhenTaken, newWhenTaken);
            }
        }
    }

    d_epochs.set(d_epochs.indexOf(oldEpoch), newEpoch);
}

From source file:org.drugis.addis.entities.Study.java

private <V extends Variable> void updateMeasurementKeys(final StudyOutcomeMeasure<? extends V> oldSom,
        final StudyOutcomeMeasure<? extends V> newSom, final WhenTaken oldWhenTaken,
        final WhenTaken newWhenTaken) {
    transformMeasurementKeys(new Transformer<MeasurementKey, MeasurementKey>() {
        @Override/* w  w  w  . ja v a 2s.  c o m*/
        public MeasurementKey transform(final MeasurementKey input) {
            if (input.getStudyOutcomeMeasure() == oldSom && input.getWhenTaken().equals(oldWhenTaken)) {
                return new MeasurementKey(newSom, input.getArm(), newWhenTaken);
            }
            return input;
        }
    });
}

From source file:org.drugis.addis.gui.wizard.TreatmentCategorizationOverviewWizardStep.java

public static VisualizationViewer<DecisionTreeNode, DecisionTreeEdge> buildDecisionTreeView(
        final DecisionTree tree) {
    // Crazy hack because sizes start at 600x600 by default.
    final Layout<DecisionTreeNode, DecisionTreeEdge> layout = new TreeLayout<DecisionTreeNode, DecisionTreeEdge>(
            new DecisionTree(new LeafNode()), 150, 75);
    layout.getSize().height = 1;/*from   w w  w . j av a2s  .  com*/
    layout.getSize().width = 1;
    layout.setGraph(tree);

    final VisualizationViewer<DecisionTreeNode, DecisionTreeEdge> vv = new VisualizationViewer<DecisionTreeNode, DecisionTreeEdge>(
            layout);

    vv.setVertexToolTipTransformer(new ToStringLabeller<DecisionTreeNode>());
    vv.getRenderContext().setVertexFillPaintTransformer(new Transformer<DecisionTreeNode, Paint>() {
        public Paint transform(final DecisionTreeNode node) {
            return (node instanceof LeafNode) ? new Color(0.55f, 0.55f, 1.0f) : Color.ORANGE;
        }
    });

    vv.getRenderContext().setVertexShapeTransformer(new Transformer<DecisionTreeNode, Shape>() {
        public Shape transform(final DecisionTreeNode input) {
            final FontMetrics fontMetrics = vv.getGraphics().getFontMetrics();
            final double width = fontMetrics.stringWidth(input.toString()) + 6;
            final double height = fontMetrics.getHeight() + 2;
            final double arc = 5;
            return new RoundRectangle2D.Double(-width / 2, -height / 2, width, height, arc, arc);
        }
    });

    vv.getRenderer().getVertexLabelRenderer().setPosition(Position.CNTR);
    vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<DecisionTreeNode>());

    vv.getRenderContext().setEdgeLabelTransformer(new ToStringLabeller<DecisionTreeEdge>());
    vv.getRenderContext().getEdgeLabelRenderer().setRotateEdgeLabels(false);
    vv.getRenderContext().setEdgeLabelClosenessTransformer(
            new ConstantDirectionalEdgeValueTransformer<DecisionTreeNode, DecisionTreeEdge>(0.5, 0.4));
    return vv;
}

From source file:org.drugis.mtc.gui.results.NetworkTableCellRendererTest.java

@Before
public void setUp() {
    List<String> alternatives = Arrays.asList("Fluoxetine", "Paroxetine", "Sertraline");
    DichotomousNetworkBuilder<String> builder = new DichotomousNetworkBuilder<String>(
            new Transformer<String, String>() {
                @Override//from  w w  w. j  a v a 2 s.c  om
                public String transform(String input) {
                    return input.substring(0, 1);
                }
            }, new Transformer<String, String>() {
                @Override
                public String transform(String input) {
                    return input;
                }
            });
    builder.add("Bennie", "Fluoxetine", 1, 100);
    builder.add("Bennie", "Sertraline", 1, 100);
    builder.add("Chouinard", "Fluoxetine", 1, 100);
    builder.add("Chouinard", "Paroxetine", 1, 100);
    builder.add("De Wilde", "Paroxetine", 1, 100);
    builder.add("De Wilde", "Fluoxetine", 1, 100);
    builder.add("Fava", "Sertraline", 1, 100);
    builder.add("Fava", "Fluoxetine", 1, 100);
    builder.add("Fava", "Paroxetine", 1, 100);
    Network network = builder.buildNetwork();

    final ConsistencyModel model = DefaultModelFactory.instance().getConsistencyModel(network);
    d_consistencyWrapper = new SimulationConsistencyWrapper<String>(model, alternatives,
            builder.getTreatmentMap());
    d_tableModel = new NetworkRelativeEffectTableModel(network.getTreatments(), d_consistencyWrapper);
    d_treatments = network.getTreatments();
}

From source file:org.drugis.mtc.jags.JagsSyntaxModel.java

private String generateDataFile(List<Pair<String>> assignments) {
    final String assign = d_isJags ? " <- " : " = ";
    final String sep = d_isJags ? "\n" : ",\n";
    final String head = d_isJags ? "" : "list(\n";
    final String foot = d_isJags ? "\n" : "\n)\n";

    Collection<String> lines = CollectionHelper.transform(assignments, new Transformer<Pair<String>, String>() {
        public String transform(Pair<String> input) {
            return input.getFirst() + assign + input.getSecond();
        }//from   w w  w .  j  a va  2 s.co m
    });

    return head + StringUtils.join(lines, sep) + foot;
}