Skip to content

Commit c65afbf

Browse files
committed
Refinements to customizer code, and many new SIV-related ETLs
(cherry picked from commit 8883e9d)
1 parent cc7cd52 commit c65afbf

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

Studies/src/org/labkey/studies/query/StudiesTableCustomizer.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package org.labkey.studies.query;
22

3+
import org.apache.commons.collections4.MultiValuedMap;
34
import org.apache.logging.log4j.Logger;
5+
import org.labkey.api.collections.CaseInsensitiveKeyedHashSetValuedMap;
46
import org.labkey.api.data.AbstractTableInfo;
57
import org.labkey.api.data.TableCustomizer;
68
import org.labkey.api.data.TableInfo;
79
import org.labkey.api.ldk.LDKService;
10+
import org.labkey.api.study.DatasetTable;
811
import org.labkey.api.util.logging.LogHelper;
912

1013
public class StudiesTableCustomizer implements TableCustomizer
@@ -14,7 +17,23 @@ public class StudiesTableCustomizer implements TableCustomizer
1417
@Override
1518
public void customize(TableInfo tableInfo)
1619
{
17-
LDKService.get().getDefaultTableCustomizer().customize(tableInfo);
20+
MultiValuedMap<String, String> props = new CaseInsensitiveKeyedHashSetValuedMap<>();
21+
if (tableInfo.getPkColumnNames().size() > 1)
22+
{
23+
if (tableInfo.getPkColumnNames().contains("objectId"))
24+
{
25+
props.put("primaryKeyField", "objectId");
26+
}
27+
else if (tableInfo instanceof DatasetTable ds)
28+
{
29+
if (ds.getDataset().isDemographicData())
30+
{
31+
props.put("primaryKeyField", ds.getDataset().getStudy().getSubjectColumnName());
32+
}
33+
}
34+
}
35+
36+
LDKService.get().getDefaultTableCustomizer(props).customize(tableInfo);
1837
if (tableInfo instanceof AbstractTableInfo ati)
1938
{
2039
doCustomize(ati);

Studies/src/org/labkey/studies/query/StudiesUserSchema.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,6 @@ private TableInfo createStudyDesignTable(String name, ContainerFilter cf, boolea
161161
ret.addPermissionMapping(InsertPermission.class, StudiesDataAdminPermission.class);
162162
ret.addPermissionMapping(UpdatePermission.class, StudiesDataAdminPermission.class);
163163
ret.addPermissionMapping(DeletePermission.class, StudiesDataAdminPermission.class);
164-
ret.addPermissionMapping(ReadPermission.class, StudiesDataAdminPermission.class);
165164

166165
if (addTriggers)
167166
{

0 commit comments

Comments
 (0)