Skip to content

Commit e6d53cd

Browse files
committed
Refactor demo
1 parent fe86262 commit e6d53cd

6 files changed

Lines changed: 52 additions & 51 deletions

File tree

patternfx-demo/src/main/java/com/techsenger/patternfx/demo/mvp/DialogFxView.java

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -81,21 +81,6 @@ public void setAgeValid(boolean value) {
8181
updateValid(ageTextField, value);
8282
}
8383

84-
@Override
85-
public String getFirstName() {
86-
return this.firstNameTextField.getText();
87-
}
88-
89-
@Override
90-
public String getLastName() {
91-
return this.lastNameTextField.getText();
92-
}
93-
94-
@Override
95-
public String getAge() {
96-
return this.ageTextField.getText();
97-
}
98-
9984
protected Dialog<ButtonType> getDialog() {
10085
return this.dialog;
10186
}
@@ -119,6 +104,15 @@ protected void build() {
119104
this.okButton = (Button) dialog.getDialogPane().lookupButton(ButtonType.OK);
120105
}
121106

107+
@Override
108+
protected void addListeners() {
109+
super.addListeners();
110+
var p = getPresenter();
111+
this.firstNameTextField.textProperty().addListener((ov, oldV, newV) -> p.onFirstNameChanged(newV));
112+
this.lastNameTextField.textProperty().addListener((ov, oldV, newV) -> p.onLastNameChanged(newV));
113+
this.ageTextField.textProperty().addListener((ov, oldV, newV) -> p.onAgeChanged(newV));
114+
}
115+
122116
@Override
123117
protected void addHandlers() {
124118
super.addHandlers();

patternfx-demo/src/main/java/com/techsenger/patternfx/demo/mvp/DialogPresenter.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ public Person getResult() {
3737
}
3838
}
3939

40+
private String firstName;
41+
42+
private String lastName;
43+
44+
private Integer age;
45+
4046
private Person result;
4147

4248
public DialogPresenter(T view) {
@@ -53,9 +59,21 @@ protected Descriptor createDescriptor() {
5359
return new Descriptor(DemoNames.PERSON_DIALOG);
5460
}
5561

62+
protected void onFirstNameChanged(String value) {
63+
this.firstName = value;
64+
}
65+
66+
protected void onLastNameChanged(String value) {
67+
this.lastName = value;
68+
}
69+
70+
protected void onAgeChanged(String value) {
71+
this.age = Integer.valueOf(value);
72+
}
73+
5674
protected boolean onOk() {
5775
var v = getView();
58-
this.result = new Person(v.getFirstName(), v.getLastName(), Integer.valueOf(v.getAge()));
76+
this.result = new Person(firstName, lastName, age);
5977
if (!checkIfValid()) {
6078
this.result = null;
6179
return false;

patternfx-demo/src/main/java/com/techsenger/patternfx/demo/mvp/DialogView.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,6 @@
2424
*/
2525
public interface DialogView extends ParentView {
2626

27-
String getFirstName();
28-
29-
String getLastName();
30-
31-
String getAge();
32-
3327
void setFirstNameValid(boolean value);
3428

3529
void setLastNameValid(boolean value);

patternfx-demo/src/main/java/com/techsenger/patternfx/demo/mvp/RegistryFxView.java

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -114,13 +114,13 @@ public RegistryFxView() {
114114
}
115115

116116
@Override
117-
public void setRemoveDisable(boolean v) {
117+
public void setRemoveDisabled(boolean v) {
118118
this.removeButton.setDisable(v);
119119
}
120120

121121
@Override
122-
public void setReportVisible(boolean visible) {
123-
if (visible) {
122+
public void setReportShown(boolean value) {
123+
if (value) {
124124
reportButton.setText("Hide Report");
125125
} else {
126126
reportButton.setText("Show Report");
@@ -142,21 +142,11 @@ public void addPersons(List<Person> persons) {
142142
this.personTable.getItems().addAll(persons);
143143
}
144144

145-
@Override
146-
public List<Person> getPersons() {
147-
return this.personTable.getItems();
148-
}
149-
150145
@Override
151146
public void removePerson(int index) {
152147
this.personTable.getItems().remove(index);
153148
}
154149

155-
@Override
156-
public int getSelectedIndex() {
157-
return this.personTable.getSelectionModel().getSelectedIndex();
158-
}
159-
160150
@Override
161151
public void clearPersons() {
162152
this.personTable.getItems().clear();
@@ -186,8 +176,8 @@ protected void build() {
186176

187177
HBox.setHgrow(spacer, Priority.ALWAYS);
188178

189-
setReportVisible(false);
190-
setRemoveDisable(true);
179+
setReportShown(false);
180+
setRemoveDisabled(true);
191181

192182
stage.setTitle("PatternFX - MVP");
193183
stage.setScene(new Scene(root, 800, 500));

patternfx-demo/src/main/java/com/techsenger/patternfx/demo/mvp/RegistryPresenter.java

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@
1717
package com.techsenger.patternfx.demo.mvp;
1818

1919
import com.techsenger.patternfx.demo.DemoNames;
20+
import com.techsenger.patternfx.demo.model.Person;
2021
import com.techsenger.patternfx.demo.model.PersonService;
2122
import com.techsenger.patternfx.mvp.AbstractParentPresenter;
2223
import com.techsenger.patternfx.mvp.Descriptor;
24+
import java.util.ArrayList;
2325
import java.util.List;
2426

2527
/**
@@ -29,8 +31,12 @@
2931
public class RegistryPresenter<V extends RegistryView, C extends RegistryComposer>
3032
extends AbstractParentPresenter<V, C> {
3133

34+
private final List<Person> persons = new ArrayList<>();
35+
3236
private final PersonService service;
3337

38+
private int selectedIndex;
39+
3440
public RegistryPresenter(V view, PersonService service) {
3541
super(view);
3642
this.service = service;
@@ -42,7 +48,7 @@ protected Descriptor createDescriptor() {
4248
}
4349

4450
protected void onSelectedChanged(int value) {
45-
getView().setRemoveDisable(value < 0);
51+
getView().setRemoveDisabled(value < 0);
4652
}
4753

4854
protected void onAdd() {
@@ -51,36 +57,39 @@ protected void onAdd() {
5157
dialog.deinitialize();
5258
if (newPerson != null) {
5359
service.save(newPerson);
60+
persons.add(newPerson);
5461
getView().addPersons(List.of(newPerson));
5562
updateReport();
5663
}
5764
}
5865

5966
protected void onRemove() {
60-
var selectedIndex = getView().getSelectedIndex();
6167
if (selectedIndex < 0) {
6268
return;
6369
}
64-
var person = getView().getPersons().get(selectedIndex);
70+
var person = persons.get(selectedIndex);
6571
service.delete(person.getId());
72+
persons.remove(selectedIndex);
6673
getView().removePerson(selectedIndex);
6774
updateReport();
6875
}
6976

7077
protected void onRefresh() {
78+
this.persons.clear();
7179
getView().clearPersons();
72-
getView().addPersons(service.readAll());
80+
this.persons.addAll(service.readAll());
81+
getView().addPersons(this.persons);
7382
updateReport();
7483
}
7584

7685
protected void onReport() {
7786
if (getComposer().getReport() == null) {
7887
getComposer().addReport();
79-
getComposer().getReport().refresh(getView().getPersons());
80-
getView().setReportVisible(true);
88+
updateReport();
89+
getView().setReportShown(true);
8190
} else {
8291
getComposer().removeReport();
83-
getView().setReportVisible(false);
92+
getView().setReportShown(false);
8493
}
8594
}
8695

@@ -98,7 +107,7 @@ protected void postInitialize() {
98107
private void updateReport() {
99108
var report = getComposer().getReport();
100109
if (report != null) {
101-
report.refresh(getView().getPersons());
110+
report.refresh(persons);
102111
}
103112
}
104113

patternfx-demo/src/main/java/com/techsenger/patternfx/demo/mvp/RegistryView.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,15 @@
2626
*/
2727
public interface RegistryView extends ParentView {
2828

29-
void setRemoveDisable(boolean value);
29+
void setRemoveDisabled(boolean value);
3030

31-
void setReportVisible(boolean shown);
31+
void setReportShown(boolean value);
3232

3333
void showStage();
3434

3535
void addPersons(List<Person> persons);
3636

3737
void removePerson(int index);
3838

39-
List<Person> getPersons();
40-
41-
int getSelectedIndex();
42-
4339
void clearPersons();
4440
}

0 commit comments

Comments
 (0)