List of usage examples for com.google.common.collect Ordering natural
@GwtCompatible(serializable = true) @SuppressWarnings("unchecked") public static <C extends Comparable> Ordering<C> natural()
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(); }