public List<TieredBlockPriceOverride> getResolvedTieredBlockPriceOverrides(TieredBlock[] tieredBlocks, List<TieredBlockPriceOverride> tieredBlockPriceOverrides) throws CatalogApiException { List<TieredBlockPriceOverride> resolvedTieredBlockPriceOverrides = new ArrayList<TieredBlockPriceOverride>(); for (final TieredBlock curTieredBlock : tieredBlocks) { final TieredBlockPriceOverride curOverride = Iterables.tryFind(tieredBlockPriceOverrides, new Predicate<TieredBlockPriceOverride>() { @Override public boolean apply(final TieredBlockPriceOverride input) { return input.getUnitName() != null && input.getSize() != null && input.getMax() != null && (input.getUnitName().equals(curTieredBlock.getUnit().getName()) && Double.compare(input.getSize(), curTieredBlock.getSize()) == 0 && Double.compare(input.getMax(), curTieredBlock.getMax()) == 0); } }).orNull(); if (curOverride != null) { resolvedTieredBlockPriceOverrides.add(new DefaultTieredBlockPriceOverride(curTieredBlock.getUnit().getName(), curOverride.getSize(), curOverride.getPrice(), curOverride.getCurrency(), curOverride.getMax())); } else { resolvedTieredBlockPriceOverrides.add(null); } } return resolvedTieredBlockPriceOverrides; }
private void assertTieredBlockInternationalPrice(final InternationalPrice newInternationalPrice, final InternationalPrice initInternationalPrice, final TieredBlockPriceOverride override) throws CurrencyValueNull { assertEquals(newInternationalPrice.getPrices().length, initInternationalPrice.getPrices().length); for (int i = 0; i < newInternationalPrice.getPrices().length; i++) { final Price initPrice = initInternationalPrice.getPrices()[i]; final Price newPrice = newInternationalPrice.getPrices()[i]; if (override != null && override.getCurrency() == initPrice.getCurrency() && override.getPrice() != null) { assertEquals(newPrice.getValue().compareTo(override.getPrice()), 0); } else { if (initPrice != null && initPrice.getValue() != null) { assertEquals(newPrice.getValue().compareTo(initPrice.getValue()), 0); } } } } }
public List<TieredBlockPriceOverride> getResolvedTieredBlockPriceOverrides(TieredBlock[] tieredBlocks, List<TieredBlockPriceOverride> tieredBlockPriceOverrides) throws CatalogApiException { List<TieredBlockPriceOverride> resolvedTieredBlockPriceOverrides = new ArrayList<TieredBlockPriceOverride>(); for (final TieredBlock curTieredBlock : tieredBlocks) { final TieredBlockPriceOverride curOverride = Iterables.tryFind(tieredBlockPriceOverrides, new Predicate<TieredBlockPriceOverride>() { @Override public boolean apply(final TieredBlockPriceOverride input) { return input.getUnitName() != null && input.getSize() != null && input.getMax() != null && (input.getUnitName().equals(curTieredBlock.getUnit().getName()) && Double.compare(input.getSize(), curTieredBlock.getSize()) == 0 && Double.compare(input.getMax(), curTieredBlock.getMax()) == 0); } }).orNull(); if (curOverride != null) { resolvedTieredBlockPriceOverrides.add(new DefaultTieredBlockPriceOverride(curTieredBlock.getUnit().getName(), curOverride.getSize(), curOverride.getPrice(), curOverride.getCurrency(), curOverride.getMax())); } else { resolvedTieredBlockPriceOverrides.add(null); } } return resolvedTieredBlockPriceOverrides; }
private void assertTieredBlockInternationalPrice(final InternationalPrice newInternationalPrice, final InternationalPrice initInternationalPrice, final TieredBlockPriceOverride override) throws CurrencyValueNull { assertEquals(newInternationalPrice.getPrices().length, initInternationalPrice.getPrices().length); for (int i = 0; i < newInternationalPrice.getPrices().length; i++) { final Price initPrice = initInternationalPrice.getPrices()[i]; final Price newPrice = newInternationalPrice.getPrices()[i]; if (override != null && override.getCurrency() == initPrice.getCurrency() && override.getPrice() != null) { assertEquals(newPrice.getValue().compareTo(override.getPrice()), 0); } else { if (initPrice != null && initPrice.getValue() != null) { assertEquals(newPrice.getValue().compareTo(initPrice.getValue()), 0); } } } } }