Search in sources :

Example 1 with BadRequestException

use of io.jenkins.blueocean.commons.ServiceException.BadRequestException in project blueocean-plugin by jenkinsci.

the class BlueTestResultContainerImpl method filterByStatus.

@VisibleForTesting
public static Iterator<BlueTestResult> filterByStatus(Iterable<BlueTestResult> results, String status) {
    String[] statusAtoms = StringUtils.split(status, ',');
    Predicate<BlueTestResult> predicate = Predicates.alwaysFalse();
    if (statusAtoms == null || statusAtoms.length == 0) {
        throw new BadRequestException("status not provided");
    }
    for (String statusString : statusAtoms) {
        Status queryStatus;
        try {
            queryStatus = Status.valueOf(statusString.toUpperCase());
        } catch (IllegalArgumentException e) {
            throw new BadRequestException("bad status " + status, e);
        }
        predicate = Predicates.or(predicate, new StatusPredicate(queryStatus));
    }
    return Iterables.filter(results, predicate).iterator();
}
Also used : Status(io.jenkins.blueocean.rest.model.BlueTestResult.Status) BadRequestException(io.jenkins.blueocean.commons.ServiceException.BadRequestException) BlueTestResult(io.jenkins.blueocean.rest.model.BlueTestResult) VisibleForTesting(com.google.common.annotations.VisibleForTesting)

Example 2 with BadRequestException

use of io.jenkins.blueocean.commons.ServiceException.BadRequestException in project blueocean-plugin by jenkinsci.

the class BlueTestResultContainerImpl method filterByState.

// for testing purpose
public static Predicate<BlueTestResult> filterByState(String state) {
    String[] stateAtoms = StringUtils.split(state, ',');
    Predicate<BlueTestResult> predicate = blueTestResult -> false;
    if (stateAtoms == null || stateAtoms.length == 0) {
        throw new BadRequestException("state not provided");
    }
    for (String stateString : stateAtoms) {
        Predicate<BlueTestResult> statePredicate;
        try {
            if (stateString.startsWith("!")) {
                StatePredicate tmp = new StatePredicate(State.valueOf(stateString.toUpperCase().substring(1)));
                statePredicate = blueTestResult -> !tmp.test(blueTestResult);
            } else {
                statePredicate = new StatePredicate(State.valueOf(stateString.toUpperCase()));
            }
        } catch (IllegalArgumentException e) {
            throw new BadRequestException("bad state " + state, e);
        }
        predicate = predicate.or(statePredicate);
    }
    return predicate;
}
Also used : StringUtils(org.apache.commons.lang.StringUtils) Iterator(java.util.Iterator) StringUtils.isEmpty(org.apache.commons.lang.StringUtils.isEmpty) Predicate(java.util.function.Predicate) StaplerRequest(org.kohsuke.stapler.StaplerRequest) Reachable(io.jenkins.blueocean.rest.Reachable) IterableUtils(io.jenkins.blueocean.commons.IterableUtils) NotFoundException(io.jenkins.blueocean.commons.ServiceException.NotFoundException) Run(hudson.model.Run) BadRequestException(io.jenkins.blueocean.commons.ServiceException.BadRequestException) Status(io.jenkins.blueocean.rest.model.BlueTestResult.Status) BlueTestResult(io.jenkins.blueocean.rest.model.BlueTestResult) BlueTestResultFactory(io.jenkins.blueocean.rest.factory.BlueTestResultFactory) Stapler(org.kohsuke.stapler.Stapler) State(io.jenkins.blueocean.rest.model.BlueTestResult.State) BlueTestResultContainer(io.jenkins.blueocean.rest.model.BlueTestResultContainer) NonNull(edu.umd.cs.findbugs.annotations.NonNull) Nullable(edu.umd.cs.findbugs.annotations.Nullable) StreamSupport(java.util.stream.StreamSupport) Result(io.jenkins.blueocean.rest.factory.BlueTestResultFactory.Result) BadRequestException(io.jenkins.blueocean.commons.ServiceException.BadRequestException) BlueTestResult(io.jenkins.blueocean.rest.model.BlueTestResult)

Example 3 with BadRequestException

use of io.jenkins.blueocean.commons.ServiceException.BadRequestException in project blueocean-plugin by jenkinsci.

the class BlueTestResultContainerImpl method filterByState.

@VisibleForTesting
public static Iterator<BlueTestResult> filterByState(Iterable<BlueTestResult> results, String state) {
    String[] stateAtoms = StringUtils.split(state, ',');
    Predicate<BlueTestResult> predicate = Predicates.alwaysFalse();
    if (stateAtoms == null || stateAtoms.length == 0) {
        throw new BadRequestException("state not provided");
    }
    for (String stateString : stateAtoms) {
        State queryState;
        try {
            queryState = State.valueOf(stateString.toUpperCase());
        } catch (IllegalArgumentException e) {
            throw new BadRequestException("bad state " + state, e);
        }
        predicate = Predicates.or(predicate, new StatePredicate(queryState));
    }
    return Iterables.filter(results, predicate).iterator();
}
Also used : State(io.jenkins.blueocean.rest.model.BlueTestResult.State) BadRequestException(io.jenkins.blueocean.commons.ServiceException.BadRequestException) BlueTestResult(io.jenkins.blueocean.rest.model.BlueTestResult) VisibleForTesting(com.google.common.annotations.VisibleForTesting)

Example 4 with BadRequestException

use of io.jenkins.blueocean.commons.ServiceException.BadRequestException in project blueocean-plugin by jenkinsci.

the class BlueTestResultContainerImpl method filterByStatus.

// for testing purpose
public static Predicate<BlueTestResult> filterByStatus(String status) {
    String[] statusAtoms = StringUtils.split(status, ',');
    Predicate<BlueTestResult> predicate = blueTestResult -> false;
    if (statusAtoms == null || statusAtoms.length == 0) {
        throw new BadRequestException("status not provided");
    }
    for (String statusString : statusAtoms) {
        Predicate<BlueTestResult> statusPredicate;
        try {
            if (statusString.startsWith("!")) {
                StatusPredicate tmp = new StatusPredicate(Status.valueOf(statusString.toUpperCase().substring(1)));
                statusPredicate = blueTestResult -> !tmp.test(blueTestResult);
            } else {
                statusPredicate = new StatusPredicate(Status.valueOf(statusString.toUpperCase()));
            }
        } catch (IllegalArgumentException e) {
            throw new BadRequestException("bad status " + status, e);
        }
        predicate = predicate.or(statusPredicate);
    }
    return predicate;
}
Also used : StringUtils(org.apache.commons.lang.StringUtils) Iterator(java.util.Iterator) StringUtils.isEmpty(org.apache.commons.lang.StringUtils.isEmpty) Predicate(java.util.function.Predicate) StaplerRequest(org.kohsuke.stapler.StaplerRequest) Reachable(io.jenkins.blueocean.rest.Reachable) IterableUtils(io.jenkins.blueocean.commons.IterableUtils) NotFoundException(io.jenkins.blueocean.commons.ServiceException.NotFoundException) Run(hudson.model.Run) BadRequestException(io.jenkins.blueocean.commons.ServiceException.BadRequestException) Status(io.jenkins.blueocean.rest.model.BlueTestResult.Status) BlueTestResult(io.jenkins.blueocean.rest.model.BlueTestResult) BlueTestResultFactory(io.jenkins.blueocean.rest.factory.BlueTestResultFactory) Stapler(org.kohsuke.stapler.Stapler) State(io.jenkins.blueocean.rest.model.BlueTestResult.State) BlueTestResultContainer(io.jenkins.blueocean.rest.model.BlueTestResultContainer) NonNull(edu.umd.cs.findbugs.annotations.NonNull) Nullable(edu.umd.cs.findbugs.annotations.Nullable) StreamSupport(java.util.stream.StreamSupport) Result(io.jenkins.blueocean.rest.factory.BlueTestResultFactory.Result) BadRequestException(io.jenkins.blueocean.commons.ServiceException.BadRequestException) BlueTestResult(io.jenkins.blueocean.rest.model.BlueTestResult)

Aggregations

BadRequestException (io.jenkins.blueocean.commons.ServiceException.BadRequestException)4 BlueTestResult (io.jenkins.blueocean.rest.model.BlueTestResult)4 State (io.jenkins.blueocean.rest.model.BlueTestResult.State)3 Status (io.jenkins.blueocean.rest.model.BlueTestResult.Status)3 VisibleForTesting (com.google.common.annotations.VisibleForTesting)2 NonNull (edu.umd.cs.findbugs.annotations.NonNull)2 Nullable (edu.umd.cs.findbugs.annotations.Nullable)2 Run (hudson.model.Run)2 IterableUtils (io.jenkins.blueocean.commons.IterableUtils)2 NotFoundException (io.jenkins.blueocean.commons.ServiceException.NotFoundException)2 Reachable (io.jenkins.blueocean.rest.Reachable)2 BlueTestResultFactory (io.jenkins.blueocean.rest.factory.BlueTestResultFactory)2 Result (io.jenkins.blueocean.rest.factory.BlueTestResultFactory.Result)2 BlueTestResultContainer (io.jenkins.blueocean.rest.model.BlueTestResultContainer)2 Iterator (java.util.Iterator)2 Predicate (java.util.function.Predicate)2 StreamSupport (java.util.stream.StreamSupport)2 StringUtils (org.apache.commons.lang.StringUtils)2 StringUtils.isEmpty (org.apache.commons.lang.StringUtils.isEmpty)2 Stapler (org.kohsuke.stapler.Stapler)2