Skip to content

Commit 0b8d3cc

Browse files
Expose more PropertyDescriptor data in exp.Fields (#7130)
1 parent e8f0568 commit 0b8d3cc

4 files changed

Lines changed: 35 additions & 17 deletions

File tree

api/src/org/labkey/api/reports/report/r/view/DownloadParamReplacement.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.labkey.api.reports.report.ScriptOutput;
2020
import org.labkey.api.reports.report.r.AbstractParamReplacement;
2121
import org.labkey.api.util.FileUtil;
22+
import org.labkey.api.util.Path;
2223

2324
import java.io.File;
2425

@@ -49,7 +50,7 @@ protected final File getSubstitution(File directory, String extension)
4950
fileName = getName().concat(extension);
5051

5152
if (directory != null)
52-
file = FileUtil.appendName(directory, fileName);
53+
file = FileUtil.appendPath(directory, Path.parse(fileName));
5354
}
5455
if (file != null)
5556
addFile(file);

assay/src/org/labkey/assay/AssayIntegrationTestCase.jsp

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,8 @@
9696
<%@ page import="java.io.IOException" %>
9797
<%@ page import="org.apache.commons.collections.MapUtils" %>
9898
<%@ page import="org.labkey.vfs.FileSystemLike" %>
99+
<%@ page import="static org.junit.Assert.assertEquals" %>
100+
<%@ page import="static org.junit.Assert.assertNotEquals" %>
99101

100102
<%@ page extends="org.labkey.api.jsp.JspTest.BVT" %>
101103
<%!
@@ -559,18 +561,18 @@
559561
runsQUS.updateRows(user, c, Collections.singletonList(updated), null, errors, null, null);
560562
// verify runs modified is changed, but created is not
561563
Map<String, Object> modifiedRunResults = new TableSelector(runsTable, selectColumns, new SimpleFilter("rowId", runRowId), null).getMap();
562-
assertTrue(modifiedRunResults.get("Created").equals(runOriginalCreated));
563-
assertFalse(modifiedRunResults.get("Modified").equals(runOriginalModified));
564+
assertEquals("modifiedRunResults should have the same Created", modifiedRunResults.get("Created"), runOriginalCreated);
565+
assertNotEquals("modifiedRunResults should have a different Modified", modifiedRunResults.get("Modified"), runOriginalModified);
564566
565567
// verify results created/modified matches run's created in query table
566568
Map<String, Object> queryResultAfterRunModify = new TableSelector(resultsTable, selectColumns, new SimpleFilter(runFieldKey, runRowId), null).getMap();
567-
assertTrue(queryResultAfterRunModify.get("Created").equals(runOriginalCreated));
568-
assertTrue(queryResultAfterRunModify.get("Modified").equals(runOriginalCreated));
569-
assertFalse(queryResultAfterRunModify.get("Modified").equals(modifiedRunResults.get("Modified")));
569+
assertEquals("queryResultAfterRunModify should have the same Created", queryResultAfterRunModify.get("Created"), runOriginalCreated);
570+
assertEquals("queryResultAfterRunModify should have the same Modified", queryResultAfterRunModify.get("Modified"), runOriginalCreated);
571+
assertNotEquals("queryResultAfterRunModify should have a different Modified", queryResultAfterRunModify.get("Modified"), modifiedRunResults.get("Modified"));
570572
571573
// verify created/modified in provisioned result table is still not populated after run edit
572574
dbResult = getRealResult(resultsTable.getSchema(), realResultsTable.getName(), resultRowId);
573-
assertTrue(dbResult.get("Created") == null && dbResult.get("Modified") == null);
575+
assertTrue("Created and Modified in the provisioned result table weren't as expected", dbResult.get("Created") == null && dbResult.get("Modified") == null);
574576
575577
// now edit the result
576578
QueryUpdateService resultsQUS = resultsTable.getUpdateService();
@@ -582,18 +584,18 @@
582584
583585
// verify result created matches run's created in query table, but result modified now differs from run's created
584586
Map<String, Object> modifiedResults = new TableSelector(resultsTable, selectColumns, new SimpleFilter(runFieldKey, runRowId), null).getMap();
585-
assertTrue(modifiedResults.get("Created").equals(runOriginalCreated));
586-
assertFalse(modifiedResults.get("Created").equals(modifiedResults.get("Modified")));
587-
assertFalse(modifiedResults.get("Modified").equals(runOriginalCreated));
588-
assertFalse(modifiedResults.get("Modified").equals(runOriginalModified));
589-
assertFalse(modifiedResults.get("Modified").equals(modifiedRunResults.get("Modified")));
587+
assertEquals("modifiedResults Created didn't match runOriginalCreated", modifiedResults.get("Created"), runOriginalCreated);
588+
assertNotEquals("modifiedResults Created shouldn't match modifiedResult Modified", modifiedResults.get("Created"), modifiedResults.get("Modified"));
589+
assertNotEquals("modifiedResults Modified shouldn't match runOriginalCreated", modifiedResults.get("Modified"), runOriginalCreated);
590+
assertNotEquals("modifiedResults Modified shouldn't match runOriginalModified", modifiedResults.get("Modified"), runOriginalModified);
591+
assertNotEquals("modifiedResults Modified shouldn't match modifiedRunResults Modified", modifiedResults.get("Modified"), modifiedRunResults.get("Modified"));
590592
591593
// verify modified in provisioned result table no longer null after result edit
592594
dbResult = getRealResult(resultsTable.getSchema(), realResultsTable.getName(), resultRowId);
593-
assertTrue(dbResult.get("Created") == null && dbResult.get("CreatedBy") == null);
594-
assertFalse(dbResult.get("Modified") == null || dbResult.get("ModifiedBy") == null);
595-
assertTrue(dbResult.get("Modified").equals(modifiedResults.get("Modified")));
596-
assertTrue(dbResult.get("ModifiedBy").equals(modifiedResults.get("ModifiedBy")));
595+
assertTrue("dbResult shouldn't have Created or CreatedBy", dbResult.get("Created") == null && dbResult.get("CreatedBy") == null);
596+
assertFalse("dbResult didn't have a Modified or ModifiedBy", dbResult.get("Modified") == null || dbResult.get("ModifiedBy") == null);
597+
assertEquals("dbResults Modified didn't match", dbResult.get("Modified"), modifiedResults.get("Modified"));
598+
assertEquals("dbResults ModifiedBy didn't match", dbResult.get("ModifiedBy"), modifiedResults.get("ModifiedBy"));
597599
}
598600
599601
@Test

experiment/src/org/labkey/experiment/api/BaseFieldsTable.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import org.jetbrains.annotations.NotNull;
44
import org.jetbrains.annotations.Nullable;
55
import org.labkey.api.data.BaseColumnInfo;
6+
import org.labkey.api.data.ColumnInfo;
67
import org.labkey.api.data.ContainerFilter;
78
import org.labkey.api.data.JdbcType;
89
import org.labkey.api.data.MutableColumnInfo;
@@ -13,6 +14,7 @@
1314
import org.labkey.api.query.FieldKey;
1415
import org.labkey.api.query.FilteredTable;
1516
import org.labkey.api.security.permissions.AdminPermission;
17+
import org.labkey.api.security.permissions.Permission;
1618

1719
public abstract class BaseFieldsTable extends FilteredTable<ExpSchema>
1820
{
@@ -32,6 +34,18 @@ public BaseFieldsTable(String tableName, @NotNull ExpSchema userSchema, @Nullabl
3234
addWrapColumn(_rootTable.getColumn("Description"));
3335
addWrapColumn(_rootTable.getColumn("RangeURI"));
3436
addWrapColumn(_rootTable.getColumn("StorageColumnName"));
37+
addWrapColumn(_rootTable.getColumn("ConceptURI"));
38+
39+
// Add the other columns in case they're useful for future troubleshooting, but keep them out
40+
// of the way by default
41+
for (ColumnInfo column : _rootTable.getColumns())
42+
{
43+
if (getColumn(column.getName()) == null)
44+
{
45+
addWrapColumn(column).setHidden(true);
46+
}
47+
}
48+
3549
}
3650

3751
protected MutableColumnInfo addColumn(String name, JdbcType type)

experiment/src/org/labkey/experiment/api/PhiFieldsTable.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ public PhiFieldsTable(@NotNull ExpSchema userSchema, @Nullable ContainerFilter c
1818
setDescription("Shows one row for each PHI-annotated field in the selected folder(s). Rows are shown in " +
1919
"a folder or project only if the user has administrator permissions in that folder.");
2020

21-
MutableColumnInfo phi = addColumn("PHI", JdbcType.VARCHAR);
21+
MutableColumnInfo phi = getMutableColumnOrThrow("PHI");
2222
phi.setDescription("PHI Annotation");
23+
phi.setHidden(false);
2324

2425
addCondition(new SimpleFilter(phi.getFieldKey(), "NotPHI", CompareType.NEQ));
2526
}

0 commit comments

Comments
 (0)