Skip to content

Commit a8135e2

Browse files
authored
Fixed default report bug (#529)
* Fixed default report bug * Updated demo project
1 parent 8960ee0 commit a8135e2

File tree

5 files changed

+27
-10
lines changed

5 files changed

+27
-10
lines changed

common.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ apply plugin: 'java'
66
apply plugin: 'maven'
77

88
String mavenGroupId = 'org.cirdles'
9-
String mavenVersion = '1.6.3'
9+
String mavenVersion = '1.6.4'
1010

1111
sourceCompatibility = '1.8'
1212
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

squidApp/src/main/java/org/cirdles/squid/gui/squidReportTable/SquidReportSettingsController.java

+21-9
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,9 @@ public void initialize(URL url, ResourceBundle rb) {
179179

180180
isRefMat = false;
181181
spotsChoiceBox.setVisible(true);
182+
isEditing.set(false);
183+
isDefault.set(false);
184+
isDefaultLab.set(false);
182185

183186
selectedRefMatReportModel = task.getSelectedRefMatReportModel();
184187
selectedUnknownReportModel = task.getSelectedUnknownReportModel();
@@ -228,7 +231,7 @@ private void processButtons() {
228231
} else if (isDefaultLab.getValue()) {
229232
Arrays.asList(makeDefaultButton, saveButton, restoreButton, deleteButton).
230233
parallelStream().forEach(button -> button.setDisable(true));
231-
Arrays.asList( unknownsRadioButton, refMatRadioButton, newButton, copyButton, exportButton, importButton).
234+
Arrays.asList(unknownsRadioButton, refMatRadioButton, newButton, copyButton, exportButton, importButton).
232235
parallelStream().forEach(button -> button.setDisable(false));
233236
} else {
234237
Arrays.asList(restoreButton, saveButton).forEach(button -> button.setDisable(true));
@@ -264,10 +267,13 @@ private void initDefault() {
264267
isDefault.setValue(false);
265268
isDefault.addListener(ob -> processButtons());
266269
}
267-
270+
268271
private void initDefaultLab() {
269272
isDefaultLab.setValue(false);
270-
isDefaultLab.addListener(ob -> processButtons());
273+
try {
274+
isDefaultLab.addListener(ob -> processButtons());
275+
} catch (Exception e) {
276+
}
271277
}
272278

273279
private void initReportTableCB() {
@@ -291,11 +297,11 @@ public SquidReportTableInterface fromString(String string) {
291297
if (isRefMat) {
292298
selectedRefMatReportModel = reportTableCB.getSelectionModel().getSelectedItem();
293299
task.setSelectedRefMatReportModel(selectedRefMatReportModel);
294-
makeDefaultButton.setDisable(isDefaultLab.get());// selectedRefMatReportModel.isDefault() || selectedRefMatReportModel.amWeightedMeanPlotAndSortReport() || !saveButton.isDisabled());
300+
//makeDefaultButton.setDisable(isDefaultLab.get());// selectedRefMatReportModel.isDefault() || selectedRefMatReportModel.amWeightedMeanPlotAndSortReport() || !saveButton.isDisabled());
295301
} else {
296302
selectedUnknownReportModel = reportTableCB.getSelectionModel().getSelectedItem();
297303
task.setSelectedUnknownReportModel(selectedUnknownReportModel);
298-
makeDefaultButton.setDisable(isDefaultLab.get());// selectedUnknownReportModel.isDefault() || selectedUnknownReportModel.amWeightedMeanPlotAndSortReport() || !saveButton.isDisabled());
304+
// makeDefaultButton.setDisable(isDefaultLab.get());// selectedUnknownReportModel.isDefault() || selectedUnknownReportModel.amWeightedMeanPlotAndSortReport() || !saveButton.isDisabled());
299305
}
300306

301307
}
@@ -1091,9 +1097,11 @@ private List<SquidReportTableInterface> getTables() {
10911097
// remove labdatadefault
10921098
SquidReportTableInterface saveTable = null;
10931099
for (SquidReportTableInterface table : tables) {
1100+
if (table.getReportTableName().compareTo(NAME_OF_WEIGHTEDMEAN_PLOT_SORT_REPORT) == 0) {
1101+
table.setIsLabDataDefault(false);
1102+
}
10941103
if (table.isIsLabDataDefault()) {
10951104
saveTable = table;
1096-
break;
10971105
}
10981106
}
10991107

@@ -1107,6 +1115,8 @@ private List<SquidReportTableInterface> getTables() {
11071115
if (defaultRT != null) {
11081116
if (saveTable.getReportTableName().compareToIgnoreCase(defaultRT.getReportTableName()) != 0) {
11091117
saveTable.setIsLabDataDefault(false);
1118+
tables.remove(saveTable);
1119+
tables.remove(defaultRT);
11101120
tables.add(defaultRT);
11111121
}
11121122
}
@@ -1161,6 +1171,7 @@ private void newOnAction(ActionEvent event) {
11611171
SquidMessageDialog.showWarningDialog("A Squid Report Model with the name you entered already exists. Please try again.", primaryStageWindow);
11621172
} else {
11631173
SquidReportTableInterface table = SquidReportTable.createEmptySquidReportTable(name);
1174+
table.setIsLabDataDefault(false);
11641175
getTables().add(table);
11651176
populateSquidReportTableChoiceBox();
11661177
reportTableCB.getSelectionModel().select(table);
@@ -1186,6 +1197,7 @@ private void copyOnAction(ActionEvent event) {
11861197
} else {
11871198
SquidReportTableInterface copy = createCopyOfUpdatedSquidReportTable();
11881199
copy.setReportTableName(name);
1200+
copy.setIsLabDataDefault(false);
11891201
getTables().add(copy);
11901202
populateSquidReportTableChoiceBox();
11911203
reportTableCB.getSelectionModel().select(copy);
@@ -1419,8 +1431,8 @@ public void exportCSVOnAction(ActionEvent actionEvent) throws IOException {
14191431
@FXML
14201432
private void makeDefaultAction(ActionEvent event) {
14211433
SquidReportTableInterface defaultReportTableSpec = reportTableCB.getSelectionModel().getSelectedItem();
1422-
if (!defaultReportTableSpec.isIsLabDataDefault()) {
1423-
defaultReportTableSpec.setIsLabDataDefault(true);
1434+
if (!defaultReportTableSpec.isIsLabDataDefault()
1435+
&& !defaultReportTableSpec.isDefault()) {
14241436

14251437
SquidReportTableInterface defaultReport;
14261438
if (isRefMat) {
@@ -1432,7 +1444,7 @@ private void makeDefaultAction(ActionEvent event) {
14321444
if ((defaultReport != null) && (!defaultReport.equals(defaultReportTableSpec))) {
14331445
defaultReport.setIsLabDataDefault(false);
14341446
}
1435-
1447+
defaultReportTableSpec.setIsLabDataDefault(true);
14361448
if (isRefMat) {
14371449
Task.squidLabData.setDefaultReportTableRM(defaultReportTableSpec);
14381450
} else {

squidCore/src/main/java/org/cirdles/squid/squidReports/squidReportTables/SquidReportTable.java

+3
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,9 @@ public void setIsDefault(boolean isDefault) {
407407

408408
@Override
409409
public boolean isDefault() {
410+
if (isDefault) {
411+
isLabDataDefault = false;
412+
}
410413
return isDefault;
411414
}
412415

squidCore/src/main/java/org/cirdles/squid/tasks/Task.java

+2
Original file line numberDiff line numberDiff line change
@@ -2727,6 +2727,7 @@ private SquidReportTableInterface initSquidWeightedMeanPlotSortTable() {
27272727
boolean containsFilterReport = false;
27282728
for (SquidReportTableInterface table : squidReportTablesUnknown) {
27292729
if (table.getReportTableName().matches(NAME_OF_WEIGHTEDMEAN_PLOT_SORT_REPORT)) {
2730+
table.setIsLabDataDefault(false);
27302731
squidWeightedMeanPlotSortTable = table;
27312732
containsFilterReport = true;
27322733
break;
@@ -2745,6 +2746,7 @@ private SquidReportTableInterface initSquidWeightedMeanPlotSortTable() {
27452746
squidWeightedMeanPlotSortTable
27462747
= SquidReportTable.createDefaultSquidReportTableUnknownSquidFilter(this, SquidReportTable.WEIGHTEDMEAN_PLOT_SORT_TABLE_VERSION);
27472748
squidWeightedMeanPlotSortTable.setIsDefault(false);
2749+
squidWeightedMeanPlotSortTable.setIsLabDataDefault(false);
27482750
squidLabData.setSpecialWMSortingReportTable(squidWeightedMeanPlotSortTable);
27492751
}
27502752
squidReportTablesUnknown.add(squidWeightedMeanPlotSortTable);
Binary file not shown.

0 commit comments

Comments
 (0)