List of usage examples for com.google.common.collect Iterables any
public static <T> boolean any(Iterable<T> iterable, Predicate<? super T> predicate)
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)); }