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

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

Introduction

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

Prototype

public <E extends T> List<E> sortedCopy(Iterable<E> elements) 

Source Link

Document

Returns a mutable list containing elements sorted by this ordering; use this only when the resulting list may need further modification, or may contain null .

Usage

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()));
}