List of usage examples for com.google.common.collect ImmutableList.Builder builder
public static <E> Builder<E> builder()
From source file:org.jclouds.azurecompute.arm.compute.strategy.CreateResourcesThenCreateNodes.java
@VisibleForTesting void normalizeNetworkOptions(AzureTemplateOptions options) { if (!options.getNetworks().isEmpty() && !options.getIpOptions().isEmpty()) { throw new IllegalArgumentException("The options.networks and options.ipOptions are exclusive"); }/*www . ja v a 2 s.c o m*/ if (!options.getNetworks().isEmpty()) { // The portable interface allows to configure network IDs (subnet IDs), // but we don't know the type of the IP configurations to be applied // when attaching nodes to those networks. We'll assume private IPs // with Dynamic allocation and new public ip address allocated. ImmutableList.Builder<IpOptions> ipOptions = ImmutableList.builder(); for (String subnetId : options.getNetworks()) { ipOptions.add(IpOptions.builder().subnet(subnetId).allocateNewPublicIp(true).build()); } options.ipOptions(ipOptions.build()); } if (!options.getIpOptions().isEmpty()) { // Eagerly validate that all configured subnets exist. for (IpOptions ipConfig : options.getIpOptions()) { if (ipConfig.allocateNewPublicIp() && ipConfig.publicIpId() != null) { throw new IllegalArgumentException("The allocateNewPublicIps and publicIpId are exclusive"); } String resourceGroup = extractResourceGroup(ipConfig.subnet()); String networkName = extractVirtualNetwork(ipConfig.subnet()); String subnetName = extractName(ipConfig.subnet()); Subnet subnet = api.getSubnetApi(resourceGroup, networkName).get(subnetName); checkState(subnet != null, "Configured subnet %s does not exist", ipConfig.subnet()); if (ipConfig.publicIpId() != null) { PublicIPAddress publicIp = api .getPublicIPAddressApi(extractResourceGroup(ipConfig.publicIpId())) .get(extractName(ipConfig.publicIpId())); checkState(publicIp != null, "Configured public ip %s does not exist", ipConfig.publicIpId()); } } } }
From source file:org.apache.james.mailbox.store.mail.MessageUtils.java
public MessageChangedFlags updateFlags(Mailbox mailbox, FlagsUpdateCalculator flagsUpdateCalculator, Iterator<MailboxMessage> messages) throws MailboxException { ImmutableList.Builder<UpdatedFlags> updatedFlags = ImmutableList.builder(); ImmutableList.Builder<MailboxMessage> changedFlags = ImmutableList.builder(); long modSeq = nextModSeq(mailbox); while (messages.hasNext()) { MailboxMessage member = messages.next(); Flags originalFlags = member.createFlags(); member.setFlags(flagsUpdateCalculator.buildNewFlags(originalFlags)); Flags newFlags = member.createFlags(); if (UpdatedFlags.flagsChanged(originalFlags, newFlags)) { member.setModSeq(modSeq);// www. jav a 2 s . co m changedFlags.add(member); } updatedFlags.add(UpdatedFlags.builder().uid(member.getUid()).modSeq(member.getModSeq()) .newFlags(newFlags).oldFlags(originalFlags).build()); } return new MessageChangedFlags(updatedFlags.build().iterator(), changedFlags.build()); }