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;