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

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

Introduction

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

Prototype

public static <T> Predicate<T> or(Predicate<? super T>... components) 

Source Link

Document

Returns a predicate that evaluates to true if any one of its components evaluates to true .

Usage

From source file:com.cimr.boot.swagger.SwaggerAutoConfiguration.java

@Bean
@ConditionalOnMissingBean//w ww  . j a  v  a  2  s.  c  o m
@ConditionalOnBean(UiConfiguration.class)
@ConditionalOnProperty(name = "swagger.enabled", matchIfMissing = true)
public List<Docket> createRestApi(SwaggerProperties swaggerProperties) {
    ConfigurableBeanFactory configurableBeanFactory = (ConfigurableBeanFactory) beanFactory;
    List<Docket> docketList = new LinkedList<>();

    // 
    if (swaggerProperties.getDocket().size() == 0) {
        ApiInfo apiInfo = new ApiInfoBuilder().title(swaggerProperties.getTitle())
                .description(swaggerProperties.getDescription()).version(swaggerProperties.getVersion())
                .license(swaggerProperties.getLicense()).licenseUrl(swaggerProperties.getLicenseUrl())
                .contact(new Contact(swaggerProperties.getContact().getName(),
                        swaggerProperties.getContact().getUrl(), swaggerProperties.getContact().getEmail()))
                .termsOfServiceUrl(swaggerProperties.getTermsOfServiceUrl()).build();

        // base-path?
        // ?path?/**
        if (swaggerProperties.getBasePath().isEmpty()) {
            swaggerProperties.getBasePath().add("/**");
        }
        List<Predicate<String>> basePath = new ArrayList();
        for (String path : swaggerProperties.getBasePath()) {
            basePath.add(PathSelectors.ant(path));
        }

        // exclude-path?
        List<Predicate<String>> excludePath = new ArrayList();
        for (String path : swaggerProperties.getExcludePath()) {
            excludePath.add(PathSelectors.ant(path));
        }

        Docket docketForBuilder = new Docket(DocumentationType.SWAGGER_2).host(swaggerProperties.getHost())
                .apiInfo(apiInfo)
                .securitySchemes(buildSecuritySchemeFromSwaggerProperties(
                        swaggerProperties.getSecuritySchemesParameters()))
                .globalOperationParameters(buildGlobalOperationParametersFromSwaggerProperties(
                        swaggerProperties.getGlobalOperationParameters()));

        // ??
        if (!swaggerProperties.getApplyDefaultResponseMessages()) {
            buildGlobalResponseMessage(swaggerProperties, docketForBuilder);
        }

        Docket docket = docketForBuilder.select()
                .apis(RequestHandlerSelectors.basePackage(swaggerProperties.getBasePackage()))
                .paths(Predicates.and(Predicates.not(Predicates.or(excludePath)), Predicates.or(basePath)))
                .build();

        /** ignoredParameterTypes **/
        Class[] array = new Class[swaggerProperties.getIgnoredParameterTypes().size()];
        Class[] ignoredParameterTypes = swaggerProperties.getIgnoredParameterTypes().toArray(array);
        docket.ignoredParameterTypes(ignoredParameterTypes);

        configurableBeanFactory.registerSingleton("defaultDocket", docket);
        docketList.add(docket);
        return docketList;
    }

    // 
    for (String groupName : swaggerProperties.getDocket().keySet()) {
        SwaggerProperties.DocketInfo docketInfo = swaggerProperties.getDocket().get(groupName);

        ApiInfo apiInfo = new ApiInfoBuilder()
                .title(docketInfo.getTitle().isEmpty() ? swaggerProperties.getTitle() : docketInfo.getTitle())
                .description(docketInfo.getDescription().isEmpty() ? swaggerProperties.getDescription()
                        : docketInfo.getDescription())
                .version(docketInfo.getVersion().isEmpty() ? swaggerProperties.getVersion()
                        : docketInfo.getVersion())
                .license(docketInfo.getLicense().isEmpty() ? swaggerProperties.getLicense()
                        : docketInfo.getLicense())
                .licenseUrl(docketInfo.getLicenseUrl().isEmpty() ? swaggerProperties.getLicenseUrl()
                        : docketInfo.getLicenseUrl())
                .contact(new Contact(
                        docketInfo.getContact().getName().isEmpty() ? swaggerProperties.getContact().getName()
                                : docketInfo.getContact().getName(),
                        docketInfo.getContact().getUrl().isEmpty() ? swaggerProperties.getContact().getUrl()
                                : docketInfo.getContact().getUrl(),
                        docketInfo.getContact().getEmail().isEmpty() ? swaggerProperties.getContact().getEmail()
                                : docketInfo.getContact().getEmail()))
                .termsOfServiceUrl(
                        docketInfo.getTermsOfServiceUrl().isEmpty() ? swaggerProperties.getTermsOfServiceUrl()
                                : docketInfo.getTermsOfServiceUrl())
                .build();

        // base-path?
        // ?path?/**
        if (docketInfo.getBasePath().isEmpty()) {
            docketInfo.getBasePath().add("/**");
        }
        List<Predicate<String>> basePath = new ArrayList();
        for (String path : docketInfo.getBasePath()) {
            basePath.add(PathSelectors.ant(path));
        }

        // exclude-path?
        List<Predicate<String>> excludePath = new ArrayList();
        for (String path : docketInfo.getExcludePath()) {
            excludePath.add(PathSelectors.ant(path));
        }

        Docket docketForBuilder = new Docket(DocumentationType.SWAGGER_2).host(swaggerProperties.getHost())
                .apiInfo(apiInfo).globalOperationParameters(
                        assemblyGlobalOperationParameters(swaggerProperties.getGlobalOperationParameters(),
                                docketInfo.getGlobalOperationParameters()));

        // ??
        if (!swaggerProperties.getApplyDefaultResponseMessages()) {
            buildGlobalResponseMessage(swaggerProperties, docketForBuilder);
        }

        Docket docket = docketForBuilder.groupName(groupName).select()
                .apis(RequestHandlerSelectors.basePackage(docketInfo.getBasePackage()))
                .paths(Predicates.and(Predicates.not(Predicates.or(excludePath)), Predicates.or(basePath)))
                .build();

        /** ignoredParameterTypes **/
        Class[] array = new Class[docketInfo.getIgnoredParameterTypes().size()];
        Class[] ignoredParameterTypes = docketInfo.getIgnoredParameterTypes().toArray(array);
        docket.ignoredParameterTypes(ignoredParameterTypes);

        configurableBeanFactory.registerSingleton(groupName, docket);
        docketList.add(docket);
    }
    return docketList;
}

From source file:clocker.mesos.entity.MesosClusterImpl.java

@Override
public void init() {
    LOG.info("Starting Mesos cluster id {}", getId());
    registerLocationResolver();/*w  ww  .j  a  v a 2  s.  co  m*/
    super.init();

    Group slaves = addChild(EntitySpec.create(BasicGroup.class).displayName("Mesos Slaves"));

    Group frameworks = addChild(EntitySpec.create(BasicGroup.class).displayName("Mesos Frameworks"));

    DynamicGroup tasks = addChild(EntitySpec.create(DynamicGroup.class)
            .configure(DynamicGroup.ENTITY_FILTER,
                    Predicates.and(Predicates.instanceOf(MesosTask.class),
                            EntityPredicates.attributeEqualTo(MesosAttributes.MESOS_CLUSTER, this)))
            .displayName("Mesos Tasks"));

    DynamicMultiGroup applications = addChild(EntitySpec.create(DynamicMultiGroup.class)
            .configure(DynamicMultiGroup.ENTITY_FILTER,
                    Predicates.and(MesosUtils.sameCluster(this),
                            Predicates.not(EntityPredicates.applicationIdEqualTo(getApplicationId()))))
            .configure(DynamicMultiGroup.RESCAN_INTERVAL, 15L)
            .configure(DynamicMultiGroup.BUCKET_FUNCTION, new Function<Entity, String>() {
                @Override
                public String apply(@Nullable Entity input) {
                    return input.getApplication().getDisplayName() + ":" + input.getApplicationId();
                }
            }).configure(DynamicMultiGroup.BUCKET_SPEC, EntitySpec.create(BasicGroup.class))
            .displayName("Mesos Applications"));

    if (config().get(SDN_ENABLE) && config().get(SDN_PROVIDER_SPEC) != null) {
        EntitySpec entitySpec = EntitySpec.create(config().get(SDN_PROVIDER_SPEC));
        entitySpec.configure(MesosAttributes.MESOS_CLUSTER, this);
        Entity sdn = addChild(entitySpec);
        sensors().set(SDN_PROVIDER, sdn);
    }

    sensors().set(MESOS_SLAVES, slaves);
    sensors().set(MESOS_FRAMEWORKS, frameworks);
    sensors().set(MESOS_TASKS, tasks);
    sensors().set(MESOS_APPLICATIONS, applications);

    // Override the health-check: just interested in the slaves, frameworks and sdn (rather than 
    // the groups that show the tasks or apps).
    Entity sdn = sensors().get(SDN_PROVIDER);
    enrichers().add(EnricherSpec.create(ComputeServiceIndicatorsFromChildrenAndMembers.class)
            .uniqueTag(ComputeServiceIndicatorsFromChildrenAndMembers.DEFAULT_UNIQUE_TAG)
            .configure(ComputeServiceIndicatorsFromChildrenAndMembers.FROM_CHILDREN, true)
            .configure(ComputeServiceIndicatorsFromChildrenAndMembers.ENTITY_FILTER,
                    Predicates.or(ImmutableList.of(Predicates.<Entity>equalTo(slaves),
                            Predicates.<Entity>equalTo(frameworks),
                            (sdn == null ? Predicates.<Entity>alwaysFalse() : Predicates.equalTo(sdn))))));
}

From source file:alien4cloud.webconfiguration.RestDocumentationConfig.java

private Predicate<String> otherApiPredicate() {

    Predicate<String> notAlreadyTreated = Predicates.not(Predicates.or(predicates));
    Predicate<String> isCurrentVersionApi = PathSelectors
            .regex("/rest/" + PREFIXED_CURRENT_API_VERSION + "/.*");

    return Predicates.and(notAlreadyTreated, isCurrentVersionApi);
}

From source file:org.sonatype.nexus.plugins.capabilities.internal.rest.StoresResource.java

private Predicate<Repository> hasAnyOfFacets(@Nullable final List<String> facets) {
    if (facets != null && !facets.isEmpty()) {
        List<Predicate<Repository>> predicates = Lists.newArrayList();
        for (String facet : facets) {
            if (StringUtils.isNotEmpty(facet) && !facet.startsWith("!")) {
                try {
                    final Class<?> facetClass = getClass().getClassLoader().loadClass(facet);
                    predicates.add(new Predicate<Repository>() {
                        @Override
                        public boolean apply(@Nullable final Repository input) {
                            return input != null && input.getRepositoryKind().isFacetAvailable(facetClass);
                        }/*from  w w  w .j a  v a2  s.  c o m*/
                    });
                } catch (ClassNotFoundException e) {
                    log.warn("Repositories will not be filtered by facet {} as it could not be loaded", facet);
                }
            }
        }
        if (!predicates.isEmpty()) {
            if (predicates.size() == 1) {
                return predicates.get(0);
            }
            return Predicates.or(predicates);
        }
    }
    return null;
}

From source file:org.appverse.web.framework.backend.frontfacade.mvc.swagger.autoconfigure.SwaggerDefaultSetup.java

@SuppressWarnings("unchecked")
private Predicate<String> defaultGroup() {
    String[] includePatterns = getIncludePatterns();
    List<Predicate<String>> predicateList = new ArrayList<Predicate<String>>();
    if (includePatterns != null) {
        for (String pattern : includePatterns) {
            predicateList.add(PathSelectors.regex(pattern));
        }//from  w  w w  .  j a va  2  s  .  c  o  m
        return Predicates.or(predicateList);
    } else {
        return Predicates.or(PathSelectors.regex("/*"));
    }
}

From source file:com.eucalyptus.cloud.ws.DNSControl.java

private static <T extends Thread> void initializeListeners(final AtomicReference<Collection<T>> listenerRef,
        final String description, final ListenerBuilder<T> builder) {
    try (final LockResource lock = LockResource.lock(listenerLock)) {
        if (listenerRef.get().isEmpty()) {
            final int listenPort = DNSProperties.PORT;
            final Set<InetAddress> listenAddresses = Sets.newLinkedHashSet();
            listenAddresses.add(Internets.localHostInetAddress());
            Iterables.addAll(listenAddresses,
                    Iterables.filter(Internets.getAllInetAddresses(), Predicates.or(addressMatchers.get())));
            LOG.info("Starting DNS " + description + " listeners on " + listenAddresses + ":" + listenPort);

            // Configured listeners
            final List<T> listeners = Lists.newArrayList();
            for (final InetAddress listenAddress : listenAddresses) {
                try {
                    final T listener = Capabilities.runWithCapabilities(new Callable<T>() {
                        @Override
                        public T call() throws Exception {
                            final T listener = builder.build(listenAddress, listenPort);
                            listener.start();
                            return listener;
                        }// w w w.  j  ava2 s  .c  o m
                    });
                    listeners.add(listener);
                } catch (final Exception ex) {
                    LOG.error("Error starting DNS " + description + " listener on " + listenAddress + ":"
                            + listenPort, ex);
                }
            }
            listenerRef.set(ImmutableList.copyOf(listeners));
        }
    }
}

From source file:org.apache.brooklyn.core.objs.ConstraintSerialization.java

@SuppressWarnings({ "unchecked", "rawtypes" })
private void init() {
    PredicateSerializationRuleAdder.predicateListConstructor((o) -> ConfigConstraints.required())
            .equivalentPredicates(StringPredicates.isNonBlank()).add(this);

    PredicateSerializationRuleAdder.predicateListConstructor((o) -> Predicates.or((Iterable) o))
            .preferredName("any").equivalentNames("or").add(this);
    PredicateSerializationRuleAdder//from   w  w  w .j  a  va  2 s  .  c  o  m
            .predicateListConstructor(
                    (o) -> /* and predicate is default when given list */ toPredicateFromJson(o))
            .preferredName("all").sample(Predicates.and(Collections.emptyList())).equivalentNames("and")
            .add(this);
    PredicateSerializationRuleAdder.noArgConstructor(Predicates::alwaysFalse).add(this);
    PredicateSerializationRuleAdder.noArgConstructor(Predicates::alwaysTrue).add(this);
    PredicateSerializationRuleAdder.noArgConstructor(Predicates::notNull).add(this);

    PredicateSerializationRuleAdder.noArgConstructor(ResourcePredicates::urlExists).preferredName("urlExists")
            .add(this);
    PredicateSerializationRuleAdder.noArgConstructor(StringPredicates::isBlank).add(this);

    PredicateSerializationRuleAdder.stringConstructor(StringPredicates::matchesRegex).preferredName("regex")
            .add(this);
    PredicateSerializationRuleAdder.stringConstructor(StringPredicates::matchesGlob).preferredName("glob")
            .add(this);

    PredicateSerializationRuleAdder.stringConstructor(ConfigConstraints::forbiddenIf).add(this);
    PredicateSerializationRuleAdder.stringConstructor(ConfigConstraints::forbiddenUnless).add(this);
    PredicateSerializationRuleAdder.stringConstructor(ConfigConstraints::requiredIf).add(this);
    PredicateSerializationRuleAdder.stringConstructor(ConfigConstraints::requiredUnless).add(this);
    PredicateSerializationRuleAdder.listConstructor(ConfigConstraints::requiredUnlessAnyOf).add(this);
    PredicateSerializationRuleAdder.listConstructor(ConfigConstraints::forbiddenUnlessAnyOf).add(this);
}

From source file:org.sonatype.nexus.plugins.capabilities.internal.rest.StoresResource.java

private Predicate<Repository> hasAnyOfContentClasses(final List<String> contentClasses) {
    if (contentClasses != null && !contentClasses.isEmpty()) {
        List<Predicate<Repository>> predicates = Lists.newArrayList();
        for (final String contentClass : contentClasses) {
            if (StringUtils.isNotEmpty(contentClass) && !contentClass.startsWith("!")) {
                predicates.add(new Predicate<Repository>() {
                    @Override/*from  w ww .  j  a v a2 s.com*/
                    public boolean apply(@Nullable final Repository input) {
                        return input != null && input.getRepositoryContentClass().getId().equals(contentClass);
                    }
                });
            }
        }
        if (!predicates.isEmpty()) {
            if (predicates.size() == 1) {
                return predicates.get(0);
            }
            return Predicates.or(predicates);
        }
    }
    return null;
}

From source file:com.eucalyptus.auth.euare.identity.region.RegionConfigurationManager.java

private boolean isValidAddress(final InetAddress inetAddress,
        final NonNullFunction<RegionInfo, Set<Cidr>> cidrTransform) {
    final Optional<RegionInfo> regionInfoOptional = getRegionInfo();
    final Predicate<InetAddress> addressPredicate = Predicates
            .or(Iterables.concat(regionInfoOptional.transform(cidrTransform).asSet()));
    return addressPredicate.apply(inetAddress);
}

From source file:org.eclipse.xtext.formatting2.regionaccess.internal.AbstractSemanticRegionsFinder.java

@Override
public List<ISemanticRegion> features(EStructuralFeature... features) {
    Set<Predicate<ISemanticRegion>> predicates = Sets.newHashSet();
    for (int i = 0; i < features.length; i++) {
        EStructuralFeature feat = features[i];
        assertNoContainment(feat);/*  w ww. j av  a2 s . c o m*/
        predicates.add(new FeaturePredicate(feat));
    }
    return findAll(Predicates.or(predicates));
}