Creating CRUD UI with Vaadin... in Vaadin 8 ?

Is the tutorial on Spring for Vaadin 8 ?


http://spring.io/guides/gs/crud-with-vaadin/

Seems to be. Does the tutorial have some problem or error?

Yes, please see vaadin-bom part, you can see vaadin version in it.

Hello, wow… Johannes and qizer, Thank you! I am determined to learn Vaadin, it seems to be exactly what I have been seeking for a front-end to create Spring Boot database web apps.

I viewed a portion of the series of videos beginning with lead developer Pekka Hyvönen and Developer Advocate Matti Tahvonen - Streamed live on Mar 7, 2017.

And I love the tutorial given by ___ in the Seven Step Main Beginners tutorial:
https://vaadin.com/docs7/-/part7/framework/tutorial.html
NOTE: I went through the documentation for Vaadin 7 (even though I realize a little about the great improvements in Vaadin 8 – but without instruction, one cannot even begin to appreciate anything IF one cannot accomplish the very BASICS of data connectivity to a Vaadin Grid).

Please – SOMEWHERE between Step 6 (instructions OK) and Step 7 (instructions missing a few steps and does not work)

Can anyone direct me to the SAME instructions that can allow me to complete the SAME master-detail example?

My hope is to then to modify/upgrade that same example to connect to remote data, which I can do and currently use HTML tables to display the AWS RDS data. I want to learn and use Vaadin.

Please, can anyone review the current incorrect instructions and maybe provide directions?

I have found the Book of Vaadin, and have read a bit of it – I definitely shall read and study it, I would like to have the working example FIRST to use as a SUBJECT of study in my discovery and education of Vaadin.

If it is not possible, to begin with learning Vaadin 8, due to a lack of beginning instruction.

Please, can I put my Designer 2-week trial on HOLD, as I cannot use it with Vaadin 7 until I get to the point of completing the very first beginners tutorial?

Yes, I am going to explain in DETAIL right now, please allow me 1 hour to post back.

By the way, Johannes Hayry – thank you for your kindness, in a world of programmers that have no compassion for people and are condencending instead of being a leader. You stand out as the wind beneath ones feet – instead of an anchor around ones neck.

Thank you. The wonderful Paul Diaz is handling it, but IF I CAN just get the beginning trial instructions to work. Then I can begin to build upon that to learn. I have no problem with spending 18 hours a day to learn Vaadin, until I can transfer a basic POJO with a standard html table and TRANSFORM the bland to the Vaadin Fantastic with the feature of the Vaadin Grid.

PART 1 OF 2 - instructional error in Vaadin instruction
https://www.useloom.com/share/a08b011a6da74014a641011ddd5c6545

I can ask your trial be extended if you send me an email to johannes.hayry vaadin.com so I can see the email your trial is registered to.

Detail fields do not populate, no instruction provided – instruction is omitted
https://www.useloom.com/share/a726984a844342949a3aeb1ede1b8ada

Video Report of Final part of the Vaadin instructional errors:
https://www.useloom.com/share/a08b011a6da74014a641011ddd5c6545
https://www.useloom.com/share/a726984a844342949a3aeb1ede1b8ada
https://www.useloom.com/share/085698dfd0294efab653535a3dd9bad1

  1. data does not populate the detail form fields when focus is set to the master grid row
  2. form does not SHOW upon focus on a row within the master grid row
  3. some sort of date error in data connectivity

Below is the code and stack trace:

package com.webapp.DuelChem_Inventory;

import java.util.List;
import javax.servlet.annotation.WebServlet;
import com.vaadin.annotations.Theme;
import com.vaadin.annotations.VaadinServletConfiguration;
import com.vaadin.annotations.Widgetset;
import com.vaadin.data.util.BeanItemContainer;
import com.vaadin.server.FontAwesome;
import com.vaadin.server.VaadinRequest;
import com.vaadin.server.VaadinServlet;
import com.vaadin.ui.Button;
import com.vaadin.ui.CssLayout;
import com.vaadin.ui.Grid;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.Notification;
import com.vaadin.ui.TextField;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.themes.ValoTheme;





@Theme("maintheme")
public class MainUI extends UI {
    
    private CustomerService service = CustomerService.getInstance();    
    private Grid grid = new Grid();
    private TextField filterText = new TextField();
    private CustomerForm form = new CustomerForm(this);
    
    @Override
    protected void init(VaadinRequest vaadinRequest) {    
        VerticalLayout layout = new VerticalLayout();
        
        filterText.setInputPrompt("filter by name...");
        filterText.addTextChangeListener(e -> {
            grid.setContainerDataSource(new BeanItemContainer<>(Customer.class,
                    service.findAll(e.getText())));            
        });
        
        Button clearFilterTextBtn = new Button(FontAwesome.TIMES);
        clearFilterTextBtn.addClickListener(e -> {
            filterText.clear();
            updateList();
        });
        
        CssLayout filtering = new CssLayout();
        filtering.setStyleName(ValoTheme.LAYOUT_COMPONENT_GROUP);
        filtering.addComponents(filterText, clearFilterTextBtn);
        
        grid.setColumns("firstName", "lastName", "email");
        
        HorizontalLayout main = new HorizontalLayout(grid, form);
        main.setSpacing(true);
        main.setSizeFull();
        grid.setSizeFull();
        main.setExpandRatio(grid, 1);        
        
        layout.addComponents(filtering, main);
        
        updateList();
        
        layout.setMargin(true);
        layout.setSpacing(true);
        setContent(layout);
     
    form.setVisible(false);    
        
 grid.addSelectionListener(event -> {
        if (event.getSelected().isEmpty()) {
            form.setVisible(false);
        } else {
            Customer customer = (Customer) event.getSelected().iterator().next();
            form.setCustomer(customer);
        }
    });

    }    
    
    public void updateList() {
        List<Customer> customers = service.findAll(filterText.getValue());
        grid.setContainerDataSource(new BeanItemContainer<>(Customer.class, customers));
    }

    @WebServlet(urlPatterns = "/*", name = "MainUIServlet", asyncSupported = true)
    @VaadinServletConfiguration(ui = MainUI.class, productionMode = false)
    public static class MainUIServlet extends VaadinServlet {
    }
}
Mar 24, 2017 7:50:39 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]
{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:DuelChem_Inventory' did not find a matching property.
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/8.0.41
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Jan 18 2017 22:19:39 UTC
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         8.0.41.0
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Windows 7
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            6.1
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             C:\Program Files\Java\jre1.8.0_121
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.8.0_121-b13
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         C:\Users\reno\Desktop\DuelChem\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         C:\Program Files\Apache Software Foundation\Tomcat 8.0
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:50056
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=C:\Users\reno\Desktop\DuelChem\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 8.0
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=C:\Users\reno\Desktop\DuelChem\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 8.0\endorsed
Mar 24, 2017 7:50:39 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Mar 24, 2017 7:50:39 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.8.0_121\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_121/bin/server;C:/Program Files/Java/jre1.8.0_121/bin;C:/Program Files/Java/jre1.8.0_121/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\MySQL\MySQL Utilities 1.6\;C:\Users\reno\Desktop;;.
Mar 24, 2017 7:50:40 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]

Mar 24, 2017 7:50:40 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Mar 24, 2017 7:50:40 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]

Mar 24, 2017 7:50:40 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Mar 24, 2017 7:50:40 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 807 ms
Mar 24, 2017 7:50:40 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Mar 24, 2017 7:50:40 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.0.41
Mar 24, 2017 7:50:41 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Mar 24, 2017 7:50:41 AM org.apache.catalina.core.ApplicationContext log
INFO: Initializing AtmosphereFramework
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFO: Installed AtmosphereHandler com.vaadin.server.communication.PushAtmosphereHandler mapped to context-path: /*
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFO: Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.server.communication.PushAtmosphereHandler
Mar 24, 2017 7:50:41 AM org.atmosphere.util.IOUtils readServiceFile
INFO: META-INF/services/org.atmosphere.cpr.AtmosphereFramework not found in class loader
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework autoConfigureService
INFO: Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework initWebSocket
INFO: Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol 
Mar 24, 2017 7:50:41 AM org.atmosphere.container.JSR356AsyncSupport <init>
INFO: JSR 356 Mapping path /{path}
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Installing Default AtmosphereInterceptors
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Dropping Interceptor org.atmosphere.interceptor.HeartbeatInterceptor
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Broadcaster Polling Wait Time 100
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Shared ExecutorService supported: true
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Messaging Thread Pool Size: Unlimited
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Async I/O Thread Pool Size: 200
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Invoke AtmosphereInterceptor on WebSocket message true
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: HttpSession supported: true
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere is using DefaultAtmosphereObjectFactory for dependency injection and object creation
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/8.0.41 using javax.servlet/3.0 and jsr356/WebSocket API
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere Framework 2.2.9.vaadin2 started.
Mar 24, 2017 7:50:41 AM org.atmosphere.cpr.AtmosphereFramework interceptor
INFO: Installed AtmosphereInterceptor  Track Message Size Interceptor using | with priority BEFORE_DEFAULT 
Mar 24, 2017 7:50:41 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]

Mar 24, 2017 7:50:41 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-8009"]

Mar 24, 2017 7:50:41 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1126 ms
Mar 24, 2017 7:50:47 AM com.vaadin.server.DefaultDeploymentConfiguration checkProductionMode
WARNING: 
=================================================================
Vaadin is running in DEBUG MODE.
Add productionMode=true to web.xml to disable debug features.
To show debug window, add ?debug to your application URL.
=================================================================
Mar 24, 2017 7:50:52 AM com.vaadin.server.DefaultErrorHandler doDefault
SEVERE: 
com.vaadin.data.Buffered$SourceException
    at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:667)
    at com.vaadin.data.fieldgroup.FieldGroup.bind(FieldGroup.java:274)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.bind(BeanFieldGroup.java:155)
    at com.vaadin.data.fieldgroup.FieldGroup.buildAndBindMemberFields(FieldGroup.java:1015)
    at com.vaadin.data.fieldgroup.FieldGroup.bindMemberFields(FieldGroup.java:860)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.createAndBindFields(BeanFieldGroup.java:266)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.bindFieldsUnbuffered(BeanFieldGroup.java:235)
    at com.webapp.DuelChem_Inventory.CustomerForm.setCustomer(CustomerForm.java:46)
    at com.webapp.DuelChem_Inventory.MainUI.lambda$2(MainUI.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)
    at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1015)
    at com.vaadin.ui.Grid.fireSelectionEvent(Grid.java:6022)
    at com.vaadin.ui.Grid$AbstractSelectionModel.fireSelectionEvent(Grid.java:1471)
    at com.vaadin.ui.Grid$SingleSelectionModel.select(Grid.java:1538)
    at com.vaadin.ui.Grid$SingleSelectionModel$1.select(Grid.java:1510)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:119)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:432)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:404)
    at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
    at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90)
    at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1422)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:379)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:509)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1524)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1480)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Caused by: com.vaadin.data.util.converter.Converter$ConversionException: Unable to convert value of type java.time.LocalDate to presentation type class java.util.Date. No converter is set and the types are not compatible.
    at com.vaadin.data.util.converter.ConverterUtil.convertFromModel(ConverterUtil.java:118)
    at com.vaadin.ui.AbstractField.convertFromModel(AbstractField.java:738)
    at com.vaadin.ui.AbstractField.convertFromModel(AbstractField.java:723)
    at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:659)
    ... 55 more

Mar 24, 2017 7:50:58 AM com.vaadin.server.DefaultErrorHandler doDefault
SEVERE: 
com.vaadin.data.Buffered$SourceException
    at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:667)
    at com.vaadin.data.fieldgroup.FieldGroup.bind(FieldGroup.java:274)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.bind(BeanFieldGroup.java:155)
    at com.vaadin.data.fieldgroup.FieldGroup.buildAndBindMemberFields(FieldGroup.java:1015)
    at com.vaadin.data.fieldgroup.FieldGroup.bindMemberFields(FieldGroup.java:860)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.createAndBindFields(BeanFieldGroup.java:266)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.bindFieldsUnbuffered(BeanFieldGroup.java:235)
    at com.webapp.DuelChem_Inventory.CustomerForm.setCustomer(CustomerForm.java:46)
    at com.webapp.DuelChem_Inventory.MainUI.lambda$2(MainUI.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)
    at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1015)
    at com.vaadin.ui.Grid.fireSelectionEvent(Grid.java:6022)
    at com.vaadin.ui.Grid$AbstractSelectionModel.fireSelectionEvent(Grid.java:1471)
    at com.vaadin.ui.Grid$SingleSelectionModel.select(Grid.java:1538)
    at com.vaadin.ui.Grid$SingleSelectionModel$1.select(Grid.java:1510)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:119)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:432)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:404)
    at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
    at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90)
    at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1422)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:379)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:509)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1524)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1480)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Caused by: com.vaadin.data.util.converter.Converter$ConversionException: Unable to convert value of type java.time.LocalDate to presentation type class java.util.Date. No converter is set and the types are not compatible.
    at com.vaadin.data.util.converter.ConverterUtil.convertFromModel(ConverterUtil.java:118)
    at com.vaadin.ui.AbstractField.convertFromModel(AbstractField.java:738)
    at com.vaadin.ui.AbstractField.convertFromModel(AbstractField.java:723)
    at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:659)
    ... 55 more

Mar 24, 2017 7:50:59 AM com.vaadin.server.DefaultErrorHandler doDefault
SEVERE: 
com.vaadin.data.Buffered$SourceException
    at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:667)
    at com.vaadin.data.fieldgroup.FieldGroup.bind(FieldGroup.java:274)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.bind(BeanFieldGroup.java:155)
    at com.vaadin.data.fieldgroup.FieldGroup.buildAndBindMemberFields(FieldGroup.java:1015)
    at com.vaadin.data.fieldgroup.FieldGroup.bindMemberFields(FieldGroup.java:860)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.createAndBindFields(BeanFieldGroup.java:266)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.bindFieldsUnbuffered(BeanFieldGroup.java:235)
    at com.webapp.DuelChem_Inventory.CustomerForm.setCustomer(CustomerForm.java:46)
    at com.webapp.DuelChem_Inventory.MainUI.lambda$2(MainUI.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)
    at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1015)
    at com.vaadin.ui.Grid.fireSelectionEvent(Grid.java:6022)
    at com.vaadin.ui.Grid$AbstractSelectionModel.fireSelectionEvent(Grid.java:1471)
    at com.vaadin.ui.Grid$SingleSelectionModel.select(Grid.java:1538)
    at com.vaadin.ui.Grid$SingleSelectionModel$1.select(Grid.java:1510)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:119)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:432)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:404)
    at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
    at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90)
    at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1422)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:379)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:509)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1524)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1480)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Caused by: com.vaadin.data.util.converter.Converter$ConversionException: Unable to convert value of type java.time.LocalDate to presentation type class java.util.Date. No converter is set and the types are not compatible.
    at com.vaadin.data.util.converter.ConverterUtil.convertFromModel(ConverterUtil.java:118)
    at com.vaadin.ui.AbstractField.convertFromModel(AbstractField.java:738)
    at com.vaadin.ui.AbstractField.convertFromModel(AbstractField.java:723)
    at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:659)
    ... 55 more

Mar 24, 2017 7:50:59 AM com.vaadin.server.DefaultErrorHandler doDefault
SEVERE: 
com.vaadin.data.Buffered$SourceException
    at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:667)
    at com.vaadin.data.fieldgroup.FieldGroup.bind(FieldGroup.java:274)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.bind(BeanFieldGroup.java:155)
    at com.vaadin.data.fieldgroup.FieldGroup.buildAndBindMemberFields(FieldGroup.java:1015)
    at com.vaadin.data.fieldgroup.FieldGroup.bindMemberFields(FieldGroup.java:860)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.createAndBindFields(BeanFieldGroup.java:266)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.bindFieldsUnbuffered(BeanFieldGroup.java:235)
    at com.webapp.DuelChem_Inventory.CustomerForm.setCustomer(CustomerForm.java:46)
    at com.webapp.DuelChem_Inventory.MainUI.lambda$2(MainUI.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)
    at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1015)
    at com.vaadin.ui.Grid.fireSelectionEvent(Grid.java:6022)
    at com.vaadin.ui.Grid$AbstractSelectionModel.fireSelectionEvent(Grid.java:1471)
    at com.vaadin.ui.Grid$SingleSelectionModel.select(Grid.java:1538)
    at com.vaadin.ui.Grid$SingleSelectionModel$1.select(Grid.java:1510)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:119)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:432)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:404)
    at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
    at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90)
    at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1422)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:379)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:509)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1524)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1480)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Caused by: com.vaadin.data.util.converter.Converter$ConversionException: Unable to convert value of type java.time.LocalDate to presentation type class java.util.Date. No converter is set and the types are not compatible.
    at com.vaadin.data.util.converter.ConverterUtil.convertFromModel(ConverterUtil.java:118)
    at com.vaadin.ui.AbstractField.convertFromModel(AbstractField.java:738)
    at com.vaadin.ui.AbstractField.convertFromModel(AbstractField.java:723)
    at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:659)
    ... 55 more

Pekka Hyvönen ?
https://www.useloom.com/share/5b10e39fc58149d684777380ef1b2230

I shall be in Helsinki later this year and hope to attend the Vaadin training.

Is this Pekka on the left?
31812.jpg

Here is where I shared the date error

https://vaadin.com/forum#!/thread/15495008

ref:
Is the tutorial on Spring for Vaadin 8 ?
http://spring.io/guides/gs/crud-with-vaadin/

Thank you qizer, shall try that tutorial after accomplishing the very first beginners master tutorial

I began learning vaadin from this sample

You mention tutorial at address https://vaadin.com/docs7/-/part7/framework/tutorial.html , but that tutorial is for Vaadin 7. If you are starting new development in Vaadin I recommend learning Vaadin 8. That tutorial is at https://vaadin.com/docs/-/part/framework/tutorial.html

The videos presented in
https://vaadin.com/docs/-/part/framework/tutorial.html
are talking about Vaadin 7. Sorry about the inconveniece. I heard that those videos would be updated as soon as possible. So I recommend following tutorial text and sample code, but not following the code samples in the videos.

Hello, thank you for your reply. I was able to get the download version to work (example from github):

https://github.com/vaadin/tutorial/

Coming from a Delphi background, I had been moving into JSF. I realize that JSF beans are not compatible with Vaadin,so I am re-writing my beans for data connectivity right now, and then hope to accomplish populating a Vaadin grid with remote MySql data:


https://www.voxxed.com/blog/2017/03/21-improvements-vaadin-8/

Please any suggestions or examples you may share in accomplishing this basic development step, would be greatly appreciated.

Hi,

You might want to follow this guide:
https://vaadin.com/blog/-/blogs/building-a-web-ui-for-mysql-databases-in-plain-java-
. I just updated it to Vaadin 8.