1 package de.orangecafe.amazonrcp.converter;
2
3 import org.springframework.binding.convert.support.AbstractConverter;
4 import org.springframework.binding.convert.ConversionContext;
5 import com.amazon.webservices.awsecommerceservice._2007_04_04.Price;
6
7 import java.text.NumberFormat;
8 import java.util.Currency;
9
10
11
12
13 public class PriceToStringConverter extends AbstractConverter {
14 protected String doConvert(final Object source, final Class targetClass, final ConversionContext conversionContext) throws Exception {
15 Price price = (Price) source;
16
17 String currencyCode;
18 float amount;
19 if (price != null) {
20 currencyCode = price.getCurrencyCode();
21 amount = price.getAmount().floatValue() / 100;
22 } else {
23 currencyCode = "EUR";
24 amount = -1;
25 }
26
27 NumberFormat formatter = NumberFormat.getCurrencyInstance();
28 Currency currency = Currency.getInstance(currencyCode);
29
30 formatter.setCurrency(currency);
31
32 return formatter.format(amount);
33 }
34
35 public Class[] getSourceClasses() {
36 return new Class[] { Price.class };
37 }
38
39 public Class[] getTargetClasses() {
40 return new Class[] { String.class };
41 }
42 }