Example usage for com.google.common.base Predicates equalTo

List of usage examples for com.google.common.base Predicates equalTo

Introduction

In this page you can find the example usage for com.google.common.base Predicates equalTo.

Prototype

public static <T> Predicate<T> equalTo(@Nullable T target) 

Source Link

Document

Returns a predicate that evaluates to true if the object being tested equals() the given target or both are null.

Usage

From source file:com.eucalyptus.compute.common.internal.network.ExtantNetwork.java

void remove(final PrivateNetworkIndex index) {
    // Removal works around hibernate issue
    // https://hibernate.atlassian.net/browse/HHH-3799
    int sizeBefore = indexes.size();
    if (Iterables.removeIf(indexes, Predicates.equalTo(index)) && sizeBefore == indexes.size()) {
        List<PrivateNetworkIndex> temp = Lists.newArrayList(indexes);
        indexes.clear();/*from  ww w . j a  v  a  2  s  .c  om*/
        indexes.addAll(temp);
        indexes.remove(index);
    }
}

From source file:additionalpipes.client.gui.GuiTeleportPipe.java

private void updateSlotStrings() {
    showingFreqs = Ints.toArray(Collections2.filter(Ints.asList(clientProps.propFreqMapFreqs.value),
            Predicates.not(Predicates.equalTo(currentFreq))));
    slotFreqNames.setStrings(ImmutableList.copyOf(
            Iterables.filter(Arrays.asList(currentNames), Predicates.not(Predicates.equalTo(currentName)))));
}

From source file:com.github.rinde.opt.localsearch.Swaps.java

static <C, T> Iterator<Swap<T>> oneItemSwapIterator(Schedule<C, T> schedule, IntList startIndices, T item,
        int fromRow) {
    final IntList indices = indices(schedule.routes.get(fromRow), item);
    final ImmutableList.Builder<Iterator<Swap<T>>> iteratorBuilder = ImmutableList.builder();

    Range<Integer> range;//from  w w w  .  ja  v a2s . c o m
    if (indices.size() == 1) {
        range = Range.closedOpen(fromRow, fromRow + 1);
    } else {
        range = Range.closedOpen(0, schedule.routes.size());
    }

    for (int i = range.lowerEndpoint(); i < range.upperEndpoint(); i++) {
        int rowSize = schedule.routes.get(i).size();
        if (fromRow == i) {
            rowSize -= indices.size();
        }
        Iterator<IntList> it = new InsertionIndexGenerator(indices.size(), rowSize, startIndices.getInt(i));
        // filter out swaps that have existing result
        if (fromRow == i) {
            it = Iterators.filter(it, Predicates.not(Predicates.equalTo(indices)));
        }
        iteratorBuilder.add(Iterators.transform(it, new IndexToSwapTransform<T>(item, fromRow, i)));
    }
    return Iterators.concat(iteratorBuilder.build().iterator());
}

From source file:org.apache.brooklyn.rest.filter.CsrfTokenFilter.java

@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
    // if header supplied, check it is valid
    String requiredWhenS = request.getHeader(CSRF_TOKEN_REQUIRED_HEADER);
    if (Strings.isNonBlank(requiredWhenS) && getRequiredForRequests(requiredWhenS, null) == null) {
        fail(requestContext,/*  ww  w  .ja  v a2s.  c o  m*/
                ApiError.builder().errorCode(Response.Status.BAD_REQUEST)
                        .message(HEADER_OF_COOKIE(CSRF_TOKEN_REQUIRED_HEADER)
                                + " header if supplied must be one of "
                                + Arrays.asList(CsrfTokenRequiredForRequests.values()))
                        .build());
        return;
    }

    if (!request.isRequestedSessionIdValid()) {
        // no session; just return
        return;
    }

    @SuppressWarnings("unchecked")
    List<String> suppliedTokensDefault = EnumerationUtils.toList(request.getHeaders(CSRF_TOKEN_VALUE_HEADER));
    @SuppressWarnings("unchecked")
    List<String> suppliedTokensAngular = EnumerationUtils
            .toList(request.getHeaders(CSRF_TOKEN_VALUE_HEADER_ANGULAR_NAME));
    List<String> suppliedTokens = Lists.newArrayList(suppliedTokensDefault);
    suppliedTokens.addAll(suppliedTokensAngular);

    Object requiredToken = request.getSession().getAttribute(CSRF_TOKEN_VALUE_ATTR);
    CsrfTokenRequiredForRequests whenRequired = (CsrfTokenRequiredForRequests) request.getSession()
            .getAttribute(CSRF_TOKEN_REQUIRED_ATTR);

    boolean isRequired;

    if (whenRequired == null) {
        if (suppliedTokens.isEmpty()) {
            log.warn(
                    "No CSRF token expected or supplied but a cookie-session is active: client should be updated"
                            + " (in future CSRF tokens or instructions may be required for session-based clients)"
                            + " - " + Entitlements.getEntitlementContext());
            whenRequired = CsrfTokenRequiredForRequests.NONE;
        } else {
            // default
            whenRequired = DEFAULT_REQUIRED_FOR_REQUESTS;
        }
        // remember it to suppress warnings subsequently
        request.getSession().setAttribute(CSRF_TOKEN_REQUIRED_ATTR, whenRequired);
    }

    switch (whenRequired) {
    case NONE:
        isRequired = false;
        break;
    case WRITE:
        isRequired = !org.eclipse.jetty.http.HttpMethod.GET.toString().equals(requestContext.getMethod());
        break;
    case ALL:
        isRequired = true;
        break;
    default:
        log.warn("Unexpected " + CSRF_TOKEN_REQUIRED_ATTR + " value " + whenRequired);
        isRequired = true;
    }

    if (Iterables.any(suppliedTokens, Predicates.equalTo(requiredToken))) {
        // matching token supplied, or not being used 
        return;
    }

    if (!isRequired) {
        // csrf not required, but it doesn't match
        if (requiredToken != null) {
            log.trace(
                    "CSRF optional token mismatch: client did not send valid token, but it isn't required so proceeding");
        }
        return;
    }

    if (suppliedTokens.isEmpty()) {
        fail(requestContext, ApiError.builder().errorCode(Response.Status.UNAUTHORIZED)
                .message(HEADER_OF_COOKIE(CSRF_TOKEN_VALUE_COOKIE)
                        + " header is required, containing token previously returned from server in cookie")
                .build());
    } else {
        fail(requestContext,
                ApiError.builder().errorCode(Response.Status.UNAUTHORIZED).message(
                        HEADER_OF_COOKIE(CSRF_TOKEN_VALUE_COOKIE) + " header did not match expected CSRF token")
                        .build());
    }
}

From source file:org.apache.brooklyn.entity.brooklynnode.effector.BrooklynNodeUpgradeEffectorBody.java

private String dryRunUpdate(ConfigBag parameters) {
    // TODO require entity() node state master or hot standby AND require persistence enabled, or a new 'force_attempt_upgrade' parameter to be applied
    // TODO could have a 'skip_dry_run_upgrade' parameter
    // TODO could support 'dry_run_only' parameter, with optional resumption tasks (eg new dynamic effector)

    // 1 add new brooklyn version entity as child (so uses same machine), with same config apart from things in parameters
    final Entity dryRunChild = entity().addChild(createDryRunSpec().displayName("Upgraded Version Dry-Run Node")
            // install dir and label are recomputed because they are not inherited, and download_url will normally be different
            .configure(parameters.getAllConfig()));

    //force this to start as hot-standby
    // TODO alternatively could use REST API as in BrooklynClusterUpgradeEffectorBody
    // TODO Want better way to append to the config (so can do it all in the spec)
    String launchParameters = dryRunChild.getConfig(BrooklynNode.EXTRA_LAUNCH_PARAMETERS);
    if (Strings.isBlank(launchParameters))
        launchParameters = "";
    else/*  w  w w.jav  a 2s  .  c  o m*/
        launchParameters += " ";
    launchParameters += "--highAvailability " + HighAvailabilityMode.HOT_STANDBY;
    ((EntityInternal) dryRunChild).config().set(BrooklynNode.EXTRA_LAUNCH_PARAMETERS, launchParameters);

    final String dryRunNodeUid = dryRunChild.getId();
    ((EntityInternal) dryRunChild).setDisplayName("Dry-Run Upgraded Brooklyn Node (" + dryRunNodeUid + ")");

    DynamicTasks.queue(Effectors.invocation(dryRunChild, BrooklynNode.START, ConfigBag.EMPTY));

    // 2 confirm hot standby status
    DynamicTasks.queue(EntityTasks.requiringAttributeEventually(dryRunChild, BrooklynNode.MANAGEMENT_NODE_STATE,
            Predicates.equalTo(ManagementNodeState.HOT_STANDBY), Duration.FIVE_MINUTES));

    // 3 stop new version
    DynamicTasks
            .queue(Tasks.builder().displayName("shutdown transient node")
                    .add(Effectors.invocation(dryRunChild, BrooklynNode.STOP_NODE_BUT_LEAVE_APPS,
                            ImmutableMap.of(StopSoftwareParameters.STOP_MACHINE_MODE, StopMode.NEVER)))
                    .build());

    DynamicTasks.queue(Tasks.<Void>builder().displayName("remove transient node").body(new Runnable() {
        @Override
        public void run() {
            Entities.unmanage(dryRunChild);
        }
    }).build());

    return dryRunChild.getId();
}

From source file:org.xwiki.extension.repository.internal.core.DefaultCoreExtensionScanner.java

private void loadExtensionsFromClassloaders(Map<String, DefaultCoreExtension> extensions,
        DefaultCoreExtensionRepository repository) {
    Collection<URL> mavenURLs = ClasspathHelper.forPackage(MavenUtils.MAVENPACKAGE);

    ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
    configurationBuilder.setScanners(new ResourcesScanner());
    configurationBuilder.setUrls(mavenURLs);
    configurationBuilder/*from www. ja  v  a 2  s .co  m*/
            .filterInputsBy(new FilterBuilder.Include(FilterBuilder.prefix(MavenUtils.MAVENPACKAGE)));

    Reflections reflections = new Reflections(configurationBuilder);

    Set<String> descriptors = reflections.getResources(Predicates.equalTo("pom.xml"));

    for (String descriptor : descriptors) {
        URL descriptorURL = getClass().getClassLoader().getResource(descriptor);

        if (descriptorURL != null) {
            try {
                DefaultCoreExtension coreExtension = getCoreExension(descriptorURL, repository);

                DefaultCoreExtension existingCoreExtension = extensions.get(coreExtension.getId().getId());

                if (existingCoreExtension == null) {
                    extensions.put(coreExtension.getId().getId(), coreExtension);
                } else {
                    this.logger.warn("Collision between core extension [{} ({})] and [{} ({})]",
                            coreExtension.getId(), coreExtension.getDescriptorURL(),
                            existingCoreExtension.getId(), existingCoreExtension.getDescriptorURL());

                    if (coreExtension.getId().getVersion()
                            .compareTo(existingCoreExtension.getId().getVersion()) > 0) {
                        extensions.put(coreExtension.getId().getId(), coreExtension);

                        this.logger.warn("[{} ({})] is selected", coreExtension.getId(),
                                coreExtension.getDescriptorURL());
                    } else {
                        this.logger.warn("[{} ({})] is selected", existingCoreExtension.getId(),
                                existingCoreExtension.getDescriptorURL());
                    }
                }
            } catch (Exception e) {
                this.logger.warn("Failed to parse extension descriptor [{}] ([{}])", descriptorURL, descriptor,
                        e);
            }
        } else {
            this.logger.error("Could not find resource URL for descriptor [{}]", descriptor);
        }
    }

    // Try to find more

    guess(extensions, repository);
}

From source file:org.eclipse.rcptt.launching.ext.Q7LaunchDelegateUtils.java

/** Adds a key value pair, if this key is not already present */
private static void addIfAbsent(Collection<String> arguments, String key, String value) {
    Preconditions.checkNotNull(key);/*from w w  w  .  j ava 2 s .  c o m*/
    if (!Iterables.any(arguments, Predicates.equalTo(key))) {
        arguments.add(key);
        if (value != null)
            arguments.add(value);
    }
}

From source file:dodola.anole.lib.FileUtils.java

/**
 * Find a file with the specified name in a given directory .
 *//*from   ww w .  java 2  s  . c  o m*/
public static Optional<File> find(File base, final String name) {
    checkArgument(base.isDirectory(), "'base' must be a directory.");
    return Files.fileTreeTraverser().preOrderTraversal(base)
            .filter(Predicates.compose(Predicates.equalTo(name), GET_NAME)).last();
}

From source file:clocker.docker.location.DockerContainerLocation.java

private void parseDockerCallback(String commandString) {
    List<String> tokens = DockerCallbacks.PARSER.splitToList(commandString);
    int callback = Iterables.indexOf(tokens, Predicates.equalTo(DockerCallbacks.DOCKER_HOST_CALLBACK));
    if (callback == -1) {
        LOG.warn("Could not find callback token: {}", commandString);
        throw new IllegalStateException("Cannot find callback token in command line");
    }// www. j a  v  a2 s  .  com
    String command = tokens.get(callback + 1);
    LOG.info("Executing callback for {}: {}", getOwner(), command);
    if (DockerCallbacks.COMMIT.equalsIgnoreCase(command)) {
        String containerId = getOwner().getContainerId();
        String imageName = getOwner().sensors().get(DockerContainer.DOCKER_IMAGE_NAME);
        String output = getOwner().getDockerHost()
                .runDockerCommandTimeout(format("commit %s %s", containerId, imageName), Duration.minutes(20));
        String imageId = DockerUtils.checkId(output);
        getOwner().getRunningEntity().sensors().set(DockerContainer.DOCKER_IMAGE_ID, imageId);
        getOwner().sensors().set(DockerContainer.DOCKER_IMAGE_ID, imageId);
        getOwner().getDockerHost().getDynamicLocation().markImage(imageName);
    } else if (DockerCallbacks.PUSH.equalsIgnoreCase(command)) {
        // FIXME this doesn't work yet
        String imageName = getOwner().sensors().get(DockerContainer.DOCKER_IMAGE_NAME);
        getOwner().getDockerHost().runDockerCommand(format("push %s", imageName));
    } else {
        LOG.warn("Unknown Docker host command: {}", command);
    }
}

From source file:com.android.utils.FileUtils.java

/**
 * Find a file with the specified name in a given directory .
 *///from   w ww .  j  a v a  2s.  com
public static Optional<File> find(@NonNull File base, @NonNull final String name) {
    checkArgument(base.isDirectory(), "'base' must be a directory.");
    return Files.fileTreeTraverser().preOrderTraversal(base)
            .filter(Predicates.compose(Predicates.equalTo(name), GET_NAME)).last();
}