Example usage for com.google.common.collect Ordering Ordering

List of usage examples for com.google.common.collect Ordering Ordering

Introduction

In this page you can find the example usage for com.google.common.collect Ordering Ordering.

Prototype

protected Ordering() 

Source Link

Document

Constructs a new instance of this class (only invokable by the subclass constructor, typically implicit).

Usage

From source file:de.johni0702.minecraft.gui.container.AbstractGuiContainer.java

@Override
public T sortElements(final Comparator<GuiElement> comparator) {
    Ordering<Map.Entry<GuiElement, LayoutData>> ordering = new Ordering<Map.Entry<GuiElement, LayoutData>>() {
        @Override/*from w w w.  j  a  v  a 2s .  c  o  m*/
        public int compare(Map.Entry<GuiElement, LayoutData> left, Map.Entry<GuiElement, LayoutData> right) {
            return comparator.compare(left.getKey(), right.getKey());
        }
    };
    if (!ordering.isOrdered(elements.entrySet())) {
        ImmutableList<Map.Entry<GuiElement, LayoutData>> sorted = ordering
                .immutableSortedCopy(elements.entrySet());
        elements.clear();
        for (Map.Entry<GuiElement, LayoutData> entry : sorted) {
            elements.put(entry.getKey(), entry.getValue());
        }
    }
    return getThis();
}

From source file:com.google.devtools.build.lib.graph.Digraph.java

/**
 * Returns a deterministic immutable view of the nodes of this graph.
 */// w w w .  ja  va 2 s .c  o  m
public Collection<Node<T>> getNodes(final Comparator<? super T> comparator) {
    Ordering<Node<T>> ordering = new Ordering<Node<T>>() {
        @Override
        public int compare(Node<T> o1, Node<T> o2) {
            return comparator.compare(o1.getLabel(), o2.getLabel());
        }
    };
    return ordering.immutableSortedCopy(nodes.values());
}

From source file:org.apache.brooklyn.location.jclouds.BrooklynImageChooser.java

/** @deprecated since 0.7.0 kept in case persisted */
@Deprecated//  w  w  w. java2s  .  co m
public Ordering<Image> orderingScoredWithoutDefaultsDeprecated() {
    return new Ordering<Image>() {
        @Override
        public int compare(Image left, Image right) {
            return BrooklynImageChooser.compare(score(left), score(right));
        }
    };
}

From source file:de.hh.changeRing.user.User.java

private void sortDepot() {
    depotItems = new Ordering<DepotItem>() {

        @Override//from   w w  w. j  a  v a  2  s .co m
        public int compare(DepotItem depotItem, DepotItem depotItem1) {
            return depotItem1.getTransaction().getDate().compareTo(depotItem.getTransaction().getDate());
        }
    }.sortedCopy(depotItems);
}

From source file:nl.knaw.huygens.alexandria.query.AlexandriaQueryParser.java

private static Ordering<AnnotationVF> ordering(SortToken token) {
    boolean ascending = token.isAscending();
    Function<AnnotationVF, Object> function = token.getField().getter;
    return new Ordering<AnnotationVF>() {
        @SuppressWarnings("unchecked")
        @Override/* w ww  .  java2 s. c om*/
        public int compare(final AnnotationVF left, final AnnotationVF right) {
            return ascending//
                    ? ((Comparable<Object>) function.apply(left)).compareTo(function.apply(right))//
                    : ((Comparable<Object>) function.apply(right)).compareTo(function.apply(left));
        }
    };
}

From source file:org.apache.brooklyn.location.jclouds.BrooklynImageChooser.java

/** @deprecated since 0.7.0 kept in case persisted */
@Deprecated/*from  w w w .j a v  a  2 s .  c o m*/
public static Ordering<Image> orderingWithDefaultsDeprecated(final Ordering<Image> primaryOrdering) {
    return new Ordering<Image>() {
        @Override
        public int compare(Image left, Image right) {
            return ComparisonChain.start().compare(left, right, primaryOrdering)
                    // fall back to default strategy otherwise, except preferring *non*-null values
                    // TODO use AlphaNum string comparator
                    .compare(left.getName(), right.getName(), Ordering.<String>natural().nullsFirst())
                    .compare(left.getVersion(), right.getVersion(), Ordering.<String>natural().nullsFirst())
                    .compare(left.getDescription(), right.getDescription(),
                            Ordering.<String>natural().nullsFirst())
                    .compare(left.getOperatingSystem().getName(), right.getOperatingSystem().getName(),
                            Ordering.<String>natural().nullsFirst())
                    .compare(left.getOperatingSystem().getVersion(), right.getOperatingSystem().getVersion(),
                            Ordering.<String>natural().nullsFirst())
                    .compare(left.getOperatingSystem().getDescription(),
                            right.getOperatingSystem().getDescription(),
                            Ordering.<String>natural().nullsFirst())
                    .compare(left.getOperatingSystem().getArch(), right.getOperatingSystem().getArch(),
                            Ordering.<String>natural().nullsFirst())
                    .result();
        }
    };
}

From source file:de.hh.changeRing.user.User.java

public DepotItem getNewestDepotItem() {
    List<DepotItem> sorted = new Ordering<DepotItem>() {
        @Override/*www.  j a v  a2s . co  m*/
        public int compare(DepotItem o1, DepotItem o2) {
            return o2.getTransaction().getDate().compareTo(o1.getTransaction().getDate());
        }
    }.sortedCopy(getDepotItems());
    return sorted.isEmpty() ? null : sorted.get(0);
}

From source file:org.apache.calcite.rel.metadata.RelMdCollation.java

private static Ordering<List<RexLiteral>> comparator(RelFieldCollation fieldCollation) {
    final int nullComparison = fieldCollation.nullDirection.nullComparison;
    final int x = fieldCollation.getFieldIndex();
    switch (fieldCollation.direction) {
    case ASCENDING:
        return new Ordering<List<RexLiteral>>() {
            public int compare(List<RexLiteral> o1, List<RexLiteral> o2) {
                final Comparable c1 = o1.get(x).getValue();
                final Comparable c2 = o2.get(x).getValue();
                return RelFieldCollation.compare(c1, c2, nullComparison);
            }//from   ww w . ja v  a 2 s.  c o m
        };
    default:
        return new Ordering<List<RexLiteral>>() {
            public int compare(List<RexLiteral> o1, List<RexLiteral> o2) {
                final Comparable c1 = o1.get(x).getValue();
                final Comparable c2 = o2.get(x).getValue();
                return RelFieldCollation.compare(c2, c1, -nullComparison);
            }
        };
    }
}

From source file:org.jclouds.azurecompute.arm.compute.extensions.AzureComputeSecurityGroupExtension.java

private static Ordering<NetworkSecurityRule> rulesByPriority() {
    return new Ordering<NetworkSecurityRule>() {
        @Override/*from  ww  w . j a  v a 2 s . com*/
        public int compare(NetworkSecurityRule left, NetworkSecurityRule right) {
            return left.properties().priority() - right.properties().priority();
        }
    };
}

From source file:org.dbpedia.spotlight.lucene.search.MergedOccurrencesContextSearcher.java

/**
 *
 * @param dbpediaResource//  w  w w.j ava 2  s.  c  om
 * @return map from term (word) to count
 */
public List<Map.Entry<String, Integer>> getContextWords(DBpediaResource dbpediaResource)
        throws SearchException {
    Map<String, Integer> termFreqMap = new HashMap<String, Integer>();
    ScoreDoc[] docs = getHits(dbpediaResource);
    //TODO Create an exception DuplicateResourceException
    if (docs.length > 1)
        LOG.error(String.format("Resource %s has more than one document in  the index. Maybe index corrupted?",
                dbpediaResource));
    // Will accept multiple docs for a resource and get the overall top terms
    try {
        for (ScoreDoc d : docs) {
            TermFreqVector vector = mReader.getTermFreqVector(d.doc,
                    LuceneManager.DBpediaResourceField.CONTEXT.toString());
            if (vector == null)
                throw new SearchException(
                        "The index you are using does not have term frequencies stored. Cannot run getContextWords(DBpediaResource).");
            int[] freqs = vector.getTermFrequencies();
            String[] terms = vector.getTerms();
            for (int i = 0; i < vector.size(); i++) {
                termFreqMap.put(terms[i], freqs[i]);
            }
        }

    } catch (IOException e) {
        e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
    }
    Ordering descOrder = new Ordering<Map.Entry<String, Integer>>() {
        public int compare(Map.Entry<String, Integer> left, Map.Entry<String, Integer> right) {
            return Ints.compare(right.getValue(), left.getValue());
        }
    };
    List<Map.Entry<String, Integer>> sorted = descOrder.sortedCopy(termFreqMap.entrySet());

    return sorted;
}