Skip to content

Commit a8bb74b

Browse files
authored
Issues 669 and 670 addressed. (#671)
* Updated gradle files * Fixed #669 * Fixed #670
1 parent 80c5193 commit a8bb74b

File tree

12 files changed

+59
-25
lines changed

12 files changed

+59
-25
lines changed

common.gradle

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

88

99
String mavenGroupId = 'org.cirdles'
10-
String mavenVersion = '1.9.2'
10+
String mavenVersion = '1.9.3'
1111

1212
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
1313

squidApp/build.gradle

+6-3
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,17 @@ dependencies {
4848
// runtimeOnly "org.openjfx:javafx-web:$javafx.version:mac"
4949
}
5050

51-
51+
project(":squidApp") {
52+
description = "Squid3 GUI"
53+
archivesBaseName = "Squid3"
54+
}
5255

5356
task fatAppJar(type: Jar) {
57+
dependsOn(squidCore:build)
5458
manifest {
55-
attributes 'Main-Class': mainClass
59+
attributes ('Main-Class': mainClass)
5660
}
5761
duplicatesStrategy = DuplicatesStrategy.INCLUDE
58-
archiveBaseName = 'Squid3'
5962
from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
6063
with jar
6164
}

squidApp/src/main/java/org/cirdles/squid/gui/SquidUIController.java

+26-12
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,8 @@ private void openOPFile(File file) throws IOException, SquidException {
520520
customizeDataMenu();
521521
squidPersistentState.updateOPFileListMRU(file);
522522
buildOPFileMenuMRU();
523+
squidPersistentState.setMRUProjectFolderPath(file.getParent());
524+
saveAsSquidProject();
523525
} else {
524526
SquidMessageDialog.showWarningDialog(
525527
"Squid3 encountered an error while trying to open the selected data file.",
@@ -550,6 +552,8 @@ private void newSquidProjectFromZippedPrawnAction(ActionEvent event) {
550552
launchProjectManager();
551553
saveSquidProjectMenuItem.setDisable(true);
552554
customizeDataMenu();
555+
squidPersistentState.setMRUProjectFolderPath(prawnZippedSourceFile.getParent());
556+
saveAsSquidProject();
553557
} else {
554558
SquidMessageDialog.showWarningDialog(
555559
"Squid3 encountered an error while trying to open the selected data file.",
@@ -585,6 +589,8 @@ private void newSquidProjectAction(ActionEvent event) {
585589
launchProjectManager();
586590
saveSquidProjectMenuItem.setDisable(true);
587591
customizeDataMenu();
592+
squidPersistentState.setMRUProjectFolderPath(prawnSourceFile.getParent());
593+
saveAsSquidProject();
588594
} else {
589595
SquidMessageDialog.showWarningDialog(
590596
"Squid3 encountered an error while trying to open the selected data file.",
@@ -625,6 +631,8 @@ private void newSquidRatioProjectAction(ActionEvent event) {
625631
launchProjectManager();
626632
saveSquidProjectMenuItem.setDisable(true);
627633
customizeDataMenu();
634+
squidPersistentState.setMRUProjectFolderPath(prawnSourceFile.getParent());
635+
saveAsSquidProject();
628636
} else {
629637
SquidMessageDialog.showWarningDialog(
630638
"Squid3 encountered an error while trying to open the selected data file.",
@@ -668,6 +676,8 @@ private void newSquidProjectByJoinAction(ActionEvent event) {
668676
launchProjectManager();
669677
saveSquidProjectMenuItem.setDisable(true);
670678
customizeDataMenu();
679+
squidPersistentState.setMRUProjectFolderPath(prawnXMLFilesNew.get(0).getParent());
680+
saveAsSquidProject();
671681
} else {
672682
SquidMessageDialog.showWarningDialog(
673683
"Squid3 encountered an error while trying to open and join the selected files.",
@@ -693,21 +703,25 @@ private void newSquidProjectByJoinAction(ActionEvent event) {
693703
@FXML
694704
private void saveAsSquidProjectMenuItemAction(ActionEvent event) {
695705
if (squidProject != null) {
696-
try {
697-
File projectFile = FileHandler.saveProjectFile(squidProject, SquidUI.primaryStageWindow);
698-
if (projectFile != null) {
699-
saveSquidProjectMenuItem.setDisable(false);
700-
squidPersistentState.updateProjectListMRU(projectFile);
701-
SquidUI.updateStageTitle(projectFile.getAbsolutePath());
702-
buildProjectMenuMRU();
703-
launchProjectManager();
704-
runSaveMenuDisableCheck = true;
705-
squidProjectOriginalHash = squidProject.hashCode();
706-
}
706+
saveAsSquidProject();
707+
}
708+
}
707709

708-
} catch (IOException ex) {
710+
private void saveAsSquidProject(){
711+
try {
712+
File projectFile = FileHandler.saveProjectFile(squidProject, SquidUI.primaryStageWindow);
713+
if (projectFile != null) {
709714
saveSquidProjectMenuItem.setDisable(false);
715+
squidPersistentState.updateProjectListMRU(projectFile);
716+
SquidUI.updateStageTitle(projectFile.getAbsolutePath());
717+
buildProjectMenuMRU();
718+
launchProjectManager();
719+
runSaveMenuDisableCheck = true;
720+
squidProjectOriginalHash = squidProject.hashCode();
710721
}
722+
723+
} catch (IOException ex) {
724+
saveSquidProjectMenuItem.setDisable(false);
711725
}
712726
}
713727

squidApp/src/main/java/org/cirdles/squid/gui/dateInterpretations/plots/plotControllers/RefMatCalibrationConstantWMToolBoxNode.java

+9-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,10 @@
2525
import javafx.scene.shape.VLineTo;
2626
import org.cirdles.squid.exceptions.SquidException;
2727
import org.cirdles.squid.gui.dateInterpretations.plots.squid.PlotRefreshInterface;
28+
import org.cirdles.squid.gui.dialogs.SquidMessageDialog;
2829

2930
import static org.cirdles.squid.constants.Squid3Constants.IndexIsoptopesEnum.*;
31+
import static org.cirdles.squid.gui.SquidUI.primaryStageWindow;
3032
import static org.cirdles.squid.gui.SquidUIController.squidProject;
3133
import static org.cirdles.squid.gui.dateInterpretations.plots.plotControllers.PlotsController.correction;
3234
import static org.cirdles.squid.tasks.expressions.builtinExpressions.BuiltInExpressionsDataDictionary.*;
@@ -149,8 +151,13 @@ public void changed(ObservableValue<? extends Toggle> observable, Toggle oldValu
149151
public void changed(ObservableValue<? extends Toggle> observable, Toggle oldValue, Toggle newValue) {
150152
String flavor = ((String) typeGroup.getSelectedToggle().getUserData());
151153
PlotsController.calibrConstAgeBaseName = flavor;
152-
153-
squidProject.getTask().setChanged(true);
154+
// updated dec 2021 to change task and recalculate all - somehow this got dropped and not noticed.
155+
squidProject.getTask().setParentNuclide(flavor.contains("238") ? "238" : "232");
156+
try {
157+
squidProject.getTask().applyDirectives();
158+
} catch (SquidException squidException) {
159+
SquidMessageDialog.showWarningDialog(squidException.getMessage(), primaryStageWindow);
160+
}
154161

155162
try {
156163
plotsController.showActivePlot();

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

+3
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
import org.cirdles.squid.tasks.expressions.isotopes.ShrimpSpeciesNode;
4646
import org.cirdles.squid.tasks.expressions.operations.Value;
4747
import org.cirdles.squid.tasks.expressions.spots.SpotFieldNode;
48+
import org.cirdles.squid.tasks.expressions.spots.SpotTaskMetaDataNode;
4849
import org.cirdles.squid.tasks.expressions.variables.VariableNodeForPerSpotTaskExpressions;
4950
import org.cirdles.squid.tasks.expressions.variables.VariableNodeForSummary;
5051
import org.cirdles.squid.utilities.IntuitiveStringComparator;
@@ -705,6 +706,8 @@ private String peekDetailsPerSpot(List<ShrimpFractionExpressionInterface> spots,
705706
resultLabels = new String[][]{{"Constant"}, {}};
706707
} else if (((ExpressionTree) expTree).getChildrenET().get(0) instanceof SpotFieldNode) {
707708
resultLabels = new String[][]{{((ExpressionTree) expTree).getChildrenET().get(0).getName()}, {}};
709+
} else if (((ExpressionTree) expTree).getChildrenET().get(0) instanceof SpotTaskMetaDataNode) {
710+
resultLabels = new String[][]{{((ExpressionTree) expTree).getChildrenET().get(0).getName()}, {}};
708711
} else {
709712
// ShrimpSpeciesNode
710713
resultLabels = new String[][]{{"TotalCPS"}, {}};

squidCore/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ dependencies {
2828

2929
implementation group: 'com.thoughtworks.xstream', name: 'xstream', version: '1.4.18'
3030

31-
antlr 'org.antlr:antlr4:4.9.2'
32-
implementation group: 'org.antlr', name: 'antlr4-runtime', version: '4.9.2'
31+
antlr 'org.antlr:antlr4:4.9.3'
32+
implementation group: 'org.antlr', name: 'antlr4-runtime', version: '4.9.3'
3333

3434
// https://mvnrepository.com/artifact/org.apache.poi/poi
3535
implementation group: 'org.apache.poi', name: 'poi', version: '5.0.0'

squidCore/src/main/java/org/cirdles/squid/squidReports/squidReportColumns/SquidReportColumn.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.cirdles.squid.tasks.expressions.expressionTrees.ExpressionTreeInterface;
2525
import org.cirdles.squid.tasks.expressions.isotopes.ShrimpSpeciesNode;
2626
import org.cirdles.squid.tasks.expressions.spots.SpotFieldNode;
27+
import org.cirdles.squid.tasks.expressions.spots.SpotTaskMetaDataNode;
2728
import org.cirdles.squid.tasks.expressions.variables.VariableNodeForPerSpotTaskExpressions;
2829
import org.cirdles.squid.tasks.expressions.variables.VariableNodeForSummary;
2930

@@ -128,7 +129,7 @@ public void initReportColumn(TaskInterface task) {
128129
}
129130
}
130131

131-
if (expTree instanceof SpotFieldNode) {
132+
if ((expTree instanceof SpotFieldNode) ||(expTree instanceof SpotTaskMetaDataNode)){
132133
((Task) task).evaluateTaskExpression(expTree);
133134
} else if (expTree instanceof ShrimpSpeciesNode) {
134135
// default view of species nodes

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

+5
Original file line numberDiff line numberDiff line change
@@ -3376,6 +3376,11 @@ public IndexIsoptopesEnum getSelectedIndexIsotope() {
33763376
@Override
33773377
public void setSelectedIndexIsotope(IndexIsoptopesEnum selectedIndexIsotope) {
33783378
this.selectedIndexIsotope = selectedIndexIsotope;
3379+
try {
3380+
changed = true;
3381+
setupSquidSessionSpecsAndReduceAndReport(false);
3382+
} catch (SquidException squidException) {
3383+
}
33793384
}
33803385

33813386
@Override

squidCore/src/main/java/org/cirdles/squid/tasks/expressions/expressionTrees/ExpressionTree.java

+2
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.cirdles.squid.tasks.expressions.operations.OperationXMLConverter;
3737
import org.cirdles.squid.tasks.expressions.spots.SpotFieldNode;
3838
import org.cirdles.squid.tasks.expressions.spots.SpotFieldNodeNodeXMLConverter;
39+
import org.cirdles.squid.tasks.expressions.spots.SpotTaskMetaDataNode;
3940
import org.cirdles.squid.tasks.expressions.variables.VariableNodeForIsotopicRatios;
4041
import org.cirdles.squid.tasks.expressions.variables.VariableNodeForPerSpotTaskExpressions;
4142
import org.cirdles.squid.tasks.expressions.variables.VariableNodeForSummary;
@@ -356,6 +357,7 @@ public String auditOperationArgumentCount() {
356357
if (operation == null) {
357358
if (!(this instanceof ConstantNode)
358359
&& !(this instanceof SpotFieldNode)
360+
&& !(this instanceof SpotTaskMetaDataNode)
359361
&& !(this instanceof ShrimpSpeciesNode)
360362
&& !(this instanceof VariableNodeForIsotopicRatios)
361363
&& !(this instanceof VariableNodeForSummary)) {

squidCore/src/main/java/org/cirdles/squid/tasks/expressions/spots/SpotTaskMetaDataNode.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@
2626
import java.util.List;
2727

2828
/**
29+
* This class is a helper class in the guise of an expression to retrieve task meta data for reports.
30+
* It does not need to support serialization.
2931
* @author James F. Bowring
3032
*/
3133
public class SpotTaskMetaDataNode extends ExpressionTree {
3234

33-
//private static final long serialVersionUID = 2173277234623108736L;
34-
3535
private String fieldName;
3636
private String methodNameForTask;
3737

@@ -79,8 +79,7 @@ public boolean usesOtherExpression() {
7979
*/
8080
@Override
8181
public void customizeXstream(XStream xstream) {
82-
// xstream.registerConverter(new SpotFieldNodeNodeXMLConverter());
83-
// xstream.alias("SpotFieldNode", SpotTaskMetaDataNode.class);
82+
// do nothing
8483
}
8584

8685
/**
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)