Skip to content

Commit 0dd4b76

Browse files
use shared convert code (#195)
1 parent 215ae90 commit 0dd4b76

File tree

1 file changed

+6
-11
lines changed

1 file changed

+6
-11
lines changed

OConnorExperiments/src/org/labkey/oconnorexperiments/query/ExperimentsTable.java

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
*/
1616
package org.labkey.oconnorexperiments.query;
1717

18+
import org.apache.commons.beanutils.ConvertUtils;
1819
import org.jetbrains.annotations.NotNull;
1920
import org.jetbrains.annotations.Nullable;
20-
import org.json.JSONArray;
2121
import org.labkey.api.collections.CaseInsensitiveHashMap;
2222
import org.labkey.api.collections.RowMapFactory;
2323
import org.labkey.api.data.ColumnInfo;
@@ -29,6 +29,7 @@
2929
import org.labkey.api.data.Filter;
3030
import org.labkey.api.data.JdbcType;
3131
import org.labkey.api.data.LookupColumn;
32+
import org.labkey.api.data.MultiChoice;
3233
import org.labkey.api.data.MultiValuedForeignKey;
3334
import org.labkey.api.data.SchemaTableInfo;
3435
import org.labkey.api.data.SimpleFilter;
@@ -317,16 +318,10 @@ private void insertParentExperiments(User user, List<Map<String, Object>> rows,
317318
List<Map<String, Object>> parentExperimentRows = new ArrayList<>();
318319
String c = (String)row.get("container");
319320
Object v = row.get("ParentExperiments");
320-
String[] parentExperiments = null;
321-
if (v instanceof String[])
322-
parentExperiments = (String[])v;
323-
else if (v instanceof JSONArray ja)
324-
{
325-
ArrayList<String> s = new ArrayList<>();
326-
for (Object o : ja.toList())
327-
s.add(o.toString());
328-
parentExperiments = s.toArray(new String[0]);
329-
}
321+
322+
// use a bit of shared code for this conversion
323+
MultiChoice.Array arr = (MultiChoice.Array)ConvertUtils.convert(v, MultiChoice.Array.class);
324+
String[] parentExperiments = null == arr || arr.isEmpty() ? null : arr.getStringArray();
330325

331326
Container innerContainer = ContainerManager.getForId(c);
332327
if (innerContainer == null)

0 commit comments

Comments
 (0)