Skip to content

Commit 824d170

Browse files
committed
Implement dirty based on equality
1 parent 9cc2d38 commit 824d170

File tree

4 files changed

+28
-68
lines changed

4 files changed

+28
-68
lines changed

stroom-core-client/src/main/java/stroom/state/client/presenter/StateStorePresenter.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
package stroom.state.client.presenter;
1818

1919
import stroom.docref.DocRef;
20+
import stroom.entity.client.presenter.DocTabProvider;
2021
import stroom.entity.client.presenter.DocumentEditTabPresenter;
21-
import stroom.entity.client.presenter.DocumentEditTabProvider;
2222
import stroom.entity.client.presenter.LinkTabPanelView;
2323
import stroom.entity.client.presenter.MarkdownEditPresenter;
2424
import stroom.entity.client.presenter.MarkdownTabProvider;
@@ -47,7 +47,7 @@ public StateStorePresenter(
4747
final DocumentUserPermissionsTabProvider<StateDoc> documentUserPermissionsTabProvider) {
4848
super(eventBus, view);
4949

50-
addTab(SETTINGS, new DocumentEditTabProvider<>(indexSettingsPresenterProvider::get));
50+
addTab(SETTINGS, new DocTabProvider<>(indexSettingsPresenterProvider::get));
5151
addTab(DOCUMENTATION, new MarkdownTabProvider<StateDoc>(eventBus, markdownEditPresenterProvider) {
5252
@Override
5353
public void onRead(final MarkdownEditPresenter presenter,
@@ -61,8 +61,7 @@ public void onRead(final MarkdownEditPresenter presenter,
6161
@Override
6262
public StateDoc onWrite(final MarkdownEditPresenter presenter,
6363
final StateDoc document) {
64-
document.setDescription(presenter.getText());
65-
return document;
64+
return document.copy().description(presenter.getText()).build();
6665
}
6766
});
6867
addTab(PERMISSIONS, documentUserPermissionsTabProvider);

stroom-core-client/src/main/java/stroom/state/client/presenter/StateStoreSettingsPresenter.java

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package stroom.state.client.presenter;
1818

1919
import stroom.docref.DocRef;
20+
import stroom.entity.client.presenter.DocPresenter;
2021
import stroom.entity.client.presenter.DocumentEditPresenter;
2122
import stroom.entity.client.presenter.ReadOnlyChangeHandler;
2223
import stroom.explorer.client.presenter.DocSelectionBoxPresenter;
@@ -33,7 +34,7 @@
3334
import com.gwtplatform.mvp.client.View;
3435

3536
public class StateStoreSettingsPresenter
36-
extends DocumentEditPresenter<StateStoreSettingsView, StateDoc>
37+
extends DocPresenter<StateStoreSettingsView, StateDoc>
3738
implements StateStoreSettingsUiHandlers {
3839

3940
private final DocSelectionBoxPresenter clusterPresenter;
@@ -56,12 +57,7 @@ public StateStoreSettingsPresenter(
5657

5758
@Override
5859
protected void onBind() {
59-
registerHandler(clusterPresenter.addDataSelectionHandler(event -> setDirty(true)));
60-
}
61-
62-
@Override
63-
public void onChange() {
64-
setDirty(true);
60+
registerHandler(clusterPresenter.addDataSelectionHandler(event -> onChange()));
6561
}
6662

6763
@Override
@@ -80,15 +76,17 @@ protected void onRead(final DocRef docRef, final StateDoc doc, final boolean rea
8076

8177
@Override
8278
protected StateDoc onWrite(final StateDoc doc) {
83-
doc.setScyllaDbRef(clusterPresenter.getSelectedEntityReference());
84-
doc.setStateType(getView().getStateType());
85-
doc.setCondense(getView().isCondense());
86-
doc.setCondenseAge(getView().getCondenseAge());
87-
doc.setCondenseTimeUnit(getView().getCondenseTimeUnit());
88-
doc.setRetainForever(getView().isRetainForever());
89-
doc.setRetainAge(getView().getRetainAge());
90-
doc.setRetainTimeUnit(getView().getRetainTimeUnit());
91-
return doc;
79+
return doc
80+
.copy()
81+
.scyllaDbRef(clusterPresenter.getSelectedEntityReference())
82+
.stateType(getView().getStateType())
83+
.condense(getView().isCondense())
84+
.condenseAge(getView().getCondenseAge())
85+
.condenseTimeUnit(getView().getCondenseTimeUnit())
86+
.retainForever(getView().isRetainForever())
87+
.retainAge(getView().getRetainAge())
88+
.retainTimeUnit(getView().getRetainTimeUnit())
89+
.build();
9290
}
9391

9492

stroom-core-shared/src/main/java/stroom/state/shared/StateDoc.java

Lines changed: 9 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -62,23 +62,23 @@ public class StateDoc extends AbstractDoc {
6262
* Reference to the `scyllaDb` containing common connection properties
6363
*/
6464
@JsonProperty
65-
private DocRef scyllaDbRef;
65+
private final DocRef scyllaDbRef;
6666
@JsonProperty
67-
private String description;
67+
private final String description;
6868
@JsonProperty
69-
private StateType stateType;
69+
private final StateType stateType;
7070
@JsonProperty
71-
private boolean condense;
71+
private final boolean condense;
7272
@JsonProperty
73-
private int condenseAge;
73+
private final int condenseAge;
7474
@JsonProperty
75-
private TimeUnit condenseTimeUnit;
75+
private final TimeUnit condenseTimeUnit;
7676
@JsonProperty
77-
private boolean retainForever;
77+
private final boolean retainForever;
7878
@JsonProperty
79-
private int retainAge;
79+
private final int retainAge;
8080
@JsonProperty
81-
private TimeUnit retainTimeUnit;
81+
private final TimeUnit retainTimeUnit;
8282

8383
@JsonCreator
8484
public StateDoc(
@@ -130,74 +130,38 @@ public String getDescription() {
130130
return description;
131131
}
132132

133-
public void setDescription(final String description) {
134-
this.description = description;
135-
}
136-
137133
public DocRef getScyllaDbRef() {
138134
return scyllaDbRef;
139135
}
140136

141-
public void setScyllaDbRef(final DocRef scyllaDbRef) {
142-
this.scyllaDbRef = scyllaDbRef;
143-
}
144-
145137
public StateType getStateType() {
146138
return stateType;
147139
}
148140

149-
public void setStateType(final StateType stateType) {
150-
this.stateType = stateType;
151-
}
152-
153141
public boolean isCondense() {
154142
return condense;
155143
}
156144

157-
public void setCondense(final boolean condense) {
158-
this.condense = condense;
159-
}
160-
161145
public int getCondenseAge() {
162146
return condenseAge;
163147
}
164148

165-
public void setCondenseAge(final int condenseAge) {
166-
this.condenseAge = condenseAge;
167-
}
168-
169149
public TimeUnit getCondenseTimeUnit() {
170150
return condenseTimeUnit;
171151
}
172152

173-
public void setCondenseTimeUnit(final TimeUnit condenseTimeUnit) {
174-
this.condenseTimeUnit = condenseTimeUnit;
175-
}
176-
177153
public boolean isRetainForever() {
178154
return retainForever;
179155
}
180156

181-
public void setRetainForever(final boolean retainForever) {
182-
this.retainForever = retainForever;
183-
}
184-
185157
public int getRetainAge() {
186158
return retainAge;
187159
}
188160

189-
public void setRetainAge(final int retainAge) {
190-
this.retainAge = retainAge;
191-
}
192-
193161
public TimeUnit getRetainTimeUnit() {
194162
return retainTimeUnit;
195163
}
196164

197-
public void setRetainTimeUnit(final TimeUnit retainTimeUnit) {
198-
this.retainTimeUnit = retainTimeUnit;
199-
}
200-
201165
@Override
202166
public boolean equals(final Object o) {
203167
if (this == o) {

stroom-state/stroom-state-impl/src/main/java/stroom/state/impl/StateDocStoreImpl.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,8 @@ public DocRef createDocument(final String name) {
8585
}
8686

8787
// Set the default keyspace.
88-
final StateDoc doc = store.readDocument(created);
89-
doc.setStateType(StateType.TEMPORAL_STATE);
90-
doc.setRetainForever(true);
88+
final StateDoc doc = store.readDocument(created)
89+
.copy().stateType(StateType.TEMPORAL_STATE).retainForever(true).build();
9190
store.writeDocument(doc);
9291

9392
return created;

0 commit comments

Comments
 (0)