powerpoint presentation€¦ · @route(value = "s450", layout = modulelayout.class)...

30

Upload: others

Post on 06-Jun-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent
Page 2: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent
Page 3: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent
Page 4: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

Page 5: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent
Page 6: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent
Page 7: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

https://msdn.microsoft.com/en-us/magazine/dn463786.aspx

Page 8: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent
Page 9: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent
Page 10: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent
Page 11: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

https://de.slideshare.net/PeterLehto/vaadin-flow-javaland-2018

Page 12: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

• →

••

••

Page 13: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent
Page 15: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

@Routepublic class HelloView extends VerticalLayout {

public HelloView() {TextField name = new TextField("Ihr Name: ");Span greeting = new Span();

name.addValueChangeListener(event -> greeting.setText("Hallo " + event.getValue()));

add(name, greeting);}

}

Page 16: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

@Route(value = "S450", layout = ModuleLayout.class)public class S450 implements HasUrlParameter<String> {

@Overridepublic void setParameter(BeforeEvent event,

@OptionalParameter String parameter) {

Location location = event.getLocation();QueryParameters queryParameters = location.getQueryParameters();Map<String, List<String>> parameterMap = queryParameters.getParameters();...

}}

Page 17: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

Grid grid = new Grid<>(CustomerRecord.class);grid.setColumns("id", "firstName", "lastName", "email");

Grid.Column<CustomerRecord> editColumn = grid.addColumn(new ComponentRenderer<>(customer ->

new RouterLink("Edit", CustomerView.class, customer.getId())));editColumn.setFrozen(true);

grid.setColumnReorderingAllowed(true);

Page 18: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

DataProvider.fromFilteringCallbacks(query -> repository.findAll(table,

createFilter(query), createOrderBy(query), query.getOffset(), query.getLimit())

,query -> repository.count(table, createFilter(query))

);

Page 19: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

binder.forField(id).withNullRepresentation("").withConverter(new StringToIntegerConverter(0, "Integers only")).withValidator((value, context) ->

value > 0 ? ValidationResult.ok() : ValidationResult.error("Id must be greater than 0"))

.bind(EmployeeRecord::getId, EmployeeRecord::setId);

Page 20: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

@Testpublic void halloBaselOne() {

getDriver().get("http://localhost:8080/hello");

$(TextFieldElement.class).first().setValue("BaselOne");

Assert.assertEquals("Hallo BaselOne", $(SpanElement.class).waitForFirst().getText());

}

Page 21: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

••

Page 22: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent
Page 23: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

Page 24: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

<plugin><groupId>org.jooq</groupId><artifactId>jooq-codegen-maven</artifactId><executions>...</executions><configuration>

<generator><database>

<name>org.jooq.meta.extensions.ddl.DDLDatabase</name><properties>

<property><key>scripts</key><value>src/main/resources/db/migration/*.sql</value>

</property></properties>

</database><target>

<packageName>com.example.employee.model</packageName><directory>target/generated-sources/jooq</directory>

</target></generator>

</configuration><dependencies>...</dependencies>

</plugin>

Page 25: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

public class Employee extends TableImpl<EmployeeRecord> {

public final TableField<EmployeeRecord, Integer> ID = createField("ID", SQLDataType.INTEGER.nullable(false).identity(true), this, "");

public final TableField<EmployeeRecord, String> NAME = createField("NAME", SQLDataType.VARCHAR(255).nullable(false), this, "");

public final TableField<EmployeeRecord, Integer> DEPARTMENT_ID = createField("DEPARTMENT_ID", SQLDataType.INTEGER.nullable(false), this, "");

@Overridepublic UniqueKey<EmployeeRecord> getPrimaryKey() {

return Keys.CONSTRAINT_7;}

...}

Page 26: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

Result<EmployeeRecord> records = dslContext.selectFrom(EMPLOYEE).fetch();

dslContext.insertInto(DEPARTMENT).columns(DEPARTMENT.NAME).values("IT").execute();

Result<Record1<String>> records = dslContext.select(EMPLOYEE.NAME).from(EMPLOYEE).join(DEPARTMENT).on(DEPARTMENT.ID.eq(EMPLOYEE.DEPARTMENT_ID)).where(DEPARTMENT.NAME.eq("IT")).fetch();

Page 28: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

RecordGrid grid = new RecordGrid.Builder<>(V_EMPLOYEE, dslContext).withColumns(V_EMPLOYEE.EMPLOYEE_ID, V_EMPLOYEE.EMPLOYEE_NAME,

V_EMPLOYEE.DEPARTMENT_NAME).withSort(Map.of(V_EMPLOYEE.EMPLOYEE_NAME, ASCENDING)).build();

Page 29: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent

Page 30: PowerPoint Presentation€¦ · @Route(value = "S450", layout = ModuleLayout.class) public class S450 implements HasUrlParameter { @Override public void setParameter(BeforeEvent