List of usage examples for org.apache.commons.collections.comparators TransformingComparator TransformingComparator
public TransformingComparator(Transformer transformer, Comparator decorated)
From source file:org.openvpms.report.jasper.IMObjectCollectionDataSource.java
/** * Sorts a list of IMObjects on a node in the form specified by {@link NodeResolver}. * * @param objects the objects to sort//from www . ja va 2s .com * @param sortNode the node to sort on */ @SuppressWarnings("unchecked") private void sort(List<IMObject> objects, String sortNode) { Comparator comparator = ComparatorUtils.naturalComparator(); comparator = ComparatorUtils.nullLowComparator(comparator); Transformer transformer = new NodeTransformer(sortNode, getArchetypeService()); TransformingComparator transComparator = new TransformingComparator(transformer, comparator); Collections.sort(objects, transComparator); }
From source file:org.openvpms.web.component.im.relationship.RelationshipStateResultSet.java
/** * Helper to return a comparator for a node sort constraint. * * @param sort the node sort constraint//w ww . j a v a2s .c o m * @return a comparator for the constraint, or <tt>null</tt> if the * node is not supported */ private Comparator getComparator(NodeSortConstraint sort) { Transformer transformer = null; String name = sort.getNodeName(); if (RelationshipStateTableModel.NAME_NODE.equals(name)) { transformer = new Transformer() { public Object transform(Object input) { RelationshipState state = ((RelationshipState) input); return (source) ? state.getTargetName() : state.getSourceName(); } }; } else if (RelationshipStateTableModel.DESCRIPTION_NODE.equals(name)) { transformer = new Transformer() { public Object transform(Object input) { RelationshipState state = ((RelationshipState) input); return (source) ? state.getTargetDescription() : state.getSourceDescription(); } }; } else if (RelationshipStateTableModel.DETAIL_NODE.equals(name)) { transformer = new Transformer() { public Object transform(Object input) { RelationshipState state = ((RelationshipState) input); return state.getRelationship().getDescription(); } }; } Comparator comparator = null; if (transformer != null) { comparator = IMObjectSorter.getComparator(sortAscending); comparator = new TransformingComparator(transformer, comparator); } return comparator; }
From source file:org.openvpms.web.component.im.util.IMObjectSorter.java
/** * Returns a new comparator for a virtual node sort constraint. * * @param sort the sort criteria/* ww w . ja v a 2s.c o m*/ * @return a new comparator */ @SuppressWarnings("unchecked") private static Comparator<Object> getComparator(VirtualNodeSortConstraint sort) { Comparator comparator = getComparator(sort.isAscending()); Transformer transformer = sort.getTransformer(); if (transformer == null) { transformer = getTransformer(sort); } return new TransformingComparator(transformer, comparator); }
From source file:org.openvpms.web.component.im.util.IMObjectSorter.java
/** * Returns a new comparator for a node sort constraint. * * @param sort the sort criteria/* ww w. j a v a2s. c o m*/ * @return a new comparator */ @SuppressWarnings("unchecked") private static Comparator<Object> getComparator(NodeSortConstraint sort) { Comparator comparator = getComparator(sort.isAscending()); Transformer transformer = getTransformer(sort); return new TransformingComparator(transformer, comparator); }
From source file:org.openvpms.web.component.im.util.IMObjectSorter.java
/** * Returns a new comparator for a node sort constraint. * * @param sort the sort criteria//from w w w . j a v a 2 s. c o m * @param transformer a transformer to apply * @return a new comparator */ @SuppressWarnings("unchecked") private static Comparator<Object> getComparator(NodeSortConstraint sort, Transformer transformer) { Comparator comparator = getComparator(sort.isAscending()); Transformer transform = ChainedTransformer.getInstance(transformer, getTransformer(sort)); return new TransformingComparator(transform, comparator); }
From source file:org.openvpms.web.component.im.util.IMObjectSorter.java
/** * Returns a new comparator for an archetype property. * * @param sort the sort criteria/*from ww w . j a va 2 s.co m*/ * @return a new comparator */ @SuppressWarnings("unchecked") private static Comparator<Object> getComparator(ArchetypeSortConstraint sort) { Comparator comparator = getComparator(sort.isAscending()); Transformer transformer = new ArchetypeTransformer(); return new TransformingComparator(transformer, comparator); }
From source file:org.openvpms.web.component.im.util.IMObjectSorter.java
/** * Returns a new comparator for an archetype property. * * @param sort the sort criteria/*from ww w. j av a 2s . c o m*/ * @param transformer a transformer to apply * @return a new comparator */ @SuppressWarnings("unchecked") private static Comparator<Object> getComparator(ArchetypeSortConstraint sort, Transformer transformer) { Comparator comparator = getComparator(sort.isAscending()); Transformer transform = ChainedTransformer.getInstance(transformer, new ArchetypeTransformer()); return new TransformingComparator(transform, comparator); }
From source file:org.springframework.richclient.list.SortedListModel.java
protected void applyComparator() { Integer[] indexes = new Integer[this.indexes.length]; System.arraycopy(this.indexes, 0, indexes, 0, indexes.length); Arrays.sort(indexes,/*from w w w .j a v a2s. c om*/ new TransformingComparator(new IndexToElementTransformer(getFilteredModel()), comparator)); this.indexes = indexes; fireContentsChanged(this, -1, -1); }