Skip to content

Commit eb933be

Browse files
authored
Fixes issues #652, #654, #655, #656, #657 and misc refactoring. (#658)
* misc * Fixed #656 * fixed #655 * Fixed #654 * Fixes #652 * Fixes #657
1 parent 8eaf70a commit eb933be

File tree

14 files changed

+384
-407
lines changed

14 files changed

+384
-407
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.8.4'
9+
String mavenVersion = '1.8.5'
1010

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

squidAPI/src/main/java/org/cirdles/squid/Squid3API.java

+8
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,14 @@ void newSquid3GeochronProjectFromZippedPrawnXML(Path prawnXMLFileSourcePath)
149149
void restoreSpotToDataFile(String spotName);
150150
void restoreAllSpotsToDataFile();
151151

152+
// Task management +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
153+
154+
155+
156+
157+
158+
159+
152160
// reports management ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
153161

154162
/**

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

+5
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,11 @@ private void updateCurrentTaskWithThisTaskAction(ActionEvent event) {
491491
boolean valid = (squidProject.getTask().getSquidSpeciesModelList().size()
492492
== (chosenTask.getNominalMasses().size()));
493493
if (valid) {
494+
// due to associating commonPb and Physical Constants with Project, need to update design
495+
// this issue was overlooked and noticed in issue #655
496+
chosenTask.setCommonPbModel(squidProject.getCommonPbModel());
497+
chosenTask.setPhysicalConstantsModel(squidProject.getPhysicalConstantsModel());
498+
494499
chosenTask.updateTaskDesignFromTask(taskEditor, true);
495500
squidProject.createNewTask();
496501
squidProject.getTask().updateTaskFromTaskDesign(taskEditor, false);

squidApp/src/main/resources/org/cirdles/squid/gui/SquidUIController.fxml

+124-224
Large diffs are not rendered by default.

squidCore/src/main/java/org/cirdles/squid/core/CalamariReportsEngine.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1164,7 +1164,7 @@ public File writeTaskAudit() throws IOException {
11641164
File reportTableFile = new File(reportsPath + squidProject.getProjectName().replaceAll("\\s", "_") + "_TaskAudit.txt");
11651165

11661166
PrintWriter outputWriter = new PrintWriter(new OutputStreamWriter(new FileOutputStream(reportTableFile), StandardCharsets.UTF_8));
1167-
outputWriter.write(squidProject.getTask().printTaskAudit());
1167+
outputWriter.write(squidProject.getTask().printTaskSummary());
11681168
outputWriter.flush();
11691169
outputWriter.close();
11701170

@@ -1179,7 +1179,7 @@ public File writeProjectAudit() throws IOException {
11791179
//throw new IOException("Failed to delete reports folder '" + reportsPath + "'");
11801180
}
11811181

1182-
File reportTableFile = new File(reportsPath + squidProject.getProjectName().replaceAll("\\s", "_") + "_ProjectAudit.txt");
1182+
File reportTableFile = new File(reportsPath + squidProject.getProjectName().replaceAll("\\s", "_") + "_ProjectAndTaskAudit.txt");
11831183

11841184
PrintWriter outputWriter = new PrintWriter(new OutputStreamWriter(new FileOutputStream(reportTableFile), StandardCharsets.UTF_8));
11851185
outputWriter.write(squidProject.printProjectAudit());
@@ -1273,4 +1273,4 @@ public SquidProject getSquidProject() {
12731273
return squidProject;
12741274
}
12751275

1276-
}
1276+
}

squidCore/src/main/java/org/cirdles/squid/projects/SquidProject.java

+44-26
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,9 @@ public File produceReferenceMaterialPerSquid25CSV(boolean numberStyleIsNumeric)
513513
File reportTableFile = null;
514514
if (task.getReferenceMaterialSpots().size() > 0) {
515515
ReportSettingsInterface reportSettings = new ReportSettings("RefMat", true, task);
516-
String[][] report = reportSettings.reportFractionsByNumberStyle(task.getReferenceMaterialSpots(), numberStyleIsNumeric);
516+
String[][] report = reportSettings.reportFractionsByNumberStyle(task.getReferenceMaterialSpots(),
517+
numberStyleIsNumeric,
518+
((Task) task).produceMapOfRefMatSpotsNames().keySet().stream().toArray(String[]::new));
517519
reportTableFile = prawnFileHandler.getReportsEngine().writeReportTableFiles(
518520
report, projectName + "_RefMatReportTablePerSquid25.csv");
519521
}
@@ -539,7 +541,10 @@ public File produceUnknownsPerSquid25CSV(boolean numberStyleIsNumeric)
539541
File reportTableFile = null;
540542
if (task.getUnknownSpots().size() > 0) {
541543
ReportSettingsInterface reportSettings = new ReportSettings("Unknowns", false, task);
542-
String[][] report = reportSettings.reportFractionsByNumberStyle(task.getUnknownSpots(), numberStyleIsNumeric);
544+
String[][] report =
545+
reportSettings.reportFractionsByNumberStyle(task.getUnknownSpots(),
546+
numberStyleIsNumeric,
547+
task.getMapOfUnknownsBySampleNames().keySet().stream().toArray(String[]::new));
543548
reportTableFile = prawnFileHandler.getReportsEngine().writeReportTableFiles(
544549
report, projectName + "_UnknownsReportTablePerSquid25.csv");
545550
}
@@ -553,7 +558,7 @@ public File produceUnknownsBySampleForETReduxCSV(boolean numberStyleIsNumeric)
553558
List<ShrimpFractionExpressionInterface> spotsBySampleNames = makeListOfUnknownsBySampleName();
554559
if (spotsBySampleNames.size() > 0) {
555560
ReportSettingsInterface reportSettings = new ReportSettings("UnknownsBySample", false, task);
556-
String[][] report = reportSettings.reportFractionsByNumberStyle(spotsBySampleNames, numberStyleIsNumeric);
561+
String[][] report = reportSettings.reportFractionsByNumberStyle(spotsBySampleNames, numberStyleIsNumeric, null);
557562
reportTableFile = prawnFileHandler.getReportsEngine().writeReportTableFiles(
558563
report, projectName + "_UnknownsBySampleReportTableForET_ReduxAndTopsoil.csv");
559564
}
@@ -612,38 +617,51 @@ public File produceUnknownsWeightedMeanSortingFieldsCSV()
612617
public String printProjectAudit() {
613618
StringBuilder sb = new StringBuilder();
614619

615-
sb.append("Project Audit produced by Squid3 v").append(Squid.VERSION).append(" on ").append(LocalDate.now()).append("\n");
620+
sb.append("Project Audit produced by Squid3 v").append(Squid.VERSION).append(" on ").append(LocalDate.now())
621+
.append(" (see https://github.com/CIRDLES/Squid)").append("\n");
616622
sb.append("Project Name: ").append(projectName).append("\n");
617-
sb.append("Analyst Name: ").append(analystName).append("\n");
623+
sb.append("Analyst Name: ").append(analystName).append("\n\n");
618624
sb.append("Data File: ").append(prawnFileHandler.getCurrentPrawnSourceFileLocation()).append("\n");
619625
sb.append("Software: ").append(getPrawnFileShrimpSoftwareVersionName()).append("\n\n");
620626
sb.append("Session\n");
621627
sb.append("\tLogin Comment: ").append(getPrawnFileLoginComment()).append("\n");
622628
sb.append("\tSummary\n");
623629
sb.append("\t\t").append(generatePrefixTreeFromSpotNames().buildSummaryDataString().replaceAll(";", "\n\t\t")).append("\n");
624630
sb.append("\tTotal Time in Hours: ").append((int) sessionDurationHours).append("\n\n");
625-
sb.append("Project Notes:\n").append(projectNotes).append("\n");
631+
sb.append("Project Notes:\n").append("\t").append(projectNotes).append("\n");
626632

627633
//parameters
634+
sb.append("\nProject Parameters: ")
635+
.append("\n")
636+
.append("\tIon Counts Normalized for SBM: ")
637+
.append(useSBM)
638+
.append("\n")
639+
.append("\tRatio Calculation Method: ")
640+
.append((task.isUserLinFits() ? "Linear Regression to Burn Mid-Time" : "Spot Average (time-invariant)"))
641+
.append("\n")
642+
.append("\tPreferred index isotope: ")
643+
.append(task.getSelectedIndexIsotope().getName())
644+
.append("\n")
645+
.append("\tWeighted Means of RefMat:\n")
646+
.append("\t\tAllow Squid3 to Auto Reject Spots: ").append(task.isSquidAllowsAutoExclusionOfSpots())
647+
.append("\n")
648+
.append("\t\tMinimum external 1sigma % err for 206Pb/238U: ").append(task.getExtPErrU())
649+
.append("\n")
650+
.append("\t\tMinimum external 1sigma % err for 208Pb/232Th: ").append(task.getExtPErrTh())
651+
.append("\n")
652+
.append("\tParameter Models:\n")
653+
.append("\t\tDef Comm Pb: ").append(task.getCommonPbModel().getModelNameWithVersion())
654+
.append("\n")
655+
.append("\t\tPhys Const: ").append(task.getPhysicalConstantsModel().getModelNameWithVersion())
656+
.append("\n")
657+
.append("\t\tRef Mat: ").append(task.getReferenceMaterialModel().getModelNameWithVersion())
658+
.append("\n")
659+
.append("\t\tConc Ref Mat: ").append(task.getConcentrationReferenceMaterialModel().getModelNameWithVersion())
660+
.append("\n\n");
661+
662+
628663
if (task != null) {
629-
sb.append("\nTask Name: ").append(task.getName());
630-
sb.append("\nTask Description: ").append(task.getDescription());
631-
sb.append("\nTask Author: ").append(task.getAuthorName());
632-
sb.append("\nTask Lab: ").append(task.getLabName());
633-
sb.append("\nTask Provenance: ").append(task.getProvenance());
634-
sb.append("\n\nParameters:\n");
635-
sb.append("\tIon Counts Normalized for SBM: ").append(task.isUseSBM()).append("\n");
636-
sb.append("\tRatio Calculation Method: ").append((task.isUserLinFits() ? "Linear Regression to Burn Mid-Time" : "Spot Average (time-invariant)")).append("\n");
637-
sb.append("\tPreferred Index Isotope: ").append(task.getSelectedIndexIsotope().getName()).append("\n");
638-
sb.append("\tWeighted Means of RefMat:\n");
639-
sb.append("\t\tAllow Squid3 to Auto Reject Spots: ").append(task.isSquidAllowsAutoExclusionOfSpots()).append("\n");
640-
sb.append("\t\tMinimum external 1sigma % err for 206Pb/238U: ").append(task.getExtPErrU()).append("\n");
641-
sb.append("\t\tMinimum external 1sigma % err for 208Pb/232Th: ").append(task.getExtPErrTh()).append("\n");
642-
sb.append("\tParameter Models:\n");
643-
sb.append("\t\tDef Comm Pb: ").append(task.getCommonPbModel().getModelNameWithVersion()).append("\n");
644-
sb.append("\t\tPhys Const: ").append(task.getPhysicalConstantsModel().getModelNameWithVersion()).append("\n");
645-
sb.append("\t\tRef Mat: ").append(task.getReferenceMaterialModel().getModelNameWithVersion()).append("\n");
646-
sb.append("\t\tConc Ref Mat: ").append(task.getConcentrationReferenceMaterialModel().getModelNameWithVersion()).append("\n");
664+
sb.append(task.printTaskSummary());
647665
}
648666

649667
return sb.toString();
@@ -775,7 +793,7 @@ public List<String> retrieveRemovedSpotsByName() {
775793
}
776794

777795
public void removeRunsFromPrawnFile(List<Run> runs) {
778-
if (removedRuns == null){
796+
if (removedRuns == null) {
779797
removedRuns = new ArrayList<>();
780798
}
781799
if (runs.size() > 0) {
@@ -949,7 +967,7 @@ public Path generateAllReports() throws IOException {
949967

950968
if (generateReportsValid()) {
951969
prawnFileHandler.getReportsEngine().writeProjectAudit();
952-
prawnFileHandler.getReportsEngine().writeTaskAudit();
970+
//prawnFileHandler.getReportsEngine().writeTaskAudit();
953971

954972
prawnFileHandler.getReportsEngine().writeSummaryReportsForReferenceMaterials();
955973
produceReferenceMaterialPerSquid25CSV(true);

0 commit comments

Comments
 (0)