Example usage for com.google.common.collect Iterables tryFind

List of usage examples for com.google.common.collect Iterables tryFind

Introduction

In this page you can find the example usage for com.google.common.collect Iterables tryFind.

Prototype

public static <T> Optional<T> tryFind(Iterable<T> iterable, Predicate<? super T> predicate) 

Source Link

Document

Returns an Optional containing the first element in iterable that satisfies the given predicate, if such an element exists.

Usage

From source file:com.eucalyptus.auth.ws.EuareRequestLoggingFilter.java

private Collection<String> filterParameter(final Collection<String> parametersOrBody, final String parameter,
        final String redacted) {
    final Optional<String> parameterAndValue = Iterables.tryFind(parametersOrBody,
            Strings.startsWith(parameter));
    if (parameterAndValue.isPresent()) {
        final ArrayList<String> parametersCopy = Lists.newArrayList(parametersOrBody);
        parametersCopy.set(parametersCopy.indexOf(parameterAndValue.get()), redacted);
        return parametersCopy;
    }//from w w w .ja  v  a  2 s  .  co  m
    return parametersOrBody;
}

From source file:org.incode.module.commchannel.dom.impl.postaladdress.PostalAddressRepository.java

@Programmatic
public PostalAddress findByAddress(final Object owner, final String placeId) {

    final List<CommunicationChannelOwnerLink> links = linkRepository
            .findByOwnerAndCommunicationChannelType(owner, CommunicationChannelType.POSTAL_ADDRESS);
    final Iterable<PostalAddress> postalAddresses = Iterables.transform(links,
            CommunicationChannelOwnerLink.Functions.communicationChannel(PostalAddress.class));
    final Optional<PostalAddress> postalAddressIfFound = Iterables.tryFind(postalAddresses,
            input -> Objects.equals(placeId, input.getPlaceId()));
    return postalAddressIfFound.orNull();
}

From source file:brooklyn.networking.portforwarding.DockerPortForwarder.java

public void init(Iterable<? extends Location> locations) {
    Optional<? extends Location> jcloudsLoc = Iterables.tryFind(locations,
            Predicates.instanceOf(JcloudsLocation.class));
    String provider = (jcloudsLoc.isPresent()) ? ((JcloudsLocation) jcloudsLoc.get()).getProvider() : null;
    String endpoint = (jcloudsLoc.isPresent()) ? ((JcloudsLocation) jcloudsLoc.get()).getEndpoint() : null;
    String identity = (jcloudsLoc.isPresent()) ? ((JcloudsLocation) jcloudsLoc.get()).getIdentity() : null;
    String credential = (jcloudsLoc.isPresent()) ? ((JcloudsLocation) jcloudsLoc.get()).getCredential() : null;
    if (jcloudsLoc.isPresent() && "docker".equals(provider)) {
        init(URI.create(endpoint), identity, credential);
    } else {/* w  w w. j  a v  a2 s  . co  m*/
        throw new IllegalStateException("Cannot infer docker host URI from locations: " + locations);
    }
}

From source file:com.thinkbiganalytics.policy.rest.model.BaseUiPolicyRule.java

@JsonIgnore
public FieldRuleProperty getProperty(final String name) {

    return Iterables.tryFind(getProperties(), new Predicate<FieldRuleProperty>() {
        @Override//w ww. j  a va  2 s  . c o  m
        public boolean apply(FieldRuleProperty fieldRuleProperty) {
            return fieldRuleProperty.getName().equalsIgnoreCase(name);
        }
    }).orNull();
}

From source file:org.ow2.petals.cloud.manager.commands.iaas.CreateVMCommand.java

private Provider getProvider(final String account) throws CloudManagerException {
    return Iterables.tryFind(providerRegistryService.get(), new Predicate<Provider>() {
        public boolean apply(org.ow2.petals.cloud.manager.api.deployment.Provider input) {
            return input.getName().equals(account);
        }/*from   w w  w .  j a  v  a2 s  .  c o  m*/
    }).orNull();
}

From source file:clocker.docker.networking.entity.sdn.util.SdnUtils.java

public static final VirtualNetwork lookupNetwork(final SdnProvider provider, final String networkId) {
    Task<Boolean> lookup = TaskBuilder.<Boolean>builder()
            .displayName("Waiting until virtual network is available").body(new Callable<Boolean>() {
                @Override/* w  w w .  j a v  a  2  s  .  com*/
                public Boolean call() throws Exception {
                    return Repeater.create().every(Duration.TEN_SECONDS).until(new Callable<Boolean>() {
                        public Boolean call() {
                            Optional<Entity> found = Iterables.tryFind(
                                    provider.sensors().get(SdnProvider.SDN_NETWORKS).getMembers(),
                                    EntityPredicates.attributeEqualTo(VirtualNetwork.NETWORK_ID, networkId));
                            return found.isPresent();
                        }
                    }).limitTimeTo(Duration.ONE_MINUTE).run();
                }
            }).build();
    Boolean result = DynamicTasks.queueIfPossible(lookup).orSubmitAndBlock().andWaitForSuccess();
    if (!result) {
        throw new IllegalStateException(String.format("Cannot find virtual network entity for %s", networkId));
    }
    VirtualNetwork network = (VirtualNetwork) Iterables.find(
            provider.sensors().get(SdnProvider.SDN_NETWORKS).getMembers(),
            EntityPredicates.attributeEqualTo(VirtualNetwork.NETWORK_ID, networkId));
    return network;
}

From source file:springfox.documentation.spi.service.contexts.OperationContext.java

public Optional<SecurityContext> securityContext() {
    return Iterables.tryFind(getDocumentationContext().getSecurityContexts(), pathMatches());
}

From source file:clocker.docker.networking.entity.VirtualNetworkImpl.java

public NetworkProvisioningExtension findNetworkProvisioner(Collection<? extends Location> locations) {
    Optional<? extends Location> found = Iterables.tryFind(locations, new Predicate<Location>() {
        @Override/*w ww.j  a va  2s.c o m*/
        public boolean apply(Location input) {
            return input.hasExtension(NetworkProvisioningExtension.class);
        }
    });
    if (!found.isPresent()) {
        throw new IllegalStateException(
                "Cannot start a virtual network in any location: " + Iterables.toString(getLocations()));
    }
    NetworkProvisioningExtension provisioner = found.get().getExtension(NetworkProvisioningExtension.class);
    return provisioner;
}

From source file:org.incode.module.commchannel.dom.impl.phoneorfax.PhoneOrFaxNumberRepository.java

private Optional<PhoneOrFaxNumber> findByPhoneOrFaxNumber(final Object owner, final String phoneNumber,
        final CommunicationChannelType communicationChannelType) {
    final List<CommunicationChannelOwnerLink> links = linkRepository
            .findByOwnerAndCommunicationChannelType(owner, communicationChannelType);
    final Iterable<PhoneOrFaxNumber> phoneOrFaxNumbers = Iterables.transform(links,
            CommunicationChannelOwnerLink.Functions.communicationChannel(PhoneOrFaxNumber.class));
    return Iterables.tryFind(phoneOrFaxNumbers,
            PhoneOrFaxNumber.Predicates.equalTo(phoneNumber, communicationChannelType));
}

From source file:brooklyn.entity.waratek.cloudvm.WaratekApplicationGroupImpl.java

public void update() {
    synchronized (layout) {
        layout.clear();/* w  w  w . j  ava 2  s .  co m*/
        if (getMembers().isEmpty())
            return;
        for (Entity member : getMembers()) {
            if (application.compareAndSet(null, member.getApplication())) {
                setAttribute(WARATEK_APPLICATION, application.get());
            }
            Optional<Location> found = Iterables.tryFind(member.getLocations(),
                    Predicates.instanceOf(WaratekContainerLocation.class));
            if (found.isPresent()) {
                WaratekContainerLocation container = (WaratekContainerLocation) found.get();
                JavaVirtualContainer jvc = container.getOwner();
                JavaVirtualMachine jvm = container.getJavaVirtualMachine();
                layout.put(jvm, jvc);
            }
        }
    }
}