Title Page Copyright and Credits Data-Centric Applications with Vaadin 8 Dedication Packt Upsell Why subscribe? PacktPub.com Foreword Contributors About the author About the reviewer Packt is searching for authors like you Preface Who this book is for What this book covers To get the most out of this book Download the example code files Download the color images Code in Action Conventions used Get in touch Reviews Creating New Vaadin Projects Technical requirements About the demo applications Understanding the source code Understanding the architecture of a Vaadin application Creating a new project from scratch Maven dependencies Servlets and UIs Maven plugins Components and layouts Listeners and binders Events and listeners Data binding Resources and themes Widget sets and add-ons Summary Modularization and Main Screens Technical requirements Creating a multi-module Maven project Implementing an application's main screen Defining an API for an application's main screen Implementing support classes Implementing a concrete application's main screen Adding and configuring the required UI components Implementing the ApplicationLayout interface Implementing the menu Modularizing Vaadin applications Identifying alternatives for modularization Registering modules with the application Discovering modules Implementing new modules Summary Implementing Server-Side Components with Internationalization Technical requirements Using extensions to develop a UI component Extending VerticalLayout Why avoid extension? Using composition to develop custom components Implementing a factory Using the Composite class Using the LoginForm class Using internationalization for Multiple Language Support Removing hardcoded strings Getting localized strings Getting and setting the locale Summary Implementing Authentication and Authorization Technical requirements Implementing public and private views Using the HTTP session and cookies to identify users Keeping track of authenticated users Implementing the login/logout process Implementing the remember me feature Enabling features according to a user's roles Coding authorization logic in UI components Coding authorization using request data Getting request information Routing requests to a UI component Coding authorization with the help of a Navigator Summary Connecting to SQL Databases Using JDBC Technical requirements Introduction to JDBC Adding a JDBC driver for your database Establishing a database connection through a connection pool Creating a statement and executing an SQL query Getting and processing a result set Closing a database connection Implementing data repositories Defining a domain model Implementing repositories and services The active record pattern Summary Connecting to SQL Databases Using ORM Frameworks Technical requirements Using object-relational mapping frameworks Connecting to SQL databases using JPA Defining a persistence unit Creating an EntityManagerFactory Implementing Entity classes Executing queries Implementing a Vaadin UI to list and save Entities Connecting to SQL databases using MyBatis Defining a database connection Implementing mapper classes Implementing a service class Connecting to SQL databases using jOOQ Defining a database connection Reverse-engineering the database schema Running queries Summary Implementing CRUD User Interfaces Technical requirements CRUD user interface design In-place fields Modal pop-up windows Hierarchical menus The domain model Implementing a CRUD using an editable Grid component Implementing the read operation Implementing the update operation Adding Bean Validation with JSR-303 Implementing a CRUD using Grids and forms Implementing the read operation Implementing the create and update operations Implementing the delete operation Using the Crud UI add-on Filtering Summary Adding Reporting Capabilities Technical requirements The example application The data model The Vaadin UI Integrating JasperReports with Vaadin Getting the data Designing the report Rendering a report as HTML Adding charts Generating a report in a background task Exporting a report to a PDF Server Push Summary Lazy Loading Technical requirements The example application The data model The Vaadin UI Preparing the backend for lazy loading Lazy loading with the Grid component Adding filters Ordering rows in Grid components Preparing the backend services Enabling ordering in the UI UX and large datasets Lazy loading Grid versus direct search Infinite lazy loading Summary Other Books You May Enjoy Leave a review - let other readers know what you think