com.holon-platform.vaadin:holon-vaadin-flow-test

Holon Vaadin Flow test support

License

License

Categories

Categories

Vaadin User Interface Web Frameworks ORM Data
GroupId

GroupId

com.holon-platform.vaadin
ArtifactId

ArtifactId

holon-vaadin-flow-test
Last Version

Last Version

5.2.0-rc1
Release Date

Release Date

Type

Type

jar
Description

Description

com.holon-platform.vaadin:holon-vaadin-flow-test
Holon Vaadin Flow test support
Project URL

Project URL

https://holon-platform.com
Project Organization

Project Organization

The Holon Platform

Download holon-vaadin-flow-test

How to add to project

<!-- https://jarcasting.com/artifacts/com.holon-platform.vaadin/holon-vaadin-flow-test/ -->
<dependency>
    <groupId>com.holon-platform.vaadin</groupId>
    <artifactId>holon-vaadin-flow-test</artifactId>
    <version>5.2.0-rc1</version>
</dependency>
// https://jarcasting.com/artifacts/com.holon-platform.vaadin/holon-vaadin-flow-test/
implementation 'com.holon-platform.vaadin:holon-vaadin-flow-test:5.2.0-rc1'
// https://jarcasting.com/artifacts/com.holon-platform.vaadin/holon-vaadin-flow-test/
implementation ("com.holon-platform.vaadin:holon-vaadin-flow-test:5.2.0-rc1")
'com.holon-platform.vaadin:holon-vaadin-flow-test:jar:5.2.0-rc1'
<dependency org="com.holon-platform.vaadin" name="holon-vaadin-flow-test" rev="5.2.0-rc1">
  <artifact name="holon-vaadin-flow-test" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.holon-platform.vaadin', module='holon-vaadin-flow-test', version='5.2.0-rc1')
)
libraryDependencies += "com.holon-platform.vaadin" % "holon-vaadin-flow-test" % "5.2.0-rc1"
[com.holon-platform.vaadin/holon-vaadin-flow-test "5.2.0-rc1"]

Dependencies

provided (2)

Group / Artifact Type Version
com.vaadin : vaadin-testbench jar
com.vaadin : vaadin-testbench-core jar

test (3)

Group / Artifact Type Version
org.junit.jupiter : junit-jupiter-api jar 5.3.1
org.junit.jupiter : junit-jupiter-engine jar 5.3.1
ch.qos.logback : logback-classic jar 1.2.3

Project Modules

There are no modules declared in this project.

Holon platform Vaadin Flow module

Latest release: 5.5.0

This is the Vaadin Flow UI module of the Holon Platform, which represents the platform support for the Vaadin Flow web applications platform, focusing on the user interface components, navigation and data binding features.

  • A Java API to build (using fluent builders), manage and use the web application UI components.
  • Integration with the platform foundation architecture, such as the Property model and the Datastore API, the authentication, authorization and localization support.
  • Routing targets query parameters injection using the @QueryParameter annotation, with extensible Java type conversion support.
  • A Navigator API to manage the web application routing, with query parameters support.
  • Spring and Spring Boot integration.

See the module documentation for details.

Just like any other platform module, this artifact is part of the Holon Platform ecosystem, but can be also used as a stand-alone library.

See Getting started and the platform documentation for further details.

Previous Vaadin versions

The Holon platform Vaadin module is also available for previous Vaadin platform versions:

At-a-glance overview

Component builders:

Div label = Components.label()
  .text("Label text")
  .width("200px")
  .build();

Dialog:

Components.dialog.question(confirm -> {
    // handle user response (true/false)
  }).text("Default text", "message.code")
  .open();

Item listing:

PropertyListing listing = PropertyListing.builder(SUBJECT) 
  .dataSource(datastore, TARGET)
  .withQueryFilter(NAME.isNotNull())
  .withQuerySort(ID.asc())
  .frozenColumns(1) 
  .withComponentColumn(item -> new Button(item.getValue(NAME)))
    .sortUsing(NAME)
    .displayAsFirst()
    .add()
  .multiSelect()
  .withSelectionListener(event -> {
    // ...
  })
  .build();
  
listing.refresh();

Input components and forms:

Input<String> input = Input.string()
  .label("My label", "label.message.code")
  .maxLength(50)
  .build();
  
SingleSelect<String> singleSelect = Input.singleSelect(ID)
  .dataSource(datastore, TARGET, SUBJECT)
  .build();
  
PropertyInputForm form = PropertyInputForm.formLayout(SUBJECT)
  .hidden(ID)
  .propertyCaption(NAME, "My name", "name.message.code")
  .build();
  
form.validate();

PropertyBox value = form.getValue();

Query parameters injection:

@Route("some/path")
public class View extends Div {

  @QueryParameter
  private String parameter1;
  
  @QueryParameter("myparam2")
  private Integer parameter2;
  
  @QueryParameter(value = "myparam3", required = true)
  private LocalDate parameter3;

}

Navigator API:

Navigator navigator = Navigator.get();

navigator.navigateTo("some/path");

navigator.navigateBack();

navigator.navigation(View.class)
  .withQueryParameter("myparam", new Integer(1))
  .withQueryParameter("multi", "a", "b", "c")
  .navigate();

Code structure

See Holon Platform code structure and conventions to learn about the "real Java API" philosophy with which the project codebase is developed and organized.

Getting started

System requirements

The Holon Platform is built using Java 8, so you need a JRE/JDK version 8 or above to use the platform artifacts.

Releases

See releases for the available releases. Each release tag provides a link to the closed issues.

Obtain the artifacts

The Holon Platform is open source and licensed under the Apache 2.0 license. All the artifacts (including binaries, sources and javadocs) are available from the Maven Central repository.

The Maven group id for this module is com.holon-platform.vaadin and a BOM (Bill of Materials) is provided to obtain the module artifacts:

Maven BOM:

<dependencyManagement>
    <dependency>
        <groupId>com.holon-platform.vaadin</groupId>
        <artifactId>holon-vaadin-flow-bom</artifactId>
        <version>5.5.0</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
</dependencyManagement>

See the Artifacts list for a list of the available artifacts of this module.

Using the Platform BOM

The Holon Platform provides an overall Maven BOM (Bill of Materials) to easily obtain all the available platform artifacts:

Platform Maven BOM:

<dependencyManagement>
    <dependency>
        <groupId>com.holon-platform</groupId>
        <artifactId>bom</artifactId>
        <version>${platform-version}</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
</dependencyManagement>

See the Artifacts list for a list of the available artifacts of this module.

Build from sources

You can build the sources using Maven (version 3.3.x or above is recommended) like this:

mvn clean install

Getting help

Examples

See the Holon Platform examples repository for a set of example projects.

Contribute

See Contributing to the Holon Platform.

Gitter chat Join the contribute Gitter room for any question and to contact us.

License

All the Holon Platform modules are Open Source software released under the Apache 2.0 license.

Artifacts list

Maven group id: com.holon-platform.vaadin

Artifact id Description
holon-vaadin-flow Core artifact
holon-vaadin-flow-navigator The Navigator API
holon-vaadin-flow-spring Spring integration
holon-vaadin-flow-spring-boot Spring Boot integration
holon-starter-vaadin-flow Spring Boot starter
holon-starter-vaadin-flow-undertow Spring Boot starter using Undertow as embedded servlet container
holon-vaadin-flow-bom Bill Of Materials
documentation-vaadin-flow Documentation
com.holon-platform.vaadin

Holon Platform

The Holon Platform is a Java development ecosystem to create and maintain high quality, enteprise-grade web applications and services.

Versions

Version
5.2.0-rc1