From de38e49004ea2c862e56ccae06c9653a92d7f60b Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Tue, 11 Mar 2025 22:06:19 -0700 Subject: [PATCH 1/2] lk-region-form -> data-region-form --- .../org/scharp/atlas/pepdb/PepDBBaseController.java | 4 ++-- .../org/labkey/test/tests/pepdb/PepDBModuleTest.java | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pepdb/src/org/scharp/atlas/pepdb/PepDBBaseController.java b/pepdb/src/org/scharp/atlas/pepdb/PepDBBaseController.java index 57d01f85..116bf7bc 100644 --- a/pepdb/src/org/scharp/atlas/pepdb/PepDBBaseController.java +++ b/pepdb/src/org/scharp/atlas/pepdb/PepDBBaseController.java @@ -497,13 +497,13 @@ public Object getDisplayValue(RenderContext ctx) } @Override - public Class getValueClass() + public Class getValueClass() { return Integer.class; } @Override - public Class getDisplayValueClass() + public Class getDisplayValueClass() { return String.class; } diff --git a/pepdb/test/src/org/labkey/test/tests/pepdb/PepDBModuleTest.java b/pepdb/test/src/org/labkey/test/tests/pepdb/PepDBModuleTest.java index b7659325..3ca49342 100644 --- a/pepdb/test/src/org/labkey/test/tests/pepdb/PepDBModuleTest.java +++ b/pepdb/test/src/org/labkey/test/tests/pepdb/PepDBModuleTest.java @@ -162,21 +162,21 @@ public void testSteps() throws Exception // Select a newly uploaded peptide, #3 and edit it to have a storage location of 'Kitchen Sink' clickAndWait(Locator.linkWithText(pepString(4))); // Verify the expected record's content - assertTrue(getDriver().findElement(Locator.xpath("//form[@lk-region-form='peptides']/table/tbody")).getText().matches("^[\\s\\S]*Peptide Id:\\s*" + pepString(4) + "\nPeptide Sequence:\\s*REPRGSDIAGTTSTL\nProtein Category:\\s*p24\nSequence Length:\\s*15\nAAStart:\\s*97\nAAEnd:\\s*111\nIs Child:\\s*false\nIs Parent:\\s*false[\\s\\S]*$")); + assertTrue(getDriver().findElement(Locator.xpath("//form[@data-region-form='peptides']/table/tbody")).getText().matches("^[\\s\\S]*Peptide Id:\\s*" + pepString(4) + "\nPeptide Sequence:\\s*REPRGSDIAGTTSTL\nProtein Category:\\s*p24\nSequence Length:\\s*15\nAAStart:\\s*97\nAAEnd:\\s*111\nIs Child:\\s*false\nIs Parent:\\s*false[\\s\\S]*$")); clickAndWait(Locator.linkWithText("Edit Peptide")); setFormElement(Locator.name("storage_location"), "Kitchen Sink"); clickAndWait(Locator.xpath("//span[text()='Save Changes']")); // Assert that the Storage Location now contains "Kitchen Sink" - assertTrue(getDriver().findElement(Locator.xpath("//form[@lk-region-form='peptides']/table/tbody")).getText().matches("^[\\s\\S]*Peptide Id:\\s*" + pepString(4) + "\nPeptide Sequence:\\s*REPRGSDIAGTTSTL\nProtein Category:\\s*p24\nSequence Length:\\s*15\nAAStart:\\s*97\nAAEnd:\\s*111\nIs Child:\\s*false\nIs Parent:\\s*false[\\s\\S]*$")); + assertTrue(getDriver().findElement(Locator.xpath("//form[@data-region-form='peptides']/table/tbody")).getText().matches("^[\\s\\S]*Peptide Id:\\s*" + pepString(4) + "\nPeptide Sequence:\\s*REPRGSDIAGTTSTL\nProtein Category:\\s*p24\nSequence Length:\\s*15\nAAStart:\\s*97\nAAEnd:\\s*111\nIs Child:\\s*false\nIs Parent:\\s*false[\\s\\S]*$")); clickAndWait(Locator.css("a.labkey-button > span")); // Search for a single, newly-uploaded peptide and verify it displays as expected. setFormElement(Locator.name("peptide_id"), Integer.toString(peptideStartIndex + 9)); clickButton("Find"); // Verify the expected record's content - assertTrue(getDriver().findElement(Locator.tagWithAttribute("form", "lk-region-form", "peptides")).getText() + assertTrue(getDriver().findElement(Locator.tagWithAttribute("form", "data-region-form", "peptides")).getText() .matches("^[\\s\\S]*Peptide Id:\\s*" + pepString(9) + "\nPeptide Sequence:\\s*KCGKEGHQMKDCTER\nProtein Category:\\s*p2p7p1p6\nSequence Length:\\s*15\nAAStart:\\s*52\nAAEnd:\\s*66\nIs Child:\\s*false\nIs Parent:\\s*false\nStorage Location:\\s*\n[\\s\\S]*$")); clickAndWait(Locator.css("a.labkey-button > span")); @@ -199,8 +199,8 @@ public void testSteps() throws Exception clickAndWait(Locator.name("action_type")); clickAndWait(Locator.linkWithText(pepString(4))); - checker().verifyEquals("", "Peptide Sequence:", getDriver().findElement(Locator.xpath("//form[@lk-region-form='peptides']/table/tbody/tr[2]/td")).getText()); - checker().verifyEquals("", "REPRGSDIAGTTSTL", getDriver().findElement(Locator.xpath("//form[@lk-region-form='peptides']/table/tbody/tr[2]/td[2]")).getText()); + checker().verifyEquals("", "Peptide Sequence:", getDriver().findElement(Locator.xpath("//form[@data-region-form='peptides']/table/tbody/tr[2]/td")).getText()); + checker().verifyEquals("", "REPRGSDIAGTTSTL", getDriver().findElement(Locator.xpath("//form[@data-region-form='peptides']/table/tbody/tr[2]/td[2]")).getText()); checker().verifyEquals("", "gagptegprac (PEPTIDE NUMBER =GAG1-4)", getDriver().findElement(Locator.css(".lk-body-ct div:nth-of-type(2) > table > tbody > tr > td")).getText()); } From ab567e6fc28ea7a684887c5f4644f87c2446022d Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Thu, 13 Mar 2025 08:09:03 -0700 Subject: [PATCH 2/2] Migrate renderGridCellContents() and renderDetailsCellContents() --- .../labkey/hdrl/query/HDRLQuerySchema.java | 11 ++--- .../atlas/pepdb/PepDBBaseController.java | 42 +++++++++---------- .../DatasetListWithStatusColumn.java | 21 +++++----- 3 files changed, 38 insertions(+), 36 deletions(-) diff --git a/hdrl/src/org/labkey/hdrl/query/HDRLQuerySchema.java b/hdrl/src/org/labkey/hdrl/query/HDRLQuerySchema.java index 2cd3fc4e..f59fccd9 100644 --- a/hdrl/src/org/labkey/hdrl/query/HDRLQuerySchema.java +++ b/hdrl/src/org/labkey/hdrl/query/HDRLQuerySchema.java @@ -45,6 +45,7 @@ import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.ActionURL; import org.labkey.api.view.ViewContext; +import org.labkey.api.writer.HtmlWriter; import org.labkey.hdrl.HDRLController; import org.labkey.hdrl.HDRLManager; import org.labkey.hdrl.HDRLModule; @@ -198,7 +199,7 @@ protected void addDetailsAndUpdateColumns(List ret, TableInfo tab SimpleDisplayColumn actionColumn = new SimpleDisplayColumn() { @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException { Container c = ContainerManager.getForId(ctx.get(FieldKey.fromParts("container")).toString()); @@ -215,13 +216,13 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep { FieldKey requestFieldKey = FieldKey.fromParts("RequestId"); ActionURL actionUrl = new ActionURL(HDRLController.EditRequestAction.class, c).addParameter("requestId", (Integer)ctx.get(requestFieldKey)); - out.write(PageFlowUtil.link("Edit").href(actionUrl).toString()); + oldWriter.write(PageFlowUtil.link("Edit").href(actionUrl).toString()); } else { ActionURL actionUrl = new ActionURL(HDRLController.RequestDetailsAction.class, c); actionUrl.addParameter("requestId", (Integer) ctx.get("requestId")); - out.write(PageFlowUtil.link("View").href(actionUrl).toString()); + oldWriter.write(PageFlowUtil.link("View").href(actionUrl).toString()); } } }; @@ -248,13 +249,13 @@ protected void addDetailsAndUpdateColumns(List ret, TableInfo tab SimpleDisplayColumn downloadColumn = new SimpleDisplayColumn() { @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException { Integer specimenId = (Integer) ctx.get(FieldKey.fromParts("RowId")); if (HDRLManager.get().hasClinicalReport(specimenId, getUser(), getContainer())) { // download button displayed - out.write(PageFlowUtil.button("Download").href(new ActionURL(HDRLController.DownloadClinicalReportAction.class, getContainer()).addParameter("specimenId", specimenId)).toString()); + oldWriter.write(PageFlowUtil.button("Download").href(new ActionURL(HDRLController.DownloadClinicalReportAction.class, getContainer()).addParameter("specimenId", specimenId)).toString()); } } }; diff --git a/pepdb/src/org/scharp/atlas/pepdb/PepDBBaseController.java b/pepdb/src/org/scharp/atlas/pepdb/PepDBBaseController.java index 116bf7bc..78b687f0 100644 --- a/pepdb/src/org/scharp/atlas/pepdb/PepDBBaseController.java +++ b/pepdb/src/org/scharp/atlas/pepdb/PepDBBaseController.java @@ -19,6 +19,7 @@ import org.labkey.api.util.HtmlStringBuilder; import org.labkey.api.util.Link; import org.labkey.api.view.ActionURL; +import org.labkey.api.writer.HtmlWriter; import org.scharp.atlas.pepdb.model.PeptideGroup; import org.scharp.atlas.pepdb.model.PeptidePool; import org.scharp.atlas.pepdb.model.Peptides; @@ -440,7 +441,7 @@ public DCpeptideId(ColumnInfo col) } @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { ColumnInfo c = getColumnInfo(); Map rowMap = ctx.getRow(); @@ -452,17 +453,16 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep try { new Link.LinkBuilder("P" + peptideId).clearClasses() - .target("_self") - .href(new ActionURL(PepDBController.DisplayPeptideAction.class, getContainer()) - .addParameter(PepDBSchema.COLUMN_PEPTIDE_ID, peptideId)) - .build() - .appendTo(out); + .target("_self") + .href(new ActionURL(PepDBController.DisplayPeptideAction.class, getContainer()) + .addParameter(PepDBSchema.COLUMN_PEPTIDE_ID, peptideId)) + .build() + .appendTo(out); } catch (Exception e) { e.printStackTrace(); } - } } @@ -517,7 +517,7 @@ public DCpeptidePoolId(ColumnInfo col) } @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { ColumnInfo c = getColumnInfo(); Map rowMap = ctx.getRow(); @@ -529,11 +529,11 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep try { new Link.LinkBuilder("PP" + peptidePoolId).clearClasses() - .target("_self") - .href(new ActionURL(PepDBController.DisplayPeptidePoolInformationAction.class, getContainer()) - .addParameter(PepDBSchema.COLUMN_PEPTIDE_POOL_ID, peptidePoolId)) - .build() - .appendTo(out); + .target("_self") + .href(new ActionURL(PepDBController.DisplayPeptidePoolInformationAction.class, getContainer()) + .addParameter(PepDBSchema.COLUMN_PEPTIDE_POOL_ID, peptidePoolId)) + .build() + .appendTo(out); } catch (Exception e) { @@ -593,7 +593,7 @@ public DCparentPoolId(ColumnInfo col) } @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { ColumnInfo c = getColumnInfo(); Map rowMap = ctx.getRow(); @@ -607,11 +607,11 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep if(parentPoolId != null) { new Link.LinkBuilder("PP" + parentPoolId).clearClasses() - .target("_self") - .href(new ActionURL(PepDBController.DisplayPeptidePoolInformationAction.class, getContainer()) - .addParameter(PepDBSchema.COLUMN_PEPTIDE_POOL_ID, parentPoolId)) - .build() - .appendTo(out); + .target("_self") + .href(new ActionURL(PepDBController.DisplayPeptidePoolInformationAction.class, getContainer()) + .addParameter(PepDBSchema.COLUMN_PEPTIDE_POOL_ID, parentPoolId)) + .build() + .appendTo(out); } } catch (Exception e) @@ -634,9 +634,9 @@ public Object getDisplayValue(RenderContext ctx) try { if (parentPoolId != null) - return ("PP" + parentPoolId); + return ("PP" + parentPoolId); else - return null; + return null; } catch (Exception e) { diff --git a/viscstudies/src/org/labkey/viscstudies/DatasetListWithStatusColumn.java b/viscstudies/src/org/labkey/viscstudies/DatasetListWithStatusColumn.java index 1afb99e3..e760e041 100644 --- a/viscstudies/src/org/labkey/viscstudies/DatasetListWithStatusColumn.java +++ b/viscstudies/src/org/labkey/viscstudies/DatasetListWithStatusColumn.java @@ -28,6 +28,7 @@ import org.labkey.api.study.Study; import org.labkey.api.study.StudyService; import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.writer.HtmlWriter; import java.io.IOException; import java.io.Writer; @@ -81,35 +82,35 @@ private List getDatasets(RenderContext ctx) } @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException { // Show an icon for the dataset status (if set) and the dataset name, one per row, in a table - out.write(""); + oldWriter.write("
"); for (Dataset dataset : getDatasets(ctx)) { Object status = ReportPropsManager.get().getPropertyValue(dataset.getEntityId(), dataset.getContainer(), DataViewProvider.EditInfo.Property.status.toString()); - out.write("\n"); + oldWriter.write("\n"); } - out.write("
"); + oldWriter.write("
"); if (status == null || "None".equalsIgnoreCase(status.toString())) { - out.write(" "); + oldWriter.write(" "); } else { String iconPath = ICON_PATHS.get(status.toString()); if (iconPath != null) { - out.write(""); + oldWriter.write(""); } else { - out.write(PageFlowUtil.filter(status)); + oldWriter.write(PageFlowUtil.filter(status)); } } - out.write(""); - out.write(PageFlowUtil.filter(dataset.getLabel())); - out.write("
"); + oldWriter.write(PageFlowUtil.filter(dataset.getLabel())); + oldWriter.write("
"); + oldWriter.write(""); } @Override