Skip to content

Commit baa0799

Browse files
Merge branch 'develop' into fb_autoRefactorCleanup
2 parents 4e12b9b + fcae727 commit baa0799

7 files changed

Lines changed: 84 additions & 97 deletions

File tree

luminex/src/org/labkey/luminex/query/ExclusionUIDisplayColumn.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
101101
boolean canEdit = _container.hasPermission(_user, UpdatePermission.class);
102102
Boolean excluded = (Boolean)ctx.get(getColumnInfo().getFieldKey());
103103

104-
HtmlString img = excluded.booleanValue() ?
104+
DOM.Renderable img = excluded.booleanValue() ?
105105
getImgTag("excluded.png", exclusionComment, id, canEdit) :
106106
getImgTag("included.png", "Click to add a well or replicate group exclusion", id, canEdit);
107107

@@ -118,7 +118,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
118118
}
119119
}
120120

121-
private HtmlString getImgTag(String png, String titleAlt, String id, boolean canEdit)
121+
private DOM.Renderable getImgTag(String png, String titleAlt, String id, boolean canEdit)
122122
{
123123
DOM._Attributes att = at(src, AppProps.getInstance().getContextPath() + "/luminex/exclusion/" + png)
124124
.at(height, 16)
@@ -128,6 +128,6 @@ private HtmlString getImgTag(String png, String titleAlt, String id, boolean can
128128
if (canEdit)
129129
att.at(title, titleAlt).at(alt, titleAlt);
130130

131-
return DOM.createHtmlFragment(IMG(att));
131+
return IMG(att);
132132
}
133133
}

ms2/src/org/labkey/ms2/pipeline/MS2PipelineProvider.java

Lines changed: 52 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,29 @@
1515
*/
1616
package org.labkey.ms2.pipeline;
1717

18+
import org.labkey.api.data.Container;
19+
import org.labkey.api.module.Module;
20+
import org.labkey.api.pipeline.PipeRoot;
1821
import org.labkey.api.pipeline.PipelineDirectory;
1922
import org.labkey.api.pipeline.PipelineProvider;
20-
import org.labkey.api.pipeline.PipeRoot;
2123
import org.labkey.api.security.permissions.InsertPermission;
24+
import org.labkey.api.util.DOM;
25+
import org.labkey.api.util.HtmlString;
26+
import org.labkey.api.util.LinkBuilder;
27+
import org.labkey.api.view.ActionURL;
2228
import org.labkey.api.view.HttpView;
2329
import org.labkey.api.view.ViewContext;
24-
import org.labkey.api.view.ActionURL;
2530
import org.labkey.api.view.WebPartView;
26-
import org.labkey.api.data.Container;
27-
import org.labkey.api.module.Module;
31+
import org.labkey.api.writer.HtmlWriter;
2832

29-
import java.io.PrintWriter;
33+
import java.util.Arrays;
34+
35+
import static org.labkey.api.util.DOM.Attribute.style;
36+
import static org.labkey.api.util.DOM.TABLE;
37+
import static org.labkey.api.util.DOM.TD;
38+
import static org.labkey.api.util.DOM.TR;
39+
import static org.labkey.api.util.DOM.at;
3040

31-
/**
32-
*/
3341
public class MS2PipelineProvider extends PipelineProvider
3442
{
3543
static String name = "MS2";
@@ -66,20 +74,47 @@ public SetupWebPart()
6674
}
6775

6876
@Override
69-
protected void renderView(Object model, PrintWriter out)
77+
protected void renderView(Object model, HtmlWriter out)
7078
{
7179
ViewContext context = getViewContext();
72-
if (!context.getContainer().hasPermission(context.getUser(), InsertPermission.class))
73-
return;
74-
StringBuilder html = new StringBuilder();
75-
html.append("<table><tr><td style=\"font-weight:bold;\">MS2 specific settings:</td></tr>");
7680
ActionURL buttonURL = new ActionURL(PipelineController.SetupClusterSequenceDBAction.class, context.getContainer());
77-
html.append("<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;")
78-
.append("<a href=\"").append(buttonURL.getLocalURIString()).append("\">Set FASTA root</a>")
79-
.append(" - Specify the location on the web server where FASTA sequence files will be located.</td></tr>");
81+
renderSettings(context, "MS2", out, new Setting(buttonURL, "Set FASTA root", "Specify the location on the web server where FASTA sequence files will be located."));
82+
}
83+
}
8084

81-
html.append("</table>");
82-
out.write(html.toString());
85+
public record Setting(ActionURL url, String text, String description)
86+
{
87+
// Standard "Set defaults" setting
88+
public Setting(ActionURL url, String name)
89+
{
90+
this(url, "Set defaults", "Specify the default XML parameters file for " + name + ".");
91+
}
92+
93+
// Render this Setting as a Renderable
94+
private DOM.Renderable renderable()
95+
{
96+
return TR(TD(
97+
HtmlString.NBSP,
98+
HtmlString.NBSP,
99+
HtmlString.NBSP,
100+
HtmlString.NBSP,
101+
LinkBuilder.simpleLink(text(), url()), " - " + description()
102+
));
83103
}
84104
}
105+
106+
public static void renderSettings(ViewContext context, String name, HtmlWriter out, Setting... settings)
107+
{
108+
if (!context.getContainer().hasPermission(context.getUser(), InsertPermission.class))
109+
return;
110+
111+
TABLE(
112+
TR(TD(
113+
at(style, "font-weight:bold;"),
114+
name + "-specific settings:"
115+
)),
116+
Arrays.stream(settings)
117+
.map(Setting::renderable)
118+
).appendTo(out);
119+
}
85120
}

ms2/src/org/labkey/ms2/pipeline/comet/CometPipelineProvider.java

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,21 @@
2222
import org.labkey.api.pipeline.PipeRoot;
2323
import org.labkey.api.pipeline.PipelineActionConfig;
2424
import org.labkey.api.pipeline.PipelineDirectory;
25-
import org.labkey.api.security.permissions.InsertPermission;
2625
import org.labkey.api.view.ActionURL;
2726
import org.labkey.api.view.HttpView;
2827
import org.labkey.api.view.ViewContext;
2928
import org.labkey.api.view.WebPartView;
29+
import org.labkey.api.writer.HtmlWriter;
3030
import org.labkey.ms2.pipeline.AbstractMS2SearchPipelineProvider;
3131
import org.labkey.ms2.pipeline.AbstractMS2SearchProtocolFactory;
3232
import org.labkey.ms2.pipeline.MS2PipelineManager;
33+
import org.labkey.ms2.pipeline.MS2PipelineProvider;
34+
import org.labkey.ms2.pipeline.MS2PipelineProvider.Setting;
3335
import org.labkey.ms2.pipeline.PipelineController;
3436

35-
import java.io.PrintWriter;
3637
import java.util.Collections;
3738
import java.util.List;
3839

39-
/**
40-
* User: jeckels
41-
* Date: September 17, 2013
42-
*/
4340
public class CometPipelineProvider extends AbstractMS2SearchPipelineProvider<CometSearchTask.Factory>
4441
{
4542
private static final String ACTION_LABEL = "Comet Peptide Search";
@@ -98,18 +95,11 @@ public SetupWebPart()
9895
}
9996

10097
@Override
101-
protected void renderView(Object model, PrintWriter out)
98+
protected void renderView(Object model, HtmlWriter out)
10299
{
103100
ViewContext context = getViewContext();
104-
if (!context.getContainer().hasPermission(context.getUser(), InsertPermission.class))
105-
return;
106-
StringBuilder html = new StringBuilder();
107-
html.append("<table><tr><td style=\"font-weight:bold;\">Comet specific settings:</td></tr>");
108101
ActionURL setDefaultsURL = new ActionURL(PipelineController.SetCometDefaultsAction.class, context.getContainer());
109-
html.append("<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;")
110-
.append("<a href=\"").append(setDefaultsURL.getLocalURIString()).append("\">Set defaults</a>")
111-
.append(" - Specify the default XML parameters file for Comet.</td></tr></table>");
112-
out.write(html.toString());
102+
MS2PipelineProvider.renderSettings(context, "Comet", out, new Setting(setDefaultsURL, "Comet"));
113103
}
114104
}
115105

@@ -118,5 +108,4 @@ public AbstractMS2SearchProtocolFactory getProtocolFactory()
118108
{
119109
return CometSearchProtocolFactory.get();
120110
}
121-
122111
}

ms2/src/org/labkey/ms2/pipeline/mascot/MascotCPipelineProvider.java

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -21,29 +21,23 @@
2121
import org.labkey.api.pipeline.PipeRoot;
2222
import org.labkey.api.pipeline.PipelineActionConfig;
2323
import org.labkey.api.pipeline.PipelineDirectory;
24-
import org.labkey.api.security.permissions.InsertPermission;
2524
import org.labkey.api.view.ActionURL;
2625
import org.labkey.api.view.HttpView;
2726
import org.labkey.api.view.ViewContext;
2827
import org.labkey.api.view.WebPartView;
28+
import org.labkey.api.writer.HtmlWriter;
2929
import org.labkey.ms2.MS2Controller;
3030
import org.labkey.ms2.pipeline.AbstractMS2SearchPipelineProvider;
3131
import org.labkey.ms2.pipeline.AbstractMS2SearchProtocolFactory;
3232
import org.labkey.ms2.pipeline.MS2PipelineManager;
33+
import org.labkey.ms2.pipeline.MS2PipelineProvider;
34+
import org.labkey.ms2.pipeline.MS2PipelineProvider.Setting;
3335
import org.labkey.ms2.pipeline.PipelineController;
3436

3537
import java.io.IOException;
36-
import java.io.PrintWriter;
3738
import java.util.Collections;
3839
import java.util.List;
3940

40-
/**
41-
* MascotCPipelineProvider class
42-
* <p/>
43-
* Created: Nov 1, 2005
44-
*
45-
* @author bmaclean
46-
*/
4741
public class MascotCPipelineProvider extends AbstractMS2SearchPipelineProvider<MascotSearchTask.Factory>
4842
{
4943
public static String name = "Mascot";
@@ -107,23 +101,15 @@ public SetupWebPart()
107101
}
108102

109103
@Override
110-
protected void renderView(Object model, PrintWriter out)
104+
protected void renderView(Object model, HtmlWriter out)
111105
{
112106
ViewContext context = getViewContext();
113-
if (!context.getContainer().hasPermission(context.getUser(), InsertPermission.class))
114-
return;
115-
StringBuilder html = new StringBuilder();
116-
html.append("<table><tr><td style=\"font-weight:bold;\">Mascot specific settings:</td></tr>");
117107
ActionURL setDefaultsURL = new ActionURL(PipelineController.SetMascotDefaultsAction.class, context.getContainer());
118-
html.append("<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;")
119-
.append("<a href=\"").append(setDefaultsURL.getLocalURIString()).append("\">Set defaults</a>")
120-
.append(" - Specify the default XML parameters file for Mascot.</td></tr>");
121108
ActionURL configMascotURL = new ActionURL(MS2Controller.MascotConfigAction.class, context.getContainer());
122-
html.append("<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;")
123-
.append("<a href=\"").append(configMascotURL.getLocalURIString()).append("\">Configure Mascot Server</a>")
124-
.append(" - Specify connection information for the Mascot Server.</td></tr>");
125-
html.append("</table>");
126-
out.write(html.toString());
109+
MS2PipelineProvider.renderSettings(context, "Mascot", out,
110+
new Setting(setDefaultsURL, "Mascot"),
111+
new Setting(configMascotURL, "Configure Mascot Server", "Specify connection information for the Mascot Server.")
112+
);
127113
}
128114
}
129115

@@ -141,5 +127,4 @@ private MascotConfig ensureMascotConfig(Container container) throws IOException
141127
throw new IOException("Mascot Server has not been configured.");
142128
return config;
143129
}
144-
145130
}

ms2/src/org/labkey/ms2/pipeline/mascot/MascotRun.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,10 @@
3535
import org.labkey.ms2.peptideview.QueryPeptideMS2RunView;
3636
import org.springframework.web.servlet.ModelAndView;
3737

38-
import java.io.PrintWriter;
3938
import java.util.Map;
4039

40+
import static org.labkey.api.util.DOM.DIV;
41+
4142
public class MascotRun extends MS2Run
4243
{
4344
private String mascotFile;
@@ -147,11 +148,13 @@ protected ModelAndView getAdditionalPeptideSummaryView(ViewContext viewContext,
147148
}
148149
else
149150
{
150-
return new WebPartView(title) {
151+
return new WebPartView<>(title) {
151152
@Override
152-
protected void renderView(Object model, PrintWriter out)
153+
protected void renderView(Object model, HtmlWriter out)
153154
{
154-
out.write("<div>Use the 'Standard' grouping to view this information.</div>");
155+
DIV(
156+
"Use the 'Standard' grouping to view this information."
157+
).appendTo(out);
155158
}
156159
};
157160
}

ms2/src/org/labkey/ms2/pipeline/sequest/SequestPipelineProvider.java

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,20 @@
2222
import org.labkey.api.pipeline.PipeRoot;
2323
import org.labkey.api.pipeline.PipelineActionConfig;
2424
import org.labkey.api.pipeline.PipelineDirectory;
25-
import org.labkey.api.security.permissions.InsertPermission;
2625
import org.labkey.api.view.ActionURL;
2726
import org.labkey.api.view.HttpView;
2827
import org.labkey.api.view.ViewContext;
2928
import org.labkey.api.view.WebPartView;
29+
import org.labkey.api.writer.HtmlWriter;
3030
import org.labkey.ms2.pipeline.AbstractMS2SearchPipelineProvider;
3131
import org.labkey.ms2.pipeline.AbstractMS2SearchProtocolFactory;
3232
import org.labkey.ms2.pipeline.MS2PipelineManager;
33+
import org.labkey.ms2.pipeline.MS2PipelineProvider;
3334
import org.labkey.ms2.pipeline.PipelineController;
3435

35-
import java.io.PrintWriter;
3636
import java.util.Collections;
3737
import java.util.List;
3838

39-
/**
40-
* User: billnelson@uky.edu
41-
* Date: Aug 24, 2006
42-
* Time: 12:45:45 PM
43-
*/
4439
public class SequestPipelineProvider extends AbstractMS2SearchPipelineProvider<SequestSearchTask.Factory>
4540
{
4641
private static final String ACTION_LABEL = "Sequest Peptide Search";
@@ -110,18 +105,11 @@ public SetupWebPart()
110105
}
111106

112107
@Override
113-
protected void renderView(Object model, PrintWriter out)
108+
protected void renderView(Object model, HtmlWriter out)
114109
{
115110
ViewContext context = getViewContext();
116-
if (!context.getContainer().hasPermission(context.getUser(), InsertPermission.class))
117-
return;
118-
StringBuilder html = new StringBuilder();
119-
html.append("<table><tr><td style=\"font-weight:bold;\">Sequest specific settings:</td></tr>");
120111
ActionURL setDefaultsURL = new ActionURL(PipelineController.SetSequestDefaultsAction.class, context.getContainer());
121-
html.append("<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;")
122-
.append("<a href=\"").append(setDefaultsURL.getLocalURIString()).append("\">Set defaults</a>")
123-
.append(" - Specify the default XML parameters file for Sequest.</td></tr></table>");
124-
out.write(html.toString());
112+
MS2PipelineProvider.renderSettings(context, "Sequest", out, new MS2PipelineProvider.Setting(setDefaultsURL, "Sequest"));
125113
}
126114
}
127115

@@ -130,5 +118,4 @@ public AbstractMS2SearchProtocolFactory getProtocolFactory()
130118
{
131119
return SequestSearchProtocolFactory.get();
132120
}
133-
134121
}

ms2/src/org/labkey/ms2/pipeline/tandem/XTandemPipelineProvider.java

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,21 @@
2121
import org.labkey.api.pipeline.PipeRoot;
2222
import org.labkey.api.pipeline.PipelineActionConfig;
2323
import org.labkey.api.pipeline.PipelineDirectory;
24-
import org.labkey.api.security.permissions.InsertPermission;
2524
import org.labkey.api.view.ActionURL;
2625
import org.labkey.api.view.HttpView;
2726
import org.labkey.api.view.ViewContext;
2827
import org.labkey.api.view.WebPartView;
28+
import org.labkey.api.writer.HtmlWriter;
2929
import org.labkey.ms2.pipeline.AbstractMS2SearchPipelineProvider;
3030
import org.labkey.ms2.pipeline.AbstractMS2SearchProtocolFactory;
3131
import org.labkey.ms2.pipeline.MS2PipelineManager;
32+
import org.labkey.ms2.pipeline.MS2PipelineProvider;
33+
import org.labkey.ms2.pipeline.MS2PipelineProvider.Setting;
3234
import org.labkey.ms2.pipeline.PipelineController;
3335

34-
import java.io.PrintWriter;
3536
import java.util.Collections;
3637
import java.util.List;
3738

38-
/**
39-
* Created: Nov 1, 2005
40-
*
41-
* @author bmaclean
42-
*/
4339
public class XTandemPipelineProvider extends AbstractMS2SearchPipelineProvider<XTandemSearchTask.Factory>
4440
{
4541
public static String name = "X! Tandem";
@@ -98,18 +94,11 @@ public SetupWebPart()
9894
}
9995

10096
@Override
101-
protected void renderView(Object model, PrintWriter out)
97+
protected void renderView(Object model, HtmlWriter out)
10298
{
10399
ViewContext context = getViewContext();
104-
if (!context.getContainer().hasPermission(context.getUser(), InsertPermission.class))
105-
return;
106-
StringBuilder html = new StringBuilder();
107-
html.append("<table><tr><td style=\"font-weight:bold;\">X! Tandem specific settings:</td></tr>");
108100
ActionURL setDefaultsURL = new ActionURL(PipelineController.SetTandemDefaultsAction.class, context.getContainer());
109-
html.append("<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;")
110-
.append("<a href=\"").append(setDefaultsURL.getLocalURIString()).append("\">Set defaults</a>")
111-
.append(" - Specify the default XML parameters file for X! Tandem.</td></tr></table>");
112-
out.write(html.toString());
101+
MS2PipelineProvider.renderSettings(context, "X! Tandem", out, new Setting(setDefaultsURL, "X! Tandem"));
113102
}
114103
}
115104

@@ -118,5 +107,4 @@ public AbstractMS2SearchProtocolFactory getProtocolFactory()
118107
{
119108
return XTandemSearchProtocolFactory.get();
120109
}
121-
122110
}

0 commit comments

Comments
 (0)