catch up with development Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.runtime.web.ecview.presentation.vaadin/src/org/eclipse/osbp/runtime/web/ecview/presentation/vaadin/internal/DateTimePresentation.java b/org.eclipse.osbp.runtime.web.ecview.presentation.vaadin/src/org/eclipse/osbp/runtime/web/ecview/presentation/vaadin/internal/DateTimePresentation.java index 74ad2e5..6b1233c 100644 --- a/org.eclipse.osbp.runtime.web.ecview.presentation.vaadin/src/org/eclipse/osbp/runtime/web/ecview/presentation/vaadin/internal/DateTimePresentation.java +++ b/org.eclipse.osbp.runtime.web.ecview.presentation.vaadin/src/org/eclipse/osbp/runtime/web/ecview/presentation/vaadin/internal/DateTimePresentation.java
@@ -14,6 +14,11 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; +import java.time.DayOfWeek; +import java.time.LocalDate; +import java.time.ZoneId; +import java.time.ZoneOffset; +import java.util.Arrays; import java.util.Date; import java.util.Locale; @@ -36,11 +41,13 @@ import org.eclipse.osbp.runtime.web.ecview.presentation.vaadin.common.AbstractFieldWidgetPresenter; import org.eclipse.osbp.runtime.web.ecview.presentation.vaadin.internal.util.Util; +import com.vaadin.data.Property; import com.vaadin.data.util.ObjectProperty; import com.vaadin.server.ErrorMessage; import com.vaadin.server.FontAwesome; import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.ui.Button; +import com.vaadin.ui.ComboBox; import com.vaadin.ui.Component; import com.vaadin.ui.ComponentContainer; import com.vaadin.ui.DateField; @@ -412,13 +419,10 @@ private DateField field; private ObjectProperty<Date> property; private boolean showISOWeekNumber; - + @Override protected Component initContent() { field.setShowISOWeekNumbers(showISOWeekNumber); - property.addValueChangeListener(e -> { - super.setValue((Date) e.getProperty().getValue(), false, true); - }); Button resetDate = new Button(); resetDate.setIcon(FontAwesome.CALENDAR_CHECK_O); resetDate.addClickListener(e -> { @@ -441,6 +445,8 @@ return layout; } + + public void setShowISOWeekNumber(boolean value) { showISOWeekNumber = value; } @@ -508,6 +514,7 @@ setReadOnly(oldReadonly); } } + } /**
diff --git a/org.eclipse.osbp.runtime.web.ecview.presentation.vaadin/src/org/eclipse/osbp/runtime/web/ecview/presentation/vaadin/internal/DecimalFieldPresentation.java b/org.eclipse.osbp.runtime.web.ecview.presentation.vaadin/src/org/eclipse/osbp/runtime/web/ecview/presentation/vaadin/internal/DecimalFieldPresentation.java index bbaf4b4..183a462 100644 --- a/org.eclipse.osbp.runtime.web.ecview.presentation.vaadin/src/org/eclipse/osbp/runtime/web/ecview/presentation/vaadin/internal/DecimalFieldPresentation.java +++ b/org.eclipse.osbp.runtime.web.ecview.presentation.vaadin/src/org/eclipse/osbp/runtime/web/ecview/presentation/vaadin/internal/DecimalFieldPresentation.java
@@ -34,7 +34,7 @@ import org.eclipse.osbp.runtime.web.ecview.presentation.vaadin.IBindingManager; import org.eclipse.osbp.runtime.web.ecview.presentation.vaadin.common.AbstractFieldWidgetPresenter; import org.eclipse.osbp.runtime.web.ecview.presentation.vaadin.internal.util.Util; -import org.eclipse.osbp.runtime.web.vaadin.components.converter.DecimalConverter; +import org.eclipse.osbp.runtime.web.vaadin.components.converter.DecimalDoubleConverter; import org.eclipse.osbp.runtime.web.vaadin.components.fields.DecimalField; import org.eclipse.osbp.runtime.web.vaadin.databinding.VaadinObservables; @@ -81,7 +81,7 @@ public Component doCreateWidget(Object parent) { if (decimalField == null) { - decimalField = new CustomField((DecimalConverter) getConverter()); + decimalField = new CustomField((DecimalDoubleConverter) getConverter()); decimalField.addStyleName(CSS_CLASS_CONTROL); decimalField.setImmediate(true); setupComponent(decimalField, getCastedModel()); @@ -121,7 +121,7 @@ */ @Override protected Converter<?, ?> getDefaultConverter() { - return new DecimalConverter(); + return new DecimalDoubleConverter(); } /* @@ -448,7 +448,7 @@ * @param converter * the converter */ - public CustomField(DecimalConverter converter) { + public CustomField(DecimalDoubleConverter converter) { super("", converter); }
diff --git a/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/converter/DecimalConverter.java b/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/converter/DecimalDoubleConverter.java similarity index 90% rename from org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/converter/DecimalConverter.java rename to org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/converter/DecimalDoubleConverter.java index c703866..a703b8f 100644 --- a/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/converter/DecimalConverter.java +++ b/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/converter/DecimalDoubleConverter.java
@@ -27,7 +27,7 @@ * A converter used to format and parse Decimal values. */ @SuppressWarnings("serial") -public class DecimalConverter extends StringToDoubleConverter { +public class DecimalDoubleConverter extends StringToDoubleConverter { /** The integer instance. */ private boolean integerInstance; @@ -50,21 +50,27 @@ /** * Instantiates a new decimal converter. */ - public DecimalConverter() { + public DecimalDoubleConverter() { this(false); } + /** Returns the default value for default format. */ + protected String defaultFormat = "##,##0.00"; + + /** Returns the default value for precision. */ + protected int defaultPrecision = 2; + /** * Instantiates a new decimal converter. * * @param integerInstance * the integer instance */ - public DecimalConverter(boolean integerInstance) { + public DecimalDoubleConverter(boolean integerInstance) { this.integerInstance = integerInstance; - this.numberFormatPattern = getDefaultFormat(); + this.numberFormatPattern = defaultFormat; this.decimalFormatSymbols = getDefaultFormatSymbols(); - this.precision = getDefaultPrecision(); + this.precision = defaultPrecision; this.useGrouping = getDefaultUseGrouping(); } @@ -78,15 +84,6 @@ } /** - * Returns the default value for precision. - * - * @return the default precision - */ - protected int getDefaultPrecision() { - return 2; - } - - /** * Returns the default value for format symbols. * * @return the default format symbols @@ -96,15 +93,6 @@ } /** - * Returns the default value for default format. - * - * @return the default format - */ - protected String getDefaultFormat() { - return "##,##0.00"; - } - - /** * Sets the number format pattern that should be used to format the number. * * @param numberFormatPattern @@ -213,6 +201,7 @@ * com.vaadin.data.util.converter.AbstractStringToNumberConverter#getFormat * (java.util.Locale) */ + @Override protected NumberFormat getFormat(Locale locale) { if (locale == null) { locale = Locale.getDefault();
diff --git a/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/converter/DecimalConverter.java b/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/converter/DecimalFloatConverter.java similarity index 75% copy from org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/converter/DecimalConverter.java copy to org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/converter/DecimalFloatConverter.java index c703866..0c9609c 100644 --- a/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/converter/DecimalConverter.java +++ b/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/converter/DecimalFloatConverter.java
@@ -1,14 +1,17 @@ /** - * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany) - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Florian Pirchner - Initial implementation + * + * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Florian Pirchner - Initial implementation + * */ package org.eclipse.osbp.runtime.web.vaadin.components.converter; @@ -20,14 +23,13 @@ import org.apache.commons.lang.StringEscapeUtils; -import com.vaadin.data.util.converter.StringToDoubleConverter; +import com.vaadin.data.util.converter.StringToFloatConverter; -// TODO: Auto-generated Javadoc /** * A converter used to format and parse Decimal values. */ @SuppressWarnings("serial") -public class DecimalConverter extends StringToDoubleConverter { +public class DecimalFloatConverter extends StringToFloatConverter { /** The integer instance. */ private boolean integerInstance; @@ -47,24 +49,30 @@ /** The precision. */ private int precision; + /** Returns the default value for default format. */ + protected String defaultFormat = "##,##0.00"; + + /** Returns the default value for precision. */ + protected int defaultPrecision = 2; + /** - * Instantiates a new decimal converter. + * Instantiates a new decimal float converter. */ - public DecimalConverter() { + public DecimalFloatConverter() { this(false); } /** - * Instantiates a new decimal converter. + * Instantiates a new decimal float converter. * * @param integerInstance * the integer instance */ - public DecimalConverter(boolean integerInstance) { + public DecimalFloatConverter(boolean integerInstance) { this.integerInstance = integerInstance; - this.numberFormatPattern = getDefaultFormat(); + this.numberFormatPattern = defaultFormat; this.decimalFormatSymbols = getDefaultFormatSymbols(); - this.precision = getDefaultPrecision(); + this.precision = defaultPrecision; this.useGrouping = getDefaultUseGrouping(); } @@ -78,15 +86,6 @@ } /** - * Returns the default value for precision. - * - * @return the default precision - */ - protected int getDefaultPrecision() { - return 2; - } - - /** * Returns the default value for format symbols. * * @return the default format symbols @@ -96,15 +95,6 @@ } /** - * Returns the default value for default format. - * - * @return the default format - */ - protected String getDefaultFormat() { - return "##,##0.00"; - } - - /** * Sets the number format pattern that should be used to format the number. * * @param numberFormatPattern @@ -230,17 +220,17 @@ StringEscapeUtils.unescapeHtml(numberFormatPattern), DecimalFormatSymbols.getInstance(locale)); } - - if (integerInstance) { - result.setParseIntegerOnly(true); - result.setRoundingMode(RoundingMode.HALF_EVEN); - } } catch (IllegalArgumentException e) { String msg = String.format( "formatter %s is invalid for decimal numbers: %s", numberFormatPattern, e.getLocalizedMessage()); throw new ConversionException(msg); } + + if (integerInstance) { + result.setParseIntegerOnly(true); + result.setRoundingMode(RoundingMode.HALF_EVEN); + } } else { if (integerInstance) { result = NumberFormat.getIntegerInstance(locale);
diff --git a/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/fields/DecimalField.java b/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/fields/DecimalField.java index 1bd34ab..adfdf39 100644 --- a/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/fields/DecimalField.java +++ b/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/fields/DecimalField.java
@@ -15,7 +15,8 @@ import java.text.DecimalFormatSymbols; -import org.eclipse.osbp.runtime.web.vaadin.components.converter.DecimalConverter; +import org.eclipse.osbp.runtime.web.vaadin.components.converter.DecimalDoubleConverter; +import org.eclipse.osbp.runtime.web.vaadin.components.converter.DecimalFloatConverter; import com.vaadin.data.util.converter.Converter; @@ -30,7 +31,7 @@ private static final String NEGATIVE_VALUE = "lun-negative-value"; /** The converter. */ - private DecimalConverter converter; + private DecimalDoubleConverter converter; /** The mark negative. */ private boolean markNegative; @@ -60,7 +61,7 @@ * @param converter * the converter */ - public DecimalField(String caption, DecimalConverter converter) { + public DecimalField(String caption, DecimalDoubleConverter converter) { super(caption); setNullRepresentation(""); @@ -76,7 +77,7 @@ * @param converter * the new converter */ - public void setConverter(DecimalConverter converter) { + public void setConverter(DecimalDoubleConverter converter) { this.converter = converter != null ? converter : createConverter(); super.setConverter(this.converter); } @@ -86,8 +87,10 @@ */ @Override public void setConverter(Converter<String, ?> converter) { - if (converter instanceof DecimalConverter || converter == null) { - setConverter((DecimalConverter) converter); + if (converter instanceof DecimalDoubleConverter || converter == null) { + setConverter((DecimalDoubleConverter) converter); + } else if (converter instanceof DecimalFloatConverter) { + super.setConverter((DecimalFloatConverter) converter); } else { throw new UnsupportedOperationException(); } @@ -98,8 +101,8 @@ * * @return the decimal converter */ - protected DecimalConverter createConverter() { - return new DecimalConverter(); + protected DecimalDoubleConverter createConverter() { + return new DecimalDoubleConverter(); } /*
diff --git a/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/fields/search/filter/NumericFilterProperty.java b/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/fields/search/filter/NumericFilterProperty.java index 0682e55..1591132 100644 --- a/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/fields/search/filter/NumericFilterProperty.java +++ b/org.eclipse.osbp.runtime.web.vaadin.components/src/org/eclipse/osbp/runtime/web/vaadin/components/fields/search/filter/NumericFilterProperty.java
@@ -16,7 +16,7 @@ import java.util.Locale; import org.eclipse.osbp.runtime.web.vaadin.common.data.filter.Filters; -import org.eclipse.osbp.runtime.web.vaadin.components.converter.DecimalConverter; +import org.eclipse.osbp.runtime.web.vaadin.components.converter.DecimalDoubleConverter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -28,7 +28,7 @@ private static final Logger LOGGER = LoggerFactory .getLogger(NumericFilterProperty.class); - private final DecimalConverter numberConverter = new DecimalConverter(); + private final DecimalDoubleConverter numberConverter = new DecimalDoubleConverter(); private String stringValue; private Number number;