diff --git a/src/org/labkey/test/params/experiment/InventoryMetricUnit.java b/src/org/labkey/test/params/experiment/InventoryMetricUnit.java index d87a7242cd..229bd3a007 100644 --- a/src/org/labkey/test/params/experiment/InventoryMetricUnit.java +++ b/src/org/labkey/test/params/experiment/InventoryMetricUnit.java @@ -2,6 +2,10 @@ import org.apache.commons.lang3.StringUtils; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** * Enum of the various storage amount types. */ @@ -11,6 +15,8 @@ public enum InventoryMetricUnit G("g", "g (grams)"), MG("mg", "mg (milligrams)"), KG("kg", "kg (kilograms)"), + UG("ug", "ug (micrograms)"), + NG("ng", "ng (nanograms)"), ML("mL", "mL (milliliters)"), UL("uL", "uL (microliters)"), L("L", "L (liters)"), @@ -47,4 +53,51 @@ public static String getStandardUnit(String unitString) } return unitString; } + + public static List getAllSampleTypeUnits() + { + return Arrays.asList(InventoryMetricUnit.G, InventoryMetricUnit.MG, InventoryMetricUnit.KG, + InventoryMetricUnit.UG, InventoryMetricUnit.NG, + InventoryMetricUnit.ML, InventoryMetricUnit.UL, InventoryMetricUnit.L, + InventoryMetricUnit.UNIT); + } + + public static List getAllSampleTypeUnitNames() + { + return getAllSampleTypeUnits().stream().map(InventoryMetricUnit::getValue).toList(); + } + + public static List getAllSampleTypeUnitLabels() + { + return getAllSampleTypeUnits().stream().map(InventoryMetricUnit::getLabel).toList(); + } + + public static List getAllSampleUnits() + { + List allUnits = new ArrayList<>(getAllSampleTypeUnitNames()); + allUnits.remove(InventoryMetricUnit.UNIT.getLabel()); + allUnits.addAll(getAllCountUnits()); + return allUnits; + } + + public static List getAllCountUnits() + { + return Arrays.asList("blocks", "bottles", "boxes", "cells", "kits", "packs", "pieces", "slides", "tests", "unit"); + } + + public static List getMassSampleUnits() + { + return Arrays.asList(InventoryMetricUnit.G, InventoryMetricUnit.MG, InventoryMetricUnit.KG, + InventoryMetricUnit.UG, InventoryMetricUnit.NG); + } + + public static List getMassSampleUnitNames() + { + return getMassSampleUnits().stream().map(InventoryMetricUnit::getValue).toList(); + } + + public static List getMassSampleUnitLabels() + { + return getMassSampleUnits().stream().map(InventoryMetricUnit::getLabel).toList(); + } } diff --git a/src/org/labkey/test/params/experiment/InventoryMetricUnitKind.java b/src/org/labkey/test/params/experiment/InventoryMetricUnitKind.java new file mode 100644 index 0000000000..ee8dbbe02d --- /dev/null +++ b/src/org/labkey/test/params/experiment/InventoryMetricUnitKind.java @@ -0,0 +1,9 @@ +package org.labkey.test.params.experiment; + +public enum InventoryMetricUnitKind +{ + Any, + Mass, + Volume, + Other +}