Skip to content

Commit 64feb1f

Browse files
committed
Finish renderGridCellContents migration
1 parent f1c7970 commit 64feb1f

12 files changed

+85
-76
lines changed

mGAP/src/org/labkey/mgap/query/OMIMDisplayColumnFactory.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
import org.labkey.api.data.DisplayColumnFactory;
88
import org.labkey.api.data.RenderContext;
99
import org.labkey.api.query.FieldKey;
10+
import org.labkey.api.util.HtmlString;
11+
import org.labkey.api.util.PageFlowUtil;
1012
import org.labkey.api.writer.HtmlWriter;
1113

12-
import java.io.IOException;
13-
import java.io.Writer;
1414
import java.util.Arrays;
1515
import java.util.Collections;
1616
import java.util.List;
@@ -35,7 +35,7 @@ private FieldKey getBoundKey(String colName)
3535
}
3636

3737
@Override
38-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
38+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
3939
{
4040
String rawValue = StringUtils.trimToNull(ctx.get(getBoundKey("omim"), String.class));
4141
if (rawValue == null)
@@ -46,7 +46,7 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit
4646
List<String> tokens = Arrays.asList(rawValue.split(";"));
4747
Collections.sort(tokens);
4848

49-
String delim = "";
49+
HtmlString delim = HtmlString.EMPTY_STRING;
5050
for (String entry : tokens)
5151
{
5252
String id = entry;
@@ -58,8 +58,9 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit
5858
text = parts[0];
5959
}
6060

61-
oldWriter.write(delim + "<a target=\"_blank\" href=\"https://www.omim.org/entry/" + id + "\">" + text + "</a>");
62-
delim = "<br>";
61+
out.write(delim);
62+
out.write(PageFlowUtil.link(text).href("https://www.omim.org/entry/" + id).target("_blank").clearClasses());
63+
delim = HtmlString.BR;
6364
}
6465
}
6566
};

mGAP/src/org/labkey/mgap/query/OMIMPhenotypeDisplayColumnFactory.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
import org.labkey.api.data.DisplayColumnFactory;
88
import org.labkey.api.data.RenderContext;
99
import org.labkey.api.query.FieldKey;
10+
import org.labkey.api.util.HtmlString;
11+
import org.labkey.api.util.PageFlowUtil;
1012
import org.labkey.api.writer.HtmlWriter;
1113

12-
import java.io.IOException;
13-
import java.io.Writer;
1414
import java.util.Arrays;
1515
import java.util.Collections;
1616
import java.util.List;
@@ -50,7 +50,7 @@ public Object getExcelCompatibleValue(RenderContext ctx)
5050
}
5151

5252
@Override
53-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
53+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
5454
{
5555
String rawValue = StringUtils.trimToNull(ctx.get(getBoundKey("omim_phenotype"), String.class));
5656
if (rawValue == null)
@@ -61,20 +61,21 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit
6161
List<String> tokens = Arrays.asList(rawValue.split(";"));
6262
Collections.sort(tokens);
6363

64-
String delim = "";
64+
HtmlString delim = HtmlString.EMPTY_STRING;
6565
for (String entry : tokens)
6666
{
6767
String[] elements = entry.split("<>");
68+
out.write(delim);
6869
if (elements.length > 1)
6970
{
70-
oldWriter.write(delim + "<a target=\"_blank\" href=\"https://www.omim.org/entry/" + elements[1] + "\">" + elements[0] + "</a>");
71+
out.write(PageFlowUtil.link(elements[0]).target("_blank").href("https://www.omim.org/entry/" + elements[1]).clearClasses());
7172
}
7273
else
7374
{
74-
oldWriter.write(delim + "<a>" + elements[0] + "</a>");
75+
out.write(PageFlowUtil.link(elements[0]).clearClasses());
7576
}
7677

77-
delim = "<br>";
78+
delim = HtmlString.BR;
7879
}
7980
}
8081
};

mGAP/src/org/labkey/mgap/query/OverlappingGenesDisplayColumnFactory.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
import org.labkey.api.data.DisplayColumnFactory;
88
import org.labkey.api.data.RenderContext;
99
import org.labkey.api.query.FieldKey;
10+
import org.labkey.api.util.HtmlString;
11+
import org.labkey.api.util.PageFlowUtil;
1012
import org.labkey.api.writer.HtmlWriter;
1113

12-
import java.io.IOException;
13-
import java.io.Writer;
1414
import java.util.Arrays;
1515
import java.util.Collections;
1616
import java.util.List;
@@ -35,7 +35,7 @@ private FieldKey getBoundKey(String colName)
3535
}
3636

3737
@Override
38-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
38+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
3939
{
4040
String rawValue = StringUtils.trimToNull(ctx.get(getBoundKey("overlappingGenes"), String.class));
4141
if (rawValue == null)
@@ -46,7 +46,7 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit
4646
List<String> tokens = Arrays.asList(rawValue.split(";"));
4747
Collections.sort(tokens);
4848

49-
String delim = "";
49+
HtmlString delim = HtmlString.EMPTY_STRING;
5050
for (String geneName : tokens)
5151
{
5252
String url = null;
@@ -65,8 +65,9 @@ else if (geneName.startsWith("ENSMMUE"))
6565
url = "http://ensembl.org/Macaca_mulatta/Gene/Summary?db=core;g=" + geneName;
6666
}
6767

68-
oldWriter.write(delim + "<a target=\"_blank\" href=\"" + url + "\">" + geneName + "</a>");
69-
delim = "<br>";
68+
out.write(delim);
69+
out.write(PageFlowUtil.link(geneName).href(url).target("_blank").clearClasses());
70+
delim = HtmlString.BR;
7071
}
7172
}
7273
};

mGAP/src/org/labkey/mgap/query/PhenotypeVariantLinkDisplayColumnFactory.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@
88
import org.labkey.api.data.RenderContext;
99
import org.labkey.api.query.DetailsURL;
1010
import org.labkey.api.query.FieldKey;
11+
import org.labkey.api.util.PageFlowUtil;
1112
import org.labkey.api.writer.HtmlWriter;
1213

13-
import java.io.IOException;
14-
import java.io.Writer;
1514
import java.util.List;
1615
import java.util.Set;
1716

@@ -45,15 +44,15 @@ private FieldKey getBoundKey(String colName)
4544
}
4645

4746
@Override
48-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
47+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
4948
{
5049
String containerId = ctx.get(getBoundKey("container"), String.class);
5150
String omim = ctx.get(getBoundKey("omim_entry"), String.class);
5251
Integer releaseId = ctx.get(getBoundKey("releaseId/rowId"), Integer.class);
5352
if (releaseId != null && omim != null)
5453
{
5554
DetailsURL url = DetailsURL.fromString("/mgap/variantList.view?release=" + releaseId + "&query.omim_phenotype~contains=" + omim, ContainerManager.getForId(containerId));
56-
oldWriter.write("<a class=\"labkey-text-link\" href=\"" + url.getActionURL().getURIString() + "\");\">View Variants</a>");
55+
out.write(PageFlowUtil.link("View Variants").href(url.getActionURL()).addClass("labkey-text-link"));
5756
}
5857
}
5958
};

mGAP/src/org/labkey/mgap/query/SourceDisplayColumnFactory.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@
99
import org.labkey.api.data.DisplayColumnFactory;
1010
import org.labkey.api.data.RenderContext;
1111
import org.labkey.api.query.FieldKey;
12+
import org.labkey.api.util.PageFlowUtil;
1213
import org.labkey.api.writer.HtmlWriter;
1314

14-
import java.io.IOException;
15-
import java.io.Writer;
1615
import java.util.Set;
1716

1817
public class SourceDisplayColumnFactory implements DisplayColumnFactory
@@ -32,7 +31,7 @@ public void addQueryFieldKeys(Set<FieldKey> keys)
3231
}
3332

3433
@Override
35-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
34+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
3635
{
3736
String val = ctx.get(getBoundKey("source"), String.class);
3837
if (val == null)
@@ -61,7 +60,14 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit
6160
}
6261
}
6362

64-
oldWriter.write(url == null ? val : "<a href=\"" + url + "\">" + val + "</a>");
63+
if (url == null)
64+
{
65+
out.write(val);
66+
}
67+
else
68+
{
69+
out.write(PageFlowUtil.link(val).href(url).clearClasses());
70+
}
6571
}
6672

6773
private FieldKey getBoundKey(String colName)

mGAP/src/org/labkey/mgap/query/TracksPerReleaseGenomeBrowserDisplayColumnFactory.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@
88
import org.labkey.api.util.PageFlowUtil;
99
import org.labkey.api.writer.HtmlWriter;
1010

11-
import java.io.IOException;
12-
import java.io.Writer;
13-
1411
/**
1512
* Created by bimber on 5/17/2017.
1613
*/
@@ -22,7 +19,7 @@ public DisplayColumn createRenderer(ColumnInfo colInfo)
2219
return new VariantReleaseGenomeBrowserDisplayColumnFactory.BrowserDataColumn(colInfo, PageFlowUtil.set("releaseId/jbrowseId", "releaseId/container", "trackName"))
2320
{
2421
@Override
25-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
22+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
2623
{
2724
String jbrowseId = ctx.get(getBoundKey("releaseId", "jbrowseId"), String.class);
2825
String containerId = ctx.get(getBoundKey("releaseId", "container"), String.class);
@@ -31,7 +28,7 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit
3128
if (jbrowseId != null && trackName != null)
3229
{
3330
DetailsURL url = DetailsURL.fromString("/mgap/genomeBrowser.view?database=" + jbrowseId + "&activeTracks=" + trackName, ContainerManager.getForId(containerId));
34-
oldWriter.write("<a class=\"labkey-text-link\" href=\"" + url.getActionURL().getURIString() + "\");\">View In Genome Browser</a>");
31+
out.write(PageFlowUtil.link("View In Genome Browser").addClass("labkey-text-link").href(url.getActionURL()));
3532
}
3633
}
3734
};

mGAP/src/org/labkey/mgap/query/VariantListJBrowseDisplayColumnFactory.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
import org.labkey.api.data.RenderContext;
1212
import org.labkey.api.query.DetailsURL;
1313
import org.labkey.api.query.FieldKey;
14+
import org.labkey.api.util.HtmlString;
15+
import org.labkey.api.util.PageFlowUtil;
1416
import org.labkey.api.writer.HtmlWriter;
1517

16-
import java.io.IOException;
17-
import java.io.Writer;
1818
import java.util.List;
1919
import java.util.Set;
2020

@@ -53,34 +53,34 @@ private FieldKey getBoundKey(String colName)
5353
}
5454

5555
@Override
56-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
56+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
5757
{
5858
String jbrowseId = StringUtils.trimToNull(ctx.get(getBoundKey("releaseId/jbrowseId"), String.class));
5959
String primaryTrack = ctx.get(getBoundKey("releaseId/primaryTrack"), String.class);
6060
String containerId = ctx.get(getBoundKey("container"), String.class);
6161
String contig = StringUtils.trimToNull(ctx.get(getBoundKey("contig"), String.class));
6262
String ref = ctx.get(getBoundKey("reference"), String.class);
6363
Integer position = ctx.get(getBoundKey("position"), Integer.class);
64-
String delim = "";
64+
HtmlString delim = HtmlString.EMPTY_STRING;
6565
int start = position - 200;
6666
int stop = position + 200;
6767
int length = ref.length();
6868
if (jbrowseId != null)
6969
{
7070
DetailsURL url = DetailsURL.fromString("/jbrowse/browser.view?database=" + jbrowseId + "&location=" + contig + ":" + start + ".." + stop + "&highlight=" + contig + ":" + position + ".." + (position + length - 1), ContainerManager.getForId(containerId));
71-
oldWriter.write("<a class=\"labkey-text-link\" href=\"" + url.getActionURL().getURIString() + "\");\">View In Genome Browser</a>");
72-
delim = "<br>";
71+
out.write(PageFlowUtil.link("View In Genome Browser").href(url.getActionURL()).addClass("labkey-text-link"));
72+
delim = HtmlString.BR;
7373
}
7474

7575
if (primaryTrack != null)
7676
{
77-
oldWriter.write(delim);
77+
out.write(delim);
7878
DetailsURL url = DetailsURL.fromString("/jbrowse/genotypeTable.view?trackId=" + primaryTrack + "&chr=" + contig + "&start=" + position + "&stop=" + position, ContainerManager.getForId(containerId));
79-
oldWriter.write("<a class=\"labkey-text-link\" href=\"" + url.getActionURL().getURIString() + "\");\">View Genotypes At Position</a>");
80-
delim = "<br>";
79+
out.write(PageFlowUtil.link("View Genotypes At Position").href(url.getActionURL()).addClass("labkey-text-link"));
80+
delim = HtmlString.BR;
8181
}
8282

83-
if (ctx.get(FieldKey.fromString("identifier")) != null)
83+
if (ctx.get(FieldKey.fromString("identifier"), String.class) != null)
8484
{
8585
String identifier = StringUtils.trimToNull(ctx.get(getBoundKey("identifier"), String.class));
8686
if (identifier != null && identifier.contains(":"))
@@ -97,9 +97,9 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit
9797
if (!StringUtils.isEmpty(parts[1]))
9898
{
9999
String url = "https://www.ncbi.nlm.nih.gov/clinvar/variation/" + parts[1] + "/";
100-
oldWriter.write(delim);
101-
oldWriter.write("<a class=\"labkey-text-link\" href=\"" + url + "\");\">View in ClinVar</a>");
102-
delim = "<br>";
100+
out.write(delim);
101+
out.write(PageFlowUtil.link("View in ClinVar").href(url));
102+
delim = HtmlString.BR;
103103
}
104104
}
105105
}
@@ -110,8 +110,8 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit
110110
String contigE = contig.replaceAll("chr", "");
111111
contigE = contigE.replaceAll("^0", "");
112112
String url = "https://ensembl.org/Macaca_mulatta/Location/View?db=core;r=" + contigE + ":" + start +"-" + stop;
113-
oldWriter.write(delim);
114-
oldWriter.write("<a class=\"labkey-text-link\" href=\"" + url + "\");\">View Region in Ensembl</a>");
113+
out.write(delim);
114+
out.write(PageFlowUtil.link("View Region in Ensembl").href(url));
115115
}
116116
};
117117
}

mGAP/src/org/labkey/mgap/query/VariantReleaseDisplayColumnFactory.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,12 @@
99
import org.labkey.api.data.RenderContext;
1010
import org.labkey.api.query.DetailsURL;
1111
import org.labkey.api.query.FieldKey;
12+
import org.labkey.api.util.HtmlString;
1213
import org.labkey.api.util.PageFlowUtil;
1314
import org.labkey.api.view.HttpView;
1415
import org.labkey.api.view.template.ClientDependency;
1516
import org.labkey.api.writer.HtmlWriter;
1617

17-
import java.io.IOException;
18-
import java.io.Writer;
1918
import java.util.Set;
2019

2120
/**
@@ -49,12 +48,15 @@ private FieldKey getBoundKey(String colName)
4948
private boolean _clickHandlerRegistered = false;
5049

5150
@Override
52-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
51+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
5352
{
5453
Integer rowId = ctx.get(getBoundKey("rowid"), Integer.class);
5554
if (rowId != null)
5655
{
57-
oldWriter.write("<a class=\"labkey-text-link vrdc-row\" data-rowid=" + PageFlowUtil.jsString(rowId.toString()) + ">Download</a>");
56+
out.write(PageFlowUtil.link("Download").
57+
addClass("vrdc-row").
58+
attributes(PageFlowUtil.map("data-rowid", rowId.toString()))
59+
);
5860

5961
if (!_clickHandlerRegistered)
6062
{
@@ -70,20 +72,20 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit
7072
{
7173
if (rowId != null)
7274
{
73-
oldWriter.write("<br>");
75+
out.write(HtmlString.BR);
7476
}
7577

7678
DetailsURL url = DetailsURL.fromString("/jbrowse/browser.view?database=" + jbrowseId, ContainerManager.getForId(containerId));
77-
oldWriter.write("<a class=\"labkey-text-link\" href=\"" + url.getActionURL().getURIString() + "\");\">View In Genome Browser</a>");
79+
out.write(PageFlowUtil.link("View In Genome Browser", url.getActionURL()));
7880
}
7981

8082
Boolean showVariantList = ctx.get(getBoundKey("hasSignificantVariants"), Boolean.class);
8183
if (showVariantList)
8284
{
83-
oldWriter.write("<br>");
85+
out.write(HtmlString.BR);
8486

8587
DetailsURL url = DetailsURL.fromString("/mgap/variantList.view?release=" + rowId, ContainerManager.getForId(containerId));
86-
oldWriter.write("<a class=\"labkey-text-link\" href=\"" + url.getActionURL().getURIString() + "\");\">Significant Variant List</a>");
88+
out.write(PageFlowUtil.link("Significant Variant List", url.getActionURL()));
8789
}
8890
}
8991

mGAP/src/org/labkey/mgap/query/VariantReleaseGenomeBrowserDisplayColumnFactory.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
import org.labkey.api.util.PageFlowUtil;
1212
import org.labkey.api.writer.HtmlWriter;
1313

14-
import java.io.IOException;
15-
import java.io.Writer;
1614
import java.util.Set;
1715

1816
/**
@@ -68,14 +66,14 @@ protected FieldKey getBoundKey(String... colNames)
6866
}
6967

7068
@Override
71-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
69+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
7270
{
7371
String jbrowseId = ctx.get(getBoundKey("jbrowseId"), String.class);
7472
String containerId = ctx.get(getBoundKey("container"), String.class);
7573
if (jbrowseId != null)
7674
{
7775
DetailsURL url = DetailsURL.fromString("/jbrowse/browser.view?database=" + jbrowseId, ContainerManager.getForId(containerId));
78-
oldWriter.write("<a class=\"labkey-text-link\" href=\"" + url.getActionURL().getURIString() + "\");\">View In Genome Browser</a>");
76+
out.write(PageFlowUtil.link("View In Genome Browser", url.getActionURL()));
7977
}
8078
}
8179

0 commit comments

Comments
 (0)