mirror of
https://github.com/google/nomulus.git
synced 2025-05-15 00:47:11 +02:00
Export billing account map to registrar sheet
The billing account map will be serialized in the following format: {currency1=id1, currency2=id2, ...} In order for the output to be deterministic, the billing account map is stored as a sorted map. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=161075814
This commit is contained in:
parent
80f8f5ac7f
commit
0013312f5c
5 changed files with 39 additions and 25 deletions
|
@ -43,7 +43,9 @@ import com.google.common.collect.FluentIterable;
|
|||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.ImmutableSortedMap;
|
||||
import com.google.common.collect.ImmutableSortedSet;
|
||||
import com.google.common.collect.Ordering;
|
||||
import com.google.common.collect.Range;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.re2j.Pattern;
|
||||
|
@ -336,7 +338,9 @@ public class Registrar extends ImmutableObject implements Buildable, Jsonifiable
|
|||
* Map of currency-to-billing account for the registrar.
|
||||
*
|
||||
* <p>A registrar can have different billing accounts that are denoted in different currencies.
|
||||
* This provides flexibility for billing systems that require such distinction.
|
||||
* This provides flexibility for billing systems that require such distinction. When this field is
|
||||
* accessed by {@link #getBillingAccountMap}, a sorted map is returned to guarantee deterministic
|
||||
* behavior when serializing the map, for display purpose for instance.
|
||||
*/
|
||||
@Nullable
|
||||
@Mapify(CurrencyMapper.class)
|
||||
|
@ -448,8 +452,8 @@ public class Registrar extends ImmutableObject implements Buildable, Jsonifiable
|
|||
if (billingAccountMap == null) {
|
||||
return ImmutableMap.of();
|
||||
}
|
||||
ImmutableMap.Builder<CurrencyUnit, String> billingAccountMapBuilder =
|
||||
new ImmutableMap.Builder<>();
|
||||
ImmutableSortedMap.Builder<CurrencyUnit, String> billingAccountMapBuilder =
|
||||
new ImmutableSortedMap.Builder<>(Ordering.natural());
|
||||
for (Map.Entry<CurrencyUnit, BillingAccountEntry> entry : billingAccountMap.entrySet()) {
|
||||
billingAccountMapBuilder.put(entry.getKey(), entry.getValue().accountId);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue