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

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

Introduction

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

Prototype

public static <T> boolean any(Iterable<T> iterable, Predicate<? super T> predicate) 

Source Link

Document

Returns true if any element in iterable satisfies the predicate.

Usage

From source file:org.fenixedu.academic.domain.ExecutionDegree.java

public boolean isDateInPeriodOfType(final DateTime date, OccupationPeriodType type, Integer semester) {

    return Iterables.any(getPeriods(type, semester), new Predicate<OccupationPeriod>() {

        @Override//  ww w .j a  v a2 s  .c  o  m
        public boolean apply(OccupationPeriod period) {
            return period.getPeriodInterval().contains(date);
        }

    });

}

From source file:com.google.googlejavaformat.java.JavaInputAstVisitor.java

@Override
public Void visitAnnotation(AnnotationTree node, Void unused) {
    sync(node);/*from  w  ww  .j  a va  2s  .c om*/

    if (visitSingleMemberAnnotation(node)) {
        return null;
    }

    builder.open(ZERO);
    token("@");
    scan(node.getAnnotationType(), null);
    if (!node.getArguments().isEmpty()) {
        builder.open(plusFour);
        token("(");
        builder.breakOp();
        boolean first = true;

        // Format the member value pairs one-per-line if any of them are
        // initialized with arrays.
        boolean hasArrayInitializer = Iterables.any(node.getArguments(), JavaInputAstVisitor::isArrayValue);
        for (ExpressionTree argument : node.getArguments()) {
            if (!first) {
                token(",");
                if (hasArrayInitializer) {
                    builder.forcedBreak();
                } else {
                    builder.breakOp(" ");
                }
            }
            if (argument instanceof AssignmentTree) {
                visitAnnotationArgument((AssignmentTree) argument);
            } else {
                scan(argument, null);
            }
            first = false;
        }
        token(")");
        builder.close();
        builder.close();
        return null;

    } else if (builder.peekToken().equals(Optional.of("("))) {
        token("(");
        token(")");
    }
    builder.close();
    return null;
}

From source file:com.eucalyptus.component.Topology.java

public static boolean isEnabledLocally(final Class<? extends ComponentId> compClass) {
    return Iterables.any(Topology.enabledServices(compClass), ServiceConfigurations.filterHostLocal());
}

From source file:com.eucalyptus.compute.vpc.VpcManager.java

public CreateSubnetResponseType createSubnet(final CreateSubnetType request) throws EucalyptusCloudException {
    final CreateSubnetResponseType reply = request.getReply();
    final Context ctx = Contexts.lookup();
    final AccountFullName accountFullName = ctx.getUserFullName().asAccountFullName();
    final String vpcId = Identifier.vpc.normalize(request.getVpcId());
    final Optional<String> availabilityZone = Iterables.tryFind(Clusters.getInstance().listValues(),
            Predicates.and(//from ww  w  .  ja v a  2 s  .  c  o  m
                    request.getAvailabilityZone() == null ? Predicates.<RestrictedType>alwaysTrue()
                            : CollectionUtils.propertyPredicate(request.getAvailabilityZone(),
                                    CloudMetadatas.toDisplayName()),
                    RestrictedTypes.filterPrivilegedWithoutOwner()))
            .transform(CloudMetadatas.toDisplayName());
    final Optional<Cidr> subnetCidr = Cidr.parse().apply(request.getCidrBlock());
    if (!subnetCidr.isPresent()) {
        throw new ClientComputeException("InvalidParameterValue", "Cidr invalid: " + request.getCidrBlock());
    }
    if (!availabilityZone.isPresent()) {
        throw new ClientComputeException("InvalidParameterValue",
                "Availability zone invalid: " + request.getAvailabilityZone());
    }
    final Supplier<Subnet> allocator = new Supplier<Subnet>() {
        @Override
        public Subnet get() {
            try {
                final Vpc vpc = vpcs.lookupByName(accountFullName, vpcId, Functions.<Vpc>identity());
                final Iterable<Subnet> subnetsInVpc = subnets.listByExample(
                        Subnet.exampleWithOwner(accountFullName), CollectionUtils
                                .propertyPredicate(vpc.getDisplayName(), Subnets.FilterStringFunctions.VPC_ID),
                        Functions.<Subnet>identity());
                if (Iterables.size(subnetsInVpc) >= VpcConfiguration.getSubnetsPerVpc()) {
                    throw new ClientComputeException("SubnetLimitExceeded",
                            "Subnet limit exceeded for " + vpc.getDisplayName());
                }
                if (!Cidr.parse(vpc.getCidr()).contains(subnetCidr.get())) {
                    throw new ClientComputeException("InvalidParameterValue",
                            "Cidr not valid for vpc " + request.getCidrBlock());
                }
                final Iterable<Cidr> existingCidrs = Iterables.transform(subnetsInVpc,
                        Functions.compose(Cidr.parseUnsafe(), Subnets.FilterStringFunctions.CIDR));
                if (Iterables.any(existingCidrs, subnetCidr.get().contains())
                        || Iterables.any(existingCidrs, subnetCidr.get().containedBy())) {
                    throw new ClientComputeException("InvalidSubnet.Conflict",
                            "Cidr conflict for " + request.getCidrBlock());
                }
                final NetworkAcl networkAcl = networkAcls.lookupDefault(vpc.getDisplayName(),
                        Functions.<NetworkAcl>identity());
                return subnets.save(Subnet.create(ctx.getUserFullName(), vpc, networkAcl,
                        Identifier.subnet.generate(), request.getCidrBlock(), availabilityZone.get()));
            } catch (VpcMetadataNotFoundException ex) {
                throw Exceptions.toUndeclared(new ClientComputeException("InvalidVpcID.NotFound",
                        "Vpc not found '" + request.getVpcId() + "'"));
            } catch (Exception ex) {
                throw new RuntimeException(ex);
            }
        }
    };
    reply.setSubnet(allocate(allocator, Subnet.class, SubnetType.class));
    invalidate(reply.getSubnet().getSubnetId());
    return reply;
}

From source file:com.eucalyptus.autoscaling.activities.ActivityManager.java

private Function<Iterable<AutoScalingInstanceGroupView>, ScalingProcessTask<?, ?>> removeFromLoadBalancerOrTerminate() {
    return new Function<Iterable<AutoScalingInstanceGroupView>, ScalingProcessTask<?, ?>>() {
        @Override//w w  w.j  a v  a2 s. c  om
        public ScalingProcessTask<?, ?> apply(final Iterable<AutoScalingInstanceGroupView> groupInstances) {
            final boolean anyRegisteredInstances = Iterables.any(groupInstances,
                    ConfigurationState.Registered.forView());
            return removeFromLoadBalancerOrTerminate(Iterables.get(groupInstances, 0).getAutoScalingGroup(),
                    anyRegisteredInstances,
                    Lists.newArrayList(Iterables.transform(groupInstances, RestrictedTypes.toDisplayName())));
        }
    };
}

From source file:org.eclipse.viatra.query.patternlanguage.emf.validation.EMFPatternLanguageJavaValidator.java

@Check
public void checkReferredPackages(ReferenceType type) {
    if (type.getRefname() == null || type.getRefname().eIsProxy()) {
        //If reference name is not set, do not check package
        return;//  ww w  .j  a  v  a 2  s .c o m
    }
    final EClass referredType = type.getRefname().getEContainingClass();
    final EPackage referredPackage = referredType.getEPackage();
    final String nsUri = Strings.emptyIfNull(referredPackage.getNsURI());
    final EObject rootContainer = EcoreUtil2.getRootContainer(type);
    if (rootContainer instanceof PatternModel) {
        PatternModel model = (PatternModel) rootContainer;
        if (model.getImportPackages() != null
                && !Iterables.any(model.getImportPackages().getPackageImport(), new SamePackageUri(nsUri))) {
            error(String.format("Reference to an EClass %s that is not imported from EPackage %s.",
                    referredType.getName(), nsUri), type,
                    EMFPatternLanguagePackage.Literals.REFERENCE_TYPE__REFNAME,
                    EMFIssueCodes.MISSING_PACKAGE_IMPORT, nsUri);
        }

    }
}

From source file:forge.ai.AiController.java

public AiPlayDecision canPlayFromEffectAI(Spell spell, boolean mandatory, boolean withoutPayingManaCost) {
    final Card card = spell.getHostCard();

    int damage = ComputerUtil.getDamageForPlaying(player, spell);

    if (damage >= player.getLife() && !player.cantLoseForZeroOrLessLife() && player.canLoseLife()) {
        return AiPlayDecision.CurseEffects;
    }/*  ww w . j  a v a 2 s . c om*/

    if (spell instanceof SpellApiBased) {
        boolean chance = false;
        if (withoutPayingManaCost) {
            chance = SpellApiToAi.Converter.get(spell.getApi()).doTriggerNoCostWithSubs(player, spell,
                    mandatory);
        } else {
            chance = SpellApiToAi.Converter.get(spell.getApi()).doTriggerAI(player, spell, mandatory);
        }
        if (!chance)
            return AiPlayDecision.TargetingFailed;

        return canPlaySpellBasic(card);
    }

    if (spell instanceof SpellPermanent) {
        if (mandatory) {
            return AiPlayDecision.WillPlay;
        }
        ManaCost mana = spell.getPayCosts().getTotalMana();
        final Cost cost = spell.getPayCosts();

        if (cost != null) {
            // AI currently disabled for these costs
            if (!ComputerUtilCost.checkLifeCost(player, cost, card, 4, null)) {
                return AiPlayDecision.CostNotAcceptable;
            }

            if (!ComputerUtilCost.checkDiscardCost(player, cost, card)) {
                return AiPlayDecision.CostNotAcceptable;
            }

            if (!ComputerUtilCost.checkSacrificeCost(player, cost, card)) {
                return AiPlayDecision.CostNotAcceptable;
            }

            if (!ComputerUtilCost.checkRemoveCounterCost(cost, card)) {
                return AiPlayDecision.CostNotAcceptable;
            }
        }

        // check on legendary
        if (card.getType().isLegendary()
                && !game.getStaticEffects().getGlobalRuleChange(GlobalRuleChange.noLegendRule)) {
            if (Iterables.any(player.getCardsIn(ZoneType.Battlefield),
                    CardPredicates.nameEquals(card.getName()))) {
                return AiPlayDecision.WouldDestroyLegend;
            }
        }
        if (card.isPlaneswalker()) {
            CardCollection list = CardLists.filter(player.getCardsIn(ZoneType.Battlefield),
                    CardPredicates.Presets.PLANEWALKERS);
            for (String type : card.getType().getSubtypes()) { //determine planewalker subtype
                final CardCollection cl = CardLists.getType(list, type);
                if (!cl.isEmpty()) {
                    return AiPlayDecision.WouldDestroyOtherPlaneswalker;
                }
                break;
            }
        }
        if (card.getType().hasSupertype(Supertype.World)) {
            CardCollection list = CardLists.getType(player.getCardsIn(ZoneType.Battlefield), "World");
            if (!list.isEmpty()) {
                return AiPlayDecision.WouldDestroyWorldEnchantment;
            }
        }

        if (card.isCreature() && card.getNetToughness() <= 0 && !card.hasStartOfKeyword("etbCounter")
                && mana.countX() == 0 && !card.hasETBTrigger(false) && !card.hasETBReplacement()
                && !card.hasSVar("NoZeroToughnessAI")) {
            return AiPlayDecision.WouldBecomeZeroToughnessCreature;
        }

        if (!checkETBEffects(card, spell, null)) {
            return AiPlayDecision.BadEtbEffects;
        }
        if (damage + ComputerUtil.getDamageFromETB(player, card) >= player.getLife()
                && !player.cantLoseForZeroOrLessLife() && player.canLoseLife()) {
            return AiPlayDecision.BadEtbEffects;
        }
    }
    return canPlaySpellBasic(card);
}

From source file:org.eclipse.viatra.query.patternlanguage.emf.validation.EMFPatternLanguageValidator.java

@Check
public void checkReferredPackages(ReferenceType type) {
    if (type.getRefname() == null || type.getRefname().eIsProxy()) {
        // If reference name is not set, do not check package
        return;/*from ww  w .  ja v  a2 s . c  om*/
    }
    final EClass referredType = type.getRefname().getEContainingClass();
    final EPackage referredPackage = referredType.getEPackage();
    final String nsUri = Strings.emptyIfNull(referredPackage.getNsURI());
    final EObject rootContainer = EcoreUtil2.getRootContainer(type);
    if (rootContainer instanceof PatternModel) {
        PatternModel model = (PatternModel) rootContainer;
        if (model.getImportPackages() != null
                && !Iterables.any(model.getImportPackages().getPackageImport(), new SamePackageUri(nsUri))) {
            error(String.format("Reference to an EClass %s that is not imported from EPackage %s.",
                    referredType.getName(), nsUri), type,
                    PatternLanguagePackage.Literals.REFERENCE_TYPE__REFNAME, IssueCodes.MISSING_PACKAGE_IMPORT,
                    nsUri);
        }

    }
}

From source file:com.facebook.presto.sql.analyzer.TupleAnalyzer.java

private void analyzeAggregations(QuerySpecification node, TupleDescriptor tupleDescriptor,
        List<FieldOrExpression> groupByExpressions, List<FieldOrExpression> outputExpressions,
        List<FieldOrExpression> orderByExpressions, AnalysisContext context) {
    List<FunctionCall> aggregates = extractAggregates(node);

    if (context.isApproximate()) {
        if (Iterables.any(aggregates, FunctionCall::isDistinct)) {
            throw new SemanticException(NOT_SUPPORTED, node,
                    "DISTINCT aggregations not supported for approximate queries");
        }//from   w  w  w  .java2  s .  c  o m
    }

    // is this an aggregation query?
    if (!aggregates.isEmpty() || !groupByExpressions.isEmpty()) {
        // ensure SELECT, ORDER BY and HAVING are constant with respect to group
        // e.g, these are all valid expressions:
        //     SELECT f(a) GROUP BY a
        //     SELECT f(a + 1) GROUP BY a + 1
        //     SELECT a + sum(b) GROUP BY a
        for (FieldOrExpression fieldOrExpression : Iterables.concat(outputExpressions, orderByExpressions)) {
            verifyAggregations(node, groupByExpressions, tupleDescriptor, fieldOrExpression);
        }

        if (node.getHaving().isPresent()) {
            verifyAggregations(node, groupByExpressions, tupleDescriptor,
                    new FieldOrExpression(node.getHaving().get()));
        }
    }
}

From source file:org.opentestsystem.authoring.testauth.publish.BasePublisherHelper.java

private List<ItemReferenceGroup> buildItemReferenceGroups(final String bankKey,
        final Map<String, Segment> segmentMap, final Assessment assessment, final List<Item> itemList,
        final String locationId, final boolean processSegmentLevel) {

    // find any/all existing itemGroups by segmentId/formPartitionId, build into multimap keyed by itemGroupId
    final List<ItemGroup> itemGroupList = processSegmentLevel
            ? this.itemGroupService.getItemGroupsBySegment(locationId)
            : this.itemGroupService.getItemGroupsFormPartition(locationId);
    final ListMultimap<String, ItemGroup> existingItemGroupMap = Multimaps.index(itemGroupList,
            ITEMGROUPID_KEY_TRANSFORMER);

    // returns map w/ key of segmentId/formPartitionId and value of item list
    final Map<String, List<Item>> itemsMap = processSegmentLevel
            ? retrieveScopedItems(assessment.getId(), itemList, locationId, false)
            : retrieveScopedItems(assessment.getId(), itemList, null, true);
    // scope by just location Id (instead of summed partitions per segment)
    final List<Item> flattenedItemList = processSegmentLevel
            ? Lists.newArrayList(Iterables.concat(itemsMap.values()))
            : itemsMap.get(locationId);/*  w w  w .j a v  a 2  s .  c o m*/

    // item can belong to more than one group or 'NO_GROUP'; attempt to invert the relationship to construct
    // a) map w/ key of item group & value of list of items
    // b) list of lone-wolf 'NO_GROUP' items for which an ItemReferenceGroup will be later fabricated
    final Multimap<List<String>, Item> groupedMultiMap = Multimaps.index(flattenedItemList,
            ITEM_ITEMGROUPIDLIST_TRANSFORMER);

    final Map<ItemGroup, List<Item>> groupedItemMap = Maps.newHashMap();
    final Set<Item> ungroupedItemSet = Sets.newHashSet();
    for (final Entry<List<String>, Item> itemGrouping : groupedMultiMap.entries()) {
        for (final String itemGroupingKey : itemGrouping.getKey()) {
            if (StringUtils.equals(itemGroupingKey, Item.SKIP_GROUP_KEY)) {

            } else if (!StringUtils.equals(itemGroupingKey, Item.NO_GROUP_KEY)) {
                ItemGroup itemGroup = null;
                if (!CollectionUtils.isEmpty(existingItemGroupMap.get(itemGroupingKey))) {
                    itemGroup = existingItemGroupMap.get(itemGroupingKey).get(0);
                }
                if (itemGroup != null) {
                    if (CollectionUtils.isEmpty(groupedItemMap.get(itemGroup))) {
                        final List<Item> itemsPerItemGroupList = Lists.newArrayList();
                        groupedItemMap.put(itemGroup, itemsPerItemGroupList);
                    }
                    groupedItemMap.get(itemGroup).add(itemGrouping.getValue());
                }
            } else if (Iterables.any(itemGrouping.getValue().getAdaptiveAndFixedItemLocations(),
                    PublisherUtil.ITEM_LOCATION_MATCHER.getInstance(Item.NO_GROUP_KEY, locationId,
                            processSegmentLevel ? ItemGroupLocationType.SEGMENT
                                    : ItemGroupLocationType.FORM_PARTITION))) {
                ungroupedItemSet.add(itemGrouping.getValue());
            }
        }
    }

    // transform grouped
    // note that segmentMap parameter is null in case processSegmentLevel parameter was true

    final List<ItemReferenceGroup> groupedItems = nullsafeListTransform(groupedItemMap.entrySet(),
            ITEMLIST_ITEMGROUP_TRANSFORMER.getInstance(bankKey, segmentMap, this.serverUniqueNumber,
                    assessment.getVersion()));

    // transform ungrouped
    final List<ItemReferenceGroup> ungroupedItems = nullsafeListTransform(ungroupedItemSet,
            ITEM_ITEMGROUP_TRANSFORMER.getInstance(processSegmentLevel, locationId, bankKey,
                    this.serverUniqueNumber, assessment.getVersion()));

    return Lists.newArrayList(Iterables.concat(ungroupedItems, groupedItems));
}