Skip to content

Commit 9c04616

Browse files
committed
Remove NPE trap
1 parent 5c10e70 commit 9c04616

File tree

2 files changed

+34
-4
lines changed

2 files changed

+34
-4
lines changed

project-management/src/main/java/life/qbic/projectmanagement/application/sample/PropertyConversion.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
*/
2121
public class PropertyConversion {
2222

23+
private PropertyConversion(){}
24+
2325
private static final String CONDITION_VARIABLE_LEVEL_UNIT_TEMPLATE = "%s: %s %s"; // <variable name>: <value> [unit]
2426

2527
private static final String CONDITION_VARIABLE_LEVEL_NO_UNIT_TEMPLATE = "%s: %s"; // <variable name>: <value>
@@ -72,7 +74,7 @@ public static String toString(VariableLevel variableLevel) {
7274
if (variableLevel.experimentalValue().unit().isPresent()) {
7375
return CONDITION_VARIABLE_LEVEL_UNIT_TEMPLATE.formatted(variableLevel.variableName().value(),
7476
variableLevel.experimentalValue().value(),
75-
variableLevel.experimentalValue().unit().get());
77+
variableLevel.experimentalValue().unit().orElseThrow());
7678
} else {
7779
return CONDITION_VARIABLE_LEVEL_NO_UNIT_TEMPLATE.formatted(
7880
variableLevel.variableName().value(), variableLevel.experimentalValue().value());

user-interface/src/main/java/life/qbic/datamanager/views/projects/project/measurements/MeasurementPresenter.java

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,41 @@ public List<ProteomicsMeasurementEntry> expandProteomicsPools(
7777
.map(sample -> new SampleInformation(sample.sampleCode().code(), sample.label()))
7878
.orElse(new SampleInformation("", ""));
7979
var specificMetadata = proteomicsMeasurement.specificMetadata().stream()
80-
.filter(metadata -> metadata.measuredSample().equals(sampleId)).findFirst().orElse(null);
81-
expandedEntries.add(
82-
convertProteomicsMeasurement(proteomicsMeasurement, sampleInfo, specificMetadata));
80+
.filter(metadata -> metadata.measuredSample().equals(sampleId)).findFirst();
81+
if (specificMetadata.isPresent()) {
82+
expandedEntries.add(
83+
convertProteomicsMeasurement(proteomicsMeasurement, sampleInfo, specificMetadata.get()));
84+
} else {
85+
expandedEntries.add(convertProteomicsMeasurement(proteomicsMeasurement, sampleInfo));
86+
}
87+
8388
}
8489
return expandedEntries;
8590
}
8691

92+
private ProteomicsMeasurementEntry convertProteomicsMeasurement(
93+
ProteomicsMeasurement measurement, SampleInformation sampleInfo) {
94+
return new ProteomicsMeasurementEntry(measurement.measurementCode().value(),
95+
sampleInfo,
96+
measurement.technicalReplicateName().orElse(""),
97+
measurement.organisation().IRI(),
98+
measurement.organisation().label(),
99+
measurement.msDevice().getOboId().replace("_", ":"),
100+
measurement.msDevice().getLabel(),
101+
measurement.samplePoolGroup().orElse(""),
102+
measurement.facility(),
103+
"",
104+
measurement.digestionEnzyme(),
105+
measurement.digestionMethod(),
106+
measurement.enrichmentMethod(),
107+
String.valueOf(measurement.injectionVolume()),
108+
measurement.lcColumn(),
109+
measurement.lcmsMethod(),
110+
measurement.labelType(),
111+
"",
112+
"");
113+
}
114+
87115
public List<NGSMeasurementEntry> expandNGSPools(NGSMeasurement ngsMeasurement) {
88116
List<NGSMeasurementEntry> expandedEntries = new ArrayList<>();
89117
for (NGSSpecificMeasurementMetadata specificMeasurementMetadata : ngsMeasurement.specificMeasurementMetadata()) {

0 commit comments

Comments
 (0)