Skip to content

Commit 676ff32

Browse files
authored
Finish migration (#342)
* Finish renderGridCellContents migration
1 parent cc656e6 commit 676ff32

File tree

4 files changed

+42
-33
lines changed

4 files changed

+42
-33
lines changed

SequenceAnalysis/src/org/labkey/sequenceanalysis/query/DownloadSequenceDisplayColumnFactory.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
import org.labkey.api.view.template.ClientDependency;
1313
import org.labkey.api.writer.HtmlWriter;
1414

15-
import java.io.IOException;
16-
import java.io.Writer;
1715
import java.util.Collections;
1816
import java.util.LinkedHashSet;
1917
import java.util.Map;
@@ -39,12 +37,12 @@ public DisplayColumn createRenderer(ColumnInfo colInfo)
3937
private boolean _handlerRegistered = false;
4038

4139
@Override
42-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
40+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
4341
{
44-
Object val = ctx.get(FieldKey.fromString(getBoundColumn().getFieldKey().getParent(), "rowId"));
45-
oldWriter.write(PageFlowUtil.link("Download Sequence").attributes(Map.of(
46-
"data-rowid", val.toString()
47-
)).addClass("sdc-row").toString());
42+
Integer val = ctx.get(FieldKey.fromString(getBoundColumn().getFieldKey().getParent(), "rowId"), Integer.class);
43+
out.write(PageFlowUtil.link("Download Sequence").
44+
attributes(Map.of("data-rowid", val.toString())).
45+
addClass("sdc-row"));
4846

4947
if (!_handlerRegistered)
5048
{

SequenceAnalysis/src/org/labkey/sequenceanalysis/query/GenbankDisplayColumnFactory.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.labkey.api.data.DisplayColumnFactory;
77
import org.labkey.api.data.RenderContext;
88
import org.labkey.api.util.PageFlowUtil;
9+
import org.labkey.api.util.URLHelper;
910
import org.labkey.api.writer.HtmlWriter;
1011

1112
import java.io.IOException;
@@ -24,26 +25,25 @@ public GenbankDisplayColumnFactory()
2425
@Override
2526
public DisplayColumn createRenderer(ColumnInfo colInfo)
2627
{
27-
DataColumn ret = new DataColumn(colInfo)
28+
return new DataColumn(colInfo)
2829
{
2930
@Override
30-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
31+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
3132
{
32-
Object val = ctx.get(getBoundColumn().getFieldKey());
33+
String val = ctx.get(getBoundColumn().getFieldKey(), String.class);
3334
if (val != null)
3435
{
35-
String[] vals = String.valueOf(val).replaceAll("\\s+", "").split(";|,");
36+
String[] vals = val.replaceAll("\\s+", "").split("[;,]");
3637
String delim = "";
3738
for (String v : vals)
3839
{
39-
oldWriter.write(delim + "<a href=" + getFormattedURL(v) + ">" + PageFlowUtil.encode(v) + "</a>");
40+
out.write(delim);
41+
out.write(PageFlowUtil.link(v).href(getFormattedURL(v)).clearClasses());
4042
delim = "; ";
4143
}
4244
}
4345
}
4446
};
45-
46-
return ret;
4747
}
4848

4949
protected String getFormattedURL(String v)

SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisCustomizer.java

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@
2626
import org.labkey.api.query.QueryForeignKey;
2727
import org.labkey.api.query.QueryService;
2828
import org.labkey.api.security.User;
29+
import org.labkey.api.util.HtmlString;
30+
import org.labkey.api.util.HtmlStringBuilder;
2931
import org.labkey.api.util.PageFlowUtil;
3032
import org.labkey.api.view.ActionURL;
3133
import org.labkey.api.view.HttpView;
3234
import org.labkey.api.view.template.ClientDependency;
3335
import org.labkey.api.writer.HtmlWriter;
3436
import org.labkey.sequenceanalysis.SequenceAnalysisSchema;
3537

36-
import java.io.IOException;
37-
import java.io.Writer;
3838
import java.util.Collection;
3939
import java.util.Set;
4040

@@ -43,6 +43,8 @@
4343
*/
4444
public class SequenceAnalysisCustomizer implements TableCustomizer
4545
{
46+
private static final HtmlString COMMA_NEWLINE = HtmlStringBuilder.of(",").append(HtmlString.BR).getHtmlString();
47+
4648
@Override
4749
public void customize(TableInfo tableInfo)
4850
{
@@ -259,7 +261,7 @@ private FieldKey getBoundKey(String colName)
259261
}
260262

261263
@Override
262-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
264+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
263265
{
264266
Integer rowId = ctx.get(getBoundKey("rowId"), Integer.class);
265267
if (rowId != null)
@@ -268,18 +270,29 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit
268270
if (value != null)
269271
{
270272
String[] tokens = value.split(",");
271-
String delim = "";
273+
HtmlString delim = HtmlString.EMPTY_STRING;
272274
for (String token : tokens)
273275
{
274276
ActionURL url = QueryService.get().urlFor(ctx.getViewContext().getUser(), ctx.getContainer(), QueryAction.executeQuery, SequenceAnalysisSchema.SCHEMA_NAME, SequenceAnalysisSchema.TABLE_OUTPUTFILES);
275277
url.addParameter("query.fileSets~contains", token);
276278

277-
oldWriter.write(delim + "<a href=\"" + url.getURIString() + "\"" + ">" + token + "</a>");
278-
delim = ",<br>";
279+
out.write(delim);
280+
out.write(PageFlowUtil.link(token, url).clearClasses());
281+
delim = COMMA_NEWLINE;
279282
}
280283
}
281284

282-
oldWriter.write("<a class=\"fa fa-pencil lk-dr-action-icon sfs-row\" data-tt=\"tooltip\" data-rowid=\"" + rowId +"\" data-original-title=\"add/edit\"></a>");
285+
out.write(PageFlowUtil.link("").
286+
clearClasses().
287+
addClass("fa fa-pencil").
288+
addClass("lk-dr-action-icon").
289+
addClass("sfs-row").
290+
attributes(PageFlowUtil.map(
291+
"data-tt", "tooltip",
292+
"data-rowid", rowId.toString(),
293+
"data-original-title", "add/edit"
294+
))
295+
);
283296

284297
if (!_handlerRegistered)
285298
{

SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisUserSchema.java

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,13 @@
3131
import org.labkey.api.query.SimpleUserSchema;
3232
import org.labkey.api.security.User;
3333
import org.labkey.api.sequenceanalysis.pipeline.SequenceOutputHandler;
34+
import org.labkey.api.util.HtmlString;
3435
import org.labkey.api.util.PageFlowUtil;
3536
import org.labkey.api.view.ActionURL;
3637
import org.labkey.api.writer.HtmlWriter;
3738
import org.labkey.sequenceanalysis.SequenceAnalysisSchema;
3839
import org.labkey.sequenceanalysis.SequenceAnalysisServiceImpl;
3940

40-
import java.io.IOException;
41-
import java.io.Writer;
4241
import java.util.Arrays;
4342
import java.util.LinkedHashSet;
4443

@@ -260,21 +259,19 @@ public DisplayColumn createRenderer(ColumnInfo colInfo)
260259
return new DataColumn(colInfo)
261260
{
262261
@Override
263-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
262+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
264263
{
265264
Object o = getValue(ctx);
266265
if (o != null)
267266
{
268267
ActionURL url = QueryService.get().urlFor(getUser(), ctx.getContainer(), QueryAction.executeQuery, SequenceAnalysisSchema.SCHEMA_NAME, SequenceAnalysisSchema.TABLE_READ_DATA);
269268
url.addFilter("query", FieldKey.fromString("readset"), CompareType.EQUAL, o);
270269

271-
oldWriter.write("<a class=\"labkey-text-link\" href=\"" + url + "\">");
272-
oldWriter.write("View File(s)");
273-
oldWriter.write("</a>");
270+
out.write(PageFlowUtil.link("View File(s)", url));
274271
}
275272
else
276273
{
277-
oldWriter.write("No Files");
274+
out.write("No Files");
278275
}
279276
}
280277
};
@@ -449,19 +446,20 @@ public DisplayColumn createRenderer(ColumnInfo colInfo)
449446
return new DataColumn(colInfo)
450447
{
451448
@Override
452-
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
449+
public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
453450
{
454451
String result = StringUtils.trimToNull(super.getFormattedHtml(ctx).toString());
455-
String delim = "";
452+
HtmlString delim = HtmlString.EMPTY_STRING;
456453
if (result != null)
457454
{
458455
String[] tokens = result.split(",");
459456
for (String token : tokens)
460457
{
461-
String url = DetailsURL.fromString(_baseUrl + PageFlowUtil.encode(token), ctx.getContainer()).getActionURL().toString();
458+
ActionURL url = DetailsURL.fromString(_baseUrl + PageFlowUtil.encode(token), ctx.getContainer()).getActionURL();
462459

463-
oldWriter.write(delim + "<a href=\"" + url + "\">" + token + "</a>");
464-
delim = "<br>";
460+
out.write(delim);
461+
out.write(PageFlowUtil.link(token, url).clearClasses());
462+
delim = HtmlString.BR;
465463
}
466464
}
467465
}

0 commit comments

Comments
 (0)