catch up with branch daily

Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.vaadin.addons.kanban/.project b/org.eclipse.osbp.vaadin.addons.kanban/.project
index 5601cc9..22fea80 100644
--- a/org.eclipse.osbp.vaadin.addons.kanban/.project
+++ b/org.eclipse.osbp.vaadin.addons.kanban/.project
@@ -45,8 +45,15 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
 		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
 		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
diff --git a/org.eclipse.osbp.vaadin.addons.keyevents/.project b/org.eclipse.osbp.vaadin.addons.keyevents/.project
index 3f994f6..6e849ff 100644
--- a/org.eclipse.osbp.vaadin.addons.keyevents/.project
+++ b/org.eclipse.osbp.vaadin.addons.keyevents/.project
@@ -45,8 +45,15 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
 		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
 		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
diff --git a/org.eclipse.osbp.vaadin.addons.keyevents/.settings/com.vaadin.integration.eclipse.prefs b/org.eclipse.osbp.vaadin.addons.keyevents/.settings/com.vaadin.integration.eclipse.prefs
index f9769c8..cd0ea90 100644
--- a/org.eclipse.osbp.vaadin.addons.keyevents/.settings/com.vaadin.integration.eclipse.prefs
+++ b/org.eclipse.osbp.vaadin.addons.keyevents/.settings/com.vaadin.integration.eclipse.prefs
@@ -1,11 +1,12 @@
 com.vaadin.integration.eclipse.mavenAutoCompileWidgetset=true
-com.vaadin.integration.eclipse.mavenLatestVersionsUpgrade=["7.7.13"]
+com.vaadin.integration.eclipse.mavenLatestVersionsUpgrade=["7.7.16"]
 com.vaadin.integration.eclipse.notifyOfVaadinUpdates=true
 com.vaadin.integration.eclipse.previousCompileAction=widgetset
 com.vaadin.integration.eclipse.useLatestNightly=false
 com.vaadin.integration.eclipse.widgetsetBuildsSuspended=true
-com.vaadin.integration.eclipse.widgetsetCompilationEta=34529
-com.vaadin.integration.eclipse.widgetsetDirty=true
-com.vaadin.integration.eclipse.widgetsetStyle=OBF
+com.vaadin.integration.eclipse.widgetsetCompilationEta=31801
+com.vaadin.integration.eclipse.widgetsetDirty=false
+com.vaadin.integration.eclipse.widgetsetExtraParameters=-strict -logLevel WARN
+com.vaadin.integration.eclipse.widgetsetStyle=PRETTY
 com.vaadin.integration.eclipse.widgetsetVerbose=true
 eclipse.preferences.version=1
diff --git a/org.eclipse.osbp.vaadin.addons.keyevents/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.vaadin.addons.keyevents/.settings/org.eclipse.jdt.core.prefs
index 13b3428..357ea34 100644
--- a/org.eclipse.osbp.vaadin.addons.keyevents/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.osbp.vaadin.addons.keyevents/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,13 @@
 eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
@@ -7,7 +16,91 @@
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.vaadin.addons.keyevents/Sample/org/eclipse/osbp/vaadin/addons/keyevents/sample/KeyEventsSample.java b/org.eclipse.osbp.vaadin.addons.keyevents/Sample/org/eclipse/osbp/vaadin/addons/keyevents/sample/KeyEventsSample.java
index 2796014..ee9c68a 100644
--- a/org.eclipse.osbp.vaadin.addons.keyevents/Sample/org/eclipse/osbp/vaadin/addons/keyevents/sample/KeyEventsSample.java
+++ b/org.eclipse.osbp.vaadin.addons.keyevents/Sample/org/eclipse/osbp/vaadin/addons/keyevents/sample/KeyEventsSample.java
@@ -51,7 +51,40 @@
 		p2.setContent(t);
 
 		KeyEventExtension ext = KeyEventExtension.addTo(p2);
-		ext.setCallback(e -> t.setValue(t.getValue() + e.charCode));
+		ext.setCallback(e -> {
+			if(e.charCode > 95 && e.charCode < 106 ) {
+				e.charCode -= 48;
+			} else if(!e.shiftKeyDown && e.charCode > 57 && e.charCode < 91) {
+				e.charCode += 32; 
+			} else if(e.shiftKeyDown && e.charCode > 47 && e.charCode < 58) {
+				e.charCode -= 16; 
+			} else if(e.charCode == 192) {	// ö
+				if(e.shiftKeyDown) {
+					e.charCode = 0xD6;
+				} else {
+					e.charCode = 0xF6;
+				}
+			} else if(e.charCode == 222) {	// ä
+				if(e.shiftKeyDown) {
+					e.charCode = 0xC4;
+				} else {
+					e.charCode = 0xE4;
+				}
+			} else if(e.charCode == 186) {	// ü
+				if(e.shiftKeyDown) {
+					e.charCode = 0xDC;
+				} else {
+					e.charCode = 0xFC;
+				}
+			} else if(e.charCode == 219) {	// ß
+				if(e.shiftKeyDown) {
+					e.charCode = 63;
+				} else {
+					e.charCode = 0xDF;
+				}
+			}
+			t.setValue(" "+e.charCode+" "+(char)e.charCode);
+		});
 
 		this.focus();
 	}
diff --git a/org.eclipse.osbp.vaadin.addons.keyevents/src/org/eclipse/osbp/vaadin/addons/keyevents/client/KeyEventExtensionConnector.java b/org.eclipse.osbp.vaadin.addons.keyevents/src/org/eclipse/osbp/vaadin/addons/keyevents/client/KeyEventExtensionConnector.java
index 974deb2..a34203b 100644
--- a/org.eclipse.osbp.vaadin.addons.keyevents/src/org/eclipse/osbp/vaadin/addons/keyevents/client/KeyEventExtensionConnector.java
+++ b/org.eclipse.osbp.vaadin.addons.keyevents/src/org/eclipse/osbp/vaadin/addons/keyevents/client/KeyEventExtensionConnector.java
@@ -14,6 +14,7 @@
 import com.vaadin.client.communication.RpcProxy;
 import com.vaadin.client.extensions.AbstractExtensionConnector;
 import com.vaadin.event.ShortcutAction.KeyCode;
+import com.vaadin.event.ShortcutAction.ModifierKey;
 import com.vaadin.shared.ui.Connect;
 
 @SuppressWarnings("serial")
@@ -22,26 +23,21 @@
 
 	private KeyEventServerRpc serverRPC = RpcProxy.create(KeyEventServerRpc.class, this);
 	private HandlerRegistration handlerRegistration;
-	protected Map<Integer, String> keyMapper = new HashMap<Integer, String>() {
+	protected Map<Integer, String> unkeyMapper = new HashMap<Integer, String>() {
 		private static final long serialVersionUID = 8801421284339992078L;
 		{
-			put(KeyCode.TAB, "TAB");
-			put(KeyCode.ENTER, "ENTER");
-			put(KeyCode.ESCAPE, "ESC");
-			put(KeyCode.PAGE_UP, "PGUP");
-			put(KeyCode.PAGE_DOWN, "PGDOWN");
-			put(KeyCode.F1, "F1");
-			put(KeyCode.F2, "F2");
-			put(KeyCode.F3, "F3");
-			put(KeyCode.F4, "F4");
-			put(KeyCode.F5, "F5");
-			put(KeyCode.F6, "F6");
-			put(KeyCode.F7, "F7");
-			put(KeyCode.F8, "F8");
-			put(KeyCode.F9, "F9");
-			put(KeyCode.F10, "F10");
-			put(KeyCode.F11, "F11");
-			put(KeyCode.F12, "F12");
+			put(KeyCode.ARROW_DOWN, "ARROW_DOWN");
+			put(KeyCode.ARROW_LEFT, "ARROW_LEFT");
+			put(KeyCode.ARROW_RIGHT, "ARROW_RIGHT");
+			put(KeyCode.ARROW_UP, "ARROW_UP");
+			put(KeyCode.HOME, "HOME");
+			put(KeyCode.END, "END");
+			put(KeyCode.DELETE, "DELETE");
+			put(KeyCode.BACKSPACE, "BACKSPACE");
+			put(ModifierKey.ALT, "ALT");
+			put(ModifierKey.SHIFT, "SHIFT");
+			put(ModifierKey.CTRL, "CTRL");
+			put(ModifierKey.META, "META");
 		}
 	};
 
@@ -55,7 +51,7 @@
 				switch (nativePreviewEvent.getTypeInt()) {
 				case com.google.gwt.user.client.Event.ONKEYUP:
 					final Event event = createEvent(nativePreviewEvent.getNativeEvent());
-					if (Character.isAlphabetic(event.charCode) || Character.isDigit(event.charCode) || keyMapper.containsKey(event.charCode)) {
+					if (!unkeyMapper.containsKey(event.charCode)) {
 						serverRPC.onKeyPress(event);
 						nativePreviewEvent.cancel();
 					}
diff --git a/org.eclipse.osbp.vaadin.addons.suggesttext/.project b/org.eclipse.osbp.vaadin.addons.suggesttext/.project
index 42358a8..8d17138 100644
--- a/org.eclipse.osbp.vaadin.addons.suggesttext/.project
+++ b/org.eclipse.osbp.vaadin.addons.suggesttext/.project
@@ -45,8 +45,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
 		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
diff --git a/pom.xml b/pom.xml
index a2ae7d0..0ae9ee9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,18 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--
- *                                                                            
- * 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:   
- * Christophe Loetz (Loetz GmbH&Co.KG) - 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: * Christophe Loetz 
+	(Loetz GmbH&Co.KG) - Initial implementation -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
@@ -39,15 +31,39 @@
 	<properties>
 		<osbp.gitrepo.name>${project.groupId}</osbp.gitrepo.name>
 	</properties>
-
+	<repositories>
+		<repository>
+			<id>osbp-nexus-snapshots</id>
+			<name>${distribution.repository.release.id}</name>
+			<url>${distribution.repository.release.url}</url>
+			<releases>
+				<enabled>false</enabled>
+			</releases>
+			<snapshots>
+				<updatePolicy>always</updatePolicy>
+				<enabled>true</enabled>
+			</snapshots>
+		</repository>
+		<repository>
+			<id>osbp-nexus-release</id>
+			<name>${distribution.repository.snapshot.id}</name>
+			<url>${distribution.repository.snapshot.url}</url>
+			<releases>
+				<enabled>true</enabled>
+			</releases>
+			<snapshots>
+				<enabled>false</enabled>
+			</snapshots>
+		</repository>
+	</repositories>
 	<modules>
 		<module>org.eclipse.osbp.vaadin.addons.absolutelayout</module>
 		<module>org.eclipse.osbp.vaadin.addons.designer.overlay</module>
 		<module>org.eclipse.osbp.vaadin.addons.kanban</module>
 		<module>org.eclipse.osbp.vaadin.addons.suggesttext</module>
 		<module>org.eclipse.osbp.vaadin.addons.keyevents</module>
-	<!-- NO FEATURES IN MBP REACTORS! -->
-<!-- 		<module>org.eclipse.osbp.vaadin.addons.feature</module> -->
+		<!-- NO FEATURES IN MBP REACTORS! -->
+		<!-- <module>org.eclipse.osbp.vaadin.addons.feature</module> -->
 	</modules>
 	<build>
 		<pluginManagement>