/** * Copyright (c) 2012, Lindsay Bradford and other Contributors. * All rights reserved. * * This program and the accompanying materials are made available * under the terms of the BSD 3-Clause licence which accompanies * this distribution, and is available at * http://opensource.org/licenses/BSD-3-Clause */ package blacksmyth.personalfinancier.control.inflation; import java.math.BigDecimal; import java.text.ParseException; import java.util.Date; import java.util.GregorianCalendar; import blacksmyth.personalfinancier.model.Money; import blacksmyth.personalfinancier.model.inflation.InflationConversionModel; import blacksmyth.personalfinancier.view.WidgetFactory; public class InflationConversionController { private InflationConversionModel model; public InflationConversionController(InflationConversionModel model) { this.model = model; } public void setInitialValue(String initialValueAsString) { Money initialValue = model.getInitialValue(); Number valueAsDouble = 0; try { valueAsDouble = WidgetFactory.DECIMAL_FORMAT.parse(initialValueAsString); } catch (ParseException e) { // deliberately do nothing. } BigDecimal newInitialValue = BigDecimal.valueOf( valueAsDouble.doubleValue() ); initialValue.setTotal( newInitialValue ); model.setInitialValue(initialValue); } public void setInitialDate(String initialDateAsString) { GregorianCalendar newInitialDate; try { newInitialDate = new GregorianCalendar(); newInitialDate.setTime( WidgetFactory.DATE_FORMAT.parse(initialDateAsString) ); } catch (ParseException e) { newInitialDate= new GregorianCalendar(); newInitialDate.setTime( new Date() ); } model.setInitialDate(newInitialDate); } public void setConversionValue(String conversionValueAsString) { Money conversionValue = model.getConversionValue(); Number valueAsDouble = 0; try { valueAsDouble = WidgetFactory.DECIMAL_FORMAT.parse(conversionValueAsString); } catch (ParseException e) { // deliberately do nothing. } BigDecimal newValue = BigDecimal.valueOf( valueAsDouble.doubleValue() ); conversionValue.setTotal( newValue ); model.setConversionValue(conversionValue); } public void setConversionDate(String conversionDateAsString) { GregorianCalendar newConversionDate; try { newConversionDate = new GregorianCalendar(); newConversionDate.setTime( WidgetFactory.DATE_FORMAT.parse(conversionDateAsString) ); } catch (ParseException e) { newConversionDate= new GregorianCalendar(); newConversionDate.setTime( new Date() ); } model.setConversionDate(newConversionDate); } }