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

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

Introduction

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

Prototype

@GwtCompatible(serializable = true)
@SuppressWarnings("unchecked") 
public static <C extends Comparable> Ordering<C> natural() 

Source Link

Document

Returns a serializable ordering that uses the natural order of the values.

Usage

From source file:com.google.javascript.jscomp.lint.CheckRequiresAndProvidesSorted.java

@Override
public void visit(NodeTraversal t, Node n, Node parent) {
    switch (n.getType()) {
    case Token.SCRIPT:
        if (!Ordering.natural().isOrdered(requiredNamespaces)) {
            t.report(n, REQUIRES_NOT_SORTED);
        }/*w  ww . j a  v a  2 s .c  o m*/
        if (!Ordering.natural().isOrdered(providedNamespaces)) {
            t.report(n, PROVIDES_NOT_SORTED);
        }
        if (!moduleNamespaces.isEmpty() && !providedNamespaces.isEmpty()) {
            t.report(n, MODULE_AND_PROVIDES);
        }
        if (moduleNamespaces.size() > 1) {
            t.report(n, MULTIPLE_MODULES_IN_FILE);
        }

        requiredNamespaces.clear();
        providedNamespaces.clear();
        moduleNamespaces.clear();
        break;
    case Token.CALL:
        if (parent.isExprResult() && parent.getParent().isScript()) {
            String req = compiler.getCodingConvention().extractClassNameIfRequire(n, parent);
            if (req != null) {
                requiredNamespaces.add(req);
            }
            String prov = compiler.getCodingConvention().extractClassNameIfProvide(n, parent);
            if (prov != null) {
                if (!requiredNamespaces.isEmpty()) {
                    t.report(n, PROVIDES_AFTER_REQUIRES);
                }
                if (n.getFirstChild().matchesQualifiedName("goog.module")) {
                    moduleNamespaces.add(prov);
                } else {
                    providedNamespaces.add(prov);
                }
            }
        }
        break;
    }
}

From source file:org.eclipse.sirius.business.api.action.PrintInterpreterVariablesAction.java

private SortedMap<String, Object> getSortedVariables(Collection<? extends EObject> selections) {
    EObject context = selections.iterator().next();
    IInterpreter interpreter = InterpreterUtil.getInterpreter(context);
    SortedMap<String, Object> allVariables = Maps.newTreeMap(Ordering.natural());
    allVariables.putAll(interpreter.getVariables());
    allVariables.put("self", context); //$NON-NLS-1$
    return allVariables;
}

From source file:com.mapr.stats.bandit.BayesianBandit.java

/**
 * Samples probability estimates from each bandit and orders the bandits in increasing order.
 * @param sampleSize The number of bandits to sample.
 * @return A list of the indexes of the bandits.
 *///from w ww  .  j a v  a  2  s.c om
public List<Integer> rank(int sampleSize) {
    Map<Double, Integer> tmp = Maps.newTreeMap(Ordering.natural().reverse());
    int i = 0;
    for (AbstractBayesianDistribution dist : bd) {
        double p = dist.nextMean();
        tmp.put(p, i);
        i++;
    }

    List<Integer> r = Lists.newArrayList();
    for (Double key : tmp.keySet()) {
        r.add(tmp.get(key));
        if (r.size() >= sampleSize) {
            break;
        }
    }
    return r;
}

From source file:c3.ops.priam.utils.TokenManager.java

@Override
public BigInteger findClosestToken(BigInteger tokenToSearch, List<BigInteger> tokenList) {
    Preconditions.checkArgument(!tokenList.isEmpty(), "token list must not be empty");
    List<BigInteger> sortedTokens = Ordering.natural().sortedCopy(tokenList);
    int index = Ordering.natural().binarySearch(sortedTokens, tokenToSearch);
    if (index < 0) {
        int i = Math.abs(index) - 1;
        if ((i >= sortedTokens.size()) || (i > 0 && sortedTokens.get(i).subtract(tokenToSearch)
                .compareTo(tokenToSearch.subtract(sortedTokens.get(i - 1))) > 0))
            --i;//from  w w w.j  a  va 2s  .  c o  m
        return sortedTokens.get(i);
    }
    return sortedTokens.get(index);
}

From source file:com.facebook.presto.orc.RowGroupLayout.java

public static List<RowGroupLayout> mergeAdjacentRowGroups(List<RowGroupLayout> rowGroups) {
    checkNotNull(rowGroups, "rowGroups is null");
    if (rowGroups.isEmpty()) {
        return rowGroups;
    }/*from  www .jav a2  s . co m*/

    rowGroups = Ordering.natural().onResultOf(groupIdGetter()).sortedCopy(rowGroups);

    ImmutableList.Builder<RowGroupLayout> builder = ImmutableList.builder();
    RowGroupLayout previousGroup = rowGroups.get(0);
    int previousGroupId = previousGroup.getGroupId();
    for (int i = 1; i < rowGroups.size(); i++) {
        RowGroupLayout group = rowGroups.get(i);
        if (previousGroupId + 1 == group.getGroupId()) {
            previousGroup = previousGroup.mergeWith(group);
        } else {
            builder.add(previousGroup);
            previousGroup = group;
        }
        previousGroupId = group.getGroupId();
    }
    builder.add(previousGroup);
    return builder.build();
}

From source file:google.registry.tools.ValidateEscrowDepositCommand.java

private static void validateXmlStream(InputStream inputStream) throws XmlException {
    XjcRdeDeposit deposit = XjcXmlTransformer.unmarshal(XjcRdeDeposit.class, inputStream);
    System.out.printf("ID: %s\n", deposit.getId());
    System.out.printf("Previous ID: %s\n", deposit.getPrevId());
    System.out.printf("Type: %s\n", deposit.getType());
    System.out.printf("Watermark: %s\n", deposit.getWatermark());
    System.out.printf("RDE Version: %s\n", deposit.getRdeMenu().getVersion());
    System.out.println();//from  w w  w .  j ava  2  s.  c  o m
    System.out.printf("RDE Object URIs:\n  - %s\n",
            Joiner.on("\n  - ").join(Ordering.natural().sortedCopy(deposit.getRdeMenu().getObjURIs())));
    Set<String> hostnames = new HashSet<>();
    Set<String> hostnameRefs = new HashSet<>();
    Set<String> contacts = new HashSet<>();
    Set<String> contactRefs = new HashSet<>();
    Set<String> registrars = new HashSet<>();
    Set<String> registrarRefs = new HashSet<>();
    SortedMap<String, Long> counts = new TreeMap<>();
    for (JAXBElement<?> item : deposit.getContents().getContents()) {
        String name = item.getDeclaredType().getSimpleName();
        counts.put(name, firstNonNull(counts.get(name), 0L) + 1L);
        if (XjcRdeHost.class.isAssignableFrom(item.getDeclaredType())) {
            XjcRdeHost host = (XjcRdeHost) item.getValue();
            hostnames.add(checkNotNull(host.getName()));
            addIfNotNull(registrarRefs, host.getClID());
            if (host.getUpRr() != null) {
                addIfNotNull(registrarRefs, host.getUpRr().getValue());
            }
        } else if (XjcRdeContact.class.isAssignableFrom(item.getDeclaredType())) {
            XjcRdeContact contact = (XjcRdeContact) item.getValue();
            contacts.add(checkNotNull(contact.getId()));
            addIfNotNull(registrarRefs, contact.getClID());
            if (contact.getUpRr() != null) {
                addIfNotNull(registrarRefs, contact.getUpRr().getValue());
            }
        } else if (XjcRdeDomain.class.isAssignableFrom(item.getDeclaredType())) {
            XjcRdeDomain domain = (XjcRdeDomain) item.getValue();
            addIfNotNull(registrarRefs, domain.getClID());
            if (domain.getUpRr() != null) {
                addIfNotNull(registrarRefs, domain.getUpRr().getValue());
            }
            if (domain.getNs() != null) {
                hostnameRefs.addAll(domain.getNs().getHostObjs());
                for (XjcDomainHostAttrType hostAttr : domain.getNs().getHostAttrs()) {
                    addIfNotNull(hostnameRefs, hostAttr.getHostName());
                }
            }
            for (XjcDomainContactType contact : domain.getContacts()) {
                contactRefs.add(contact.getValue());
            }
        } else if (XjcRdeRegistrar.class.isAssignableFrom(item.getDeclaredType())) {
            XjcRdeRegistrar registrar = (XjcRdeRegistrar) item.getValue();
            registrars.add(checkNotNull(registrar.getId()));
        }
    }
    System.out.println();
    System.out.printf("Contents:\n");
    for (Map.Entry<String, Long> count : counts.entrySet()) {
        System.out.printf("  - %s: %,d %s\n", count.getKey(), count.getValue(),
                count.getValue() == 1L ? "entry" : "entries");
    }
    System.out.println();
    boolean good = true;
    List<String> badHostnameRefs = copyOf(difference(hostnameRefs, hostnames));
    if (!badHostnameRefs.isEmpty()) {
        System.out.printf("Bad host refs: %s\n", Joiner.on(", ").join(badHostnameRefs));
        good = false;
    }
    List<String> badContactRefs = copyOf(difference(contactRefs, contacts));
    if (!badContactRefs.isEmpty()) {
        System.out.printf("Bad contact refs: %s\n", Joiner.on(", ").join(badContactRefs));
        good = false;
    }
    List<String> badRegistrarRefs = copyOf(difference(registrarRefs, registrars));
    if (!badRegistrarRefs.isEmpty()) {
        System.out.printf("Bad registrar refs: %s\n", Joiner.on(", ").join(badRegistrarRefs));
        good = false;
    }
    if (good) {
        System.out.printf("RDE deposit is XML schema valid\n");
    } else {
        System.out.printf("RDE deposit is XML schema valid but has bad references\n");
    }
}

From source file:org.apache.beam.runners.dataflow.worker.ExecutionStateKey.java

@Override
public int compareTo(ExecutionStateKey o) {
    return ComparisonChain.start().compare(getStateName(), o.getStateName())
            .compare(getStepName().originalName(), o.getStepName().originalName(),
                    Ordering.natural().nullsFirst())
            .compare(getStepName().stageName(), o.getStepName().stageName(), Ordering.natural().nullsFirst())
            .compare(getRequestingStepName(), o.getRequestingStepName(), Ordering.natural().nullsFirst())
            .compare(getInputIndex(), o.getInputIndex(), Ordering.natural().nullsFirst()).result();
}

From source file:org.isisaddons.app.kitchensink.dom.hierarchy.child.ChildObject.java

@Override
public int compareTo(final ChildObject other) {
    return Ordering.natural().onResultOf(ChildObject::getName).compare(this, other);
}

From source file:com.google.auto.factory.processor.FactoryWriter.java

void writeFactory(final FactoryDescriptor descriptor) throws IOException {
    JavaFileObject sourceFile = filer.createSourceFile(descriptor.name());
    JavaWriter writer = new JavaWriter(sourceFile.openWriter());
    String packageName = getPackage(descriptor.name()).toString();
    writer.emitPackage(packageName).emitImports("javax.annotation.Generated");

    writer.emitImports("javax.inject.Inject");
    if (!descriptor.providerNames().isEmpty()) {
        writer.emitImports("javax.inject.Provider");
    }//from  ww w.  j av  a2s  . c om

    for (String implementingType : descriptor.implementingTypes()) {
        String implementingPackageName = getPackage(implementingType).toString();
        if (!"java.lang".equals(implementingPackageName) && !packageName.equals(implementingPackageName)) {
            writer.emitImports(implementingType);
        }
    }

    String[] implementedClasses = FluentIterable.from(descriptor.implementingTypes())
            .transform(new Function<String, String>() {
                @Override
                public String apply(String implemetingClass) {
                    return getSimpleName(implemetingClass).toString();
                }
            }).toSortedSet(Ordering.natural()).toArray(new String[0]);

    String factoryName = getSimpleName(descriptor.name()).toString();
    writer.emitAnnotation(Generated.class,
            ImmutableMap.of("value", "\"" + AutoFactoryProcessor.class.getName() + "\""));
    EnumSet<Modifier> modifiers = EnumSet.of(FINAL);
    if (descriptor.publicType()) {
        modifiers.add(PUBLIC);
    }
    writer.beginType(factoryName, "class", modifiers,
            Object.class.getName().equals(descriptor.extendingType()) ? null : descriptor.extendingType(),
            implementedClasses);

    ImmutableList.Builder<String> constructorTokens = ImmutableList.builder();
    for (Entry<Key, String> entry : descriptor.providerNames().entrySet()) {
        Key key = entry.getKey();
        String providerName = entry.getValue();
        writer.emitField("Provider<" + key.getType() + ">", providerName, EnumSet.of(PRIVATE, FINAL));
        Optional<String> qualifier = key.getQualifier();
        String qualifierPrefix = qualifier.isPresent() ? "@" + qualifier.get() + " " : "";
        constructorTokens.add(qualifierPrefix + "Provider<" + key.getType() + ">").add(providerName);
    }

    writer.emitAnnotation("Inject");
    writer.beginMethod(null, factoryName,
            descriptor.publicType() ? EnumSet.of(PUBLIC) : EnumSet.noneOf(Modifier.class),
            constructorTokens.build().toArray(new String[0]));

    for (String providerName : descriptor.providerNames().values()) {
        writer.emitStatement("this.%1$s = %1$s", providerName);
    }

    writer.endMethod();

    for (final FactoryMethodDescriptor methodDescriptor : descriptor.methodDescriptors()) {
        writer.beginMethod(methodDescriptor.returnType(), methodDescriptor.name(),
                methodDescriptor.publicMethod() ? EnumSet.of(PUBLIC) : EnumSet.noneOf(Modifier.class),
                parameterTokens(methodDescriptor.passedParameters()));
        FluentIterable<String> creationParameterNames = FluentIterable
                .from(methodDescriptor.creationParameters()).transform(new Function<Parameter, String>() {
                    @Override
                    public String apply(Parameter parameter) {
                        return methodDescriptor.passedParameters().contains(parameter) ? parameter.name()
                                : descriptor.providerNames().get(parameter.asKey()) + ".get()";
                    }
                });
        writer.emitStatement("return new %s(%s)", writer.compressType(methodDescriptor.returnType()),
                argumentJoiner.join(creationParameterNames));
        writer.endMethod();
    }

    for (ImplemetationMethodDescriptor methodDescriptor : descriptor.implementationMethodDescriptors()) {
        writer.emitAnnotation(Override.class);
        writer.beginMethod(methodDescriptor.returnType(), methodDescriptor.name(),
                methodDescriptor.publicMethod() ? EnumSet.of(PUBLIC) : EnumSet.noneOf(Modifier.class),
                parameterTokens(methodDescriptor.passedParameters()));
        FluentIterable<String> creationParameterNames = FluentIterable.from(methodDescriptor.passedParameters())
                .transform(new Function<Parameter, String>() {
                    @Override
                    public String apply(Parameter parameter) {
                        return parameter.name();
                    }
                });
        writer.emitStatement("return create(%s)", argumentJoiner.join(creationParameterNames));
        writer.endMethod();
    }

    writer.endType();
    writer.close();
}

From source file:uk.co.caprica.brue.core.domain.bridge.Rule.java

@Override
public int compareTo(Rule another) {
    return ComparisonChain.start().compare(name, another.name, Ordering.natural().nullsLast())
            .compare(owner, another.owner).result();
}