List of usage examples for com.google.common.collect Ordering sortedCopy
public <E extends T> List<E> sortedCopy(Iterable<E> elements)
From source file:utils.teamcity.wallt.controller.configuration.ConfigurationController.java
private void updateSavedProjects() { final List<ProjectData> monitoredProjects = _projectManager.getMonitoredProjects(); final Ordering<ProjectData> ordering = Ordering.from(Comparator.comparingInt(_projectManager::getPosition)); final List<SavedProjectData> projectToSaved = ordering .sortedCopy(monitoredProjects).stream().map(data -> new SavedProjectData(data.getId(), data.getName(), data.getParentId().orElse(null), data.getAliasName())) .collect(Collectors.toList()); _configuration.setSavedProjects(projectToSaved); }
From source file:org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsSortableDataProvider.java
private List<ObjectAdapter> sortedCopy(final Iterable<ObjectAdapter> adapters, final SortParam<String> sort) { final ObjectAssociation sortProperty = lookupAssociationFor(sort); if (sortProperty == null) { return Lists.newArrayList(adapters); }/*from w w w .jav a 2 s . c om*/ final Ordering<ObjectAdapter> ordering = orderingBy(sortProperty, sort.isAscending()); return ordering.sortedCopy(adapters); }
From source file:org.sonar.server.ws.WebServicesWs.java
void handleList(List<Controller> controllers, Request request, Response response) { boolean includeInternals = request.mandatoryParamAsBoolean("include_internals"); JsonWriter writer = response.newJsonWriter(); writer.beginObject();/*w w w . ja v a 2 s. c o m*/ writer.name("webServices").beginArray(); // sort controllers by path Ordering<Controller> ordering = Ordering.natural().onResultOf(Controller::path); for (Controller controller : ordering.sortedCopy(controllers)) { writeController(writer, controller, includeInternals); } writer.endArray(); writer.endObject(); writer.close(); }
From source file:org.sonar.server.ws.ws.ListAction.java
@Override public void handle(Request request, Response response) throws Exception { checkState(context != null && !context.controllers().isEmpty(), "Web service controllers must be loaded before calling the action"); boolean includeInternals = request.mandatoryParamAsBoolean("include_internals"); JsonWriter writer = response.newJsonWriter(); writer.beginObject();/*from ww w . jav a 2 s .co m*/ writer.name("webServices").beginArray(); // sort controllers by path Ordering<WebService.Controller> ordering = Ordering.natural().onResultOf(WebService.Controller::path); for (WebService.Controller controller : ordering.sortedCopy(context.controllers())) { writeController(writer, controller, includeInternals); } writer.endArray(); writer.endObject(); writer.close(); }
From source file:com.marvelution.hudson.plugins.apiv2.resources.model.build.Builds.java
/** * Reverse sort the builds by execution time-stamp *//*from w ww .j a v a 2 s. co m*/ public void sortBuilds() { Ordering<Build> ordering = Ordering.natural().reverse().onResultOf(new Function<Build, Date>() { @Override public Date apply(Build from) { return new Date(from.getTimestamp()); } }); items = ordering.sortedCopy(items); }
From source file:com.bigfatgun.fixjures.dao.DAOHelper.java
public final List<T> findAllOrdered(final Ordering<? super T> ordering) { return ordering.sortedCopy(findAll()); }
From source file:com.facebook.presto.operator.aggregation.state.StateCompiler.java
/** * Enumerates all the fields in this state interface. * * @param clazz a subclass of AccumulatorState * @return list of state fields. Ordering is guaranteed to be stable, and have all primitive fields at the beginning. *//*from w w w. ja va 2 s . co m*/ private static List<StateField> enumerateFields(Class<?> clazz) { ImmutableList.Builder<StateField> builder = ImmutableList.builder(); final Set<Class<?>> primitiveClasses = ImmutableSet.<Class<?>>of(byte.class, boolean.class, long.class, double.class); Set<Class<?>> supportedClasses = ImmutableSet.<Class<?>>of(byte.class, boolean.class, long.class, double.class, Slice.class, Block.class); for (Method method : clazz.getMethods()) { if (method.getName().equals("getEstimatedSize")) { continue; } if (method.getName().startsWith("get")) { Class<?> type = method.getReturnType(); checkArgument(supportedClasses.contains(type), type.getName() + " is not supported"); String name = method.getName().substring(3); builder.add(new StateField(name, type, getInitialValue(method))); } if (method.getName().startsWith("is")) { Class<?> type = method.getReturnType(); checkArgument(type == boolean.class, "Only boolean is support for 'is' methods"); String name = method.getName().substring(2); builder.add(new StateField(name, type, getInitialValue(method), method.getName())); } } // We need this ordering because the serializer and deserializer are on different machines, and so the ordering of fields must be stable Ordering<StateField> ordering = new Ordering<StateField>() { @Override public int compare(StateField left, StateField right) { if (primitiveClasses.contains(left.getType()) && !primitiveClasses.contains(right.getType())) { return -1; } if (primitiveClasses.contains(right.getType()) && !primitiveClasses.contains(left.getType())) { return 1; } // If they're the category, just sort by name return left.getName().compareTo(right.getName()); } }; List<StateField> fields = ordering.sortedCopy(builder.build()); checkInterface(clazz, fields); return fields; }
From source file:elaborate.editor.export.mvn.TranscriptionHierarchyFixer.java
private void addAnnotationMilestone(Element resultParentElement, Grouping grouping, Ordering<String> ordering, String tagName) {/*from w w w.j a va 2s .com*/ List<String> ids = ((AnnotationGrouping) grouping).getIds(); for (String id : ordering.sortedCopy(ids)) { Element element = new Element(tagName).withAttribute("id", id); resultParentElement.addNode(element); } }
From source file:io.prestosql.execution.scheduler.AllAtOnceExecutionSchedule.java
public AllAtOnceExecutionSchedule(Collection<SqlStageExecution> stages) { requireNonNull(stages, "stages is null"); List<PlanFragmentId> preferredScheduleOrder = getPreferredScheduleOrder( stages.stream().map(SqlStageExecution::getFragment).collect(toImmutableList())); Ordering<SqlStageExecution> ordering = Ordering.explicit(preferredScheduleOrder) .onResultOf(PlanFragment::getId).onResultOf(SqlStageExecution::getFragment); schedulingStages = new LinkedHashSet<>(ordering.sortedCopy(stages)); }
From source file:org.dbpedia.spotlight.disambiguate.CustomScoresDisambiguator.java
@Override public List<DBpediaResourceOccurrence> bestK(SurfaceFormOccurrence sfOccurrence, int k) throws SearchException, ItemNotFoundException { Set<DBpediaResource> candidates = surrogateSearcher.getCandidates(sfOccurrence.surfaceForm()); if (candidates.size() == 0) return new LinkedList<DBpediaResourceOccurrence>(); List<DBpediaResourceOccurrence> all = getScores(sfOccurrence, candidates); Ordering descOrder = new Ordering<DBpediaResourceOccurrence>() { public int compare(DBpediaResourceOccurrence left, DBpediaResourceOccurrence right) { return Doubles.compare(right.similarityScore(), left.similarityScore()); }/*from ww w. jav a 2 s .c om*/ }; return descOrder.sortedCopy(all).subList(0, Math.min(k, all.size())); }