diff --git a/WebApp/src/uk/ac/exeter/QuinCe/data/Instrument/FileDefinition.java b/WebApp/src/uk/ac/exeter/QuinCe/data/Instrument/FileDefinition.java index d4cb72001..ecc72dabf 100644 --- a/WebApp/src/uk/ac/exeter/QuinCe/data/Instrument/FileDefinition.java +++ b/WebApp/src/uk/ac/exeter/QuinCe/data/Instrument/FileDefinition.java @@ -658,9 +658,11 @@ public RunTypeAssignments getRunTypes() { * @return The run type values */ public List getRunTypeValues() { - List values = null; + List values; - if (null != runTypes) { + if (null == runTypes) { + values = new ArrayList(0); + } else { values = new ArrayList(runTypes.size()); values.addAll(runTypes.keySet()); } diff --git a/WebApp/src/uk/ac/exeter/QuinCe/web/files/MissingRunType.java b/WebApp/src/uk/ac/exeter/QuinCe/web/files/MissingRunType.java index 5bb302a67..9c71343d1 100644 --- a/WebApp/src/uk/ac/exeter/QuinCe/web/files/MissingRunType.java +++ b/WebApp/src/uk/ac/exeter/QuinCe/web/files/MissingRunType.java @@ -1,15 +1,21 @@ package uk.ac.exeter.QuinCe.web.files; -import java.util.List; +import java.util.Set; import uk.ac.exeter.QuinCe.data.Instrument.FileDefinition; import uk.ac.exeter.QuinCe.data.Instrument.RunTypes.RunTypeAssignment; public record MissingRunType(FileDefinition fileDefinition, - RunTypeAssignment runType) { - protected static boolean contains(List list, + RunTypeAssignment runType) implements Comparable { + + protected static boolean contains(Set list, FileDefinition fileDefinition, String runName) { return list.stream().anyMatch(r -> r.fileDefinition.equals(fileDefinition) && r.runType.getRunName().equals(runName)); } + + @Override + public int compareTo(MissingRunType o) { + return runType.getRunName().compareTo(o.runType.getRunName()); + } } diff --git a/WebApp/src/uk/ac/exeter/QuinCe/web/files/MultipleFileUploadBean.java b/WebApp/src/uk/ac/exeter/QuinCe/web/files/MultipleFileUploadBean.java index 0847bdbb8..01b20c15c 100644 --- a/WebApp/src/uk/ac/exeter/QuinCe/web/files/MultipleFileUploadBean.java +++ b/WebApp/src/uk/ac/exeter/QuinCe/web/files/MultipleFileUploadBean.java @@ -1,6 +1,5 @@ package uk.ac.exeter.QuinCe.web.files; -import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.TreeSet; @@ -29,7 +28,7 @@ public class MultipleFileUploadBean extends FileUploadBean { */ private TreeSet dataFiles = new TreeSet(); - private List unrecognisedRunTypes; + private TreeSet unrecognisedRunTypes; @Override public void processUploadedFile() { @@ -131,7 +130,7 @@ private void unsetDataFiles() { } private void buildUnrecognisedRunTypes() { - unrecognisedRunTypes = new ArrayList(); + unrecognisedRunTypes = new TreeSet(); for (UploadedDataFile file : dataFiles) { for (RunTypeAssignment runType : file.getMissingRunTypes()) { @@ -144,7 +143,7 @@ private void buildUnrecognisedRunTypes() { } } - public List getUnrecognisedRunTypes() { + public TreeSet getUnrecognisedRunTypes() { if (null == unrecognisedRunTypes) { buildUnrecognisedRunTypes();