Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@
import org.labkey.api.util.PageFlowUtil;
import org.labkey.api.writer.HtmlWriter;

import java.io.IOException;
import java.io.Writer;
import java.util.Set;

import static org.labkey.api.util.DOM.Attribute.alt;
Expand Down Expand Up @@ -103,7 +101,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
boolean canEdit = _container.hasPermission(_user, UpdatePermission.class);
Boolean excluded = (Boolean)ctx.get(getColumnInfo().getFieldKey());

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

Expand All @@ -120,7 +118,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
}
}

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

return DOM.createHtmlFragment(IMG(att));
return IMG(att);
}
}
69 changes: 52 additions & 17 deletions ms2/src/org/labkey/ms2/pipeline/MS2PipelineProvider.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,29 @@
*/
package org.labkey.ms2.pipeline;

import org.labkey.api.data.Container;
import org.labkey.api.module.Module;
import org.labkey.api.pipeline.PipeRoot;
import org.labkey.api.pipeline.PipelineDirectory;
import org.labkey.api.pipeline.PipelineProvider;
import org.labkey.api.pipeline.PipeRoot;
import org.labkey.api.security.permissions.InsertPermission;
import org.labkey.api.util.DOM;
import org.labkey.api.util.HtmlString;
import org.labkey.api.util.LinkBuilder;
import org.labkey.api.view.ActionURL;
import org.labkey.api.view.HttpView;
import org.labkey.api.view.ViewContext;
import org.labkey.api.view.ActionURL;
import org.labkey.api.view.WebPartView;
import org.labkey.api.data.Container;
import org.labkey.api.module.Module;
import org.labkey.api.writer.HtmlWriter;

import java.io.PrintWriter;
import java.util.Arrays;

import static org.labkey.api.util.DOM.Attribute.style;
import static org.labkey.api.util.DOM.TABLE;
import static org.labkey.api.util.DOM.TD;
import static org.labkey.api.util.DOM.TR;
import static org.labkey.api.util.DOM.at;

/**
*/
public class MS2PipelineProvider extends PipelineProvider
{
static String name = "MS2";
Expand Down Expand Up @@ -66,20 +74,47 @@ public SetupWebPart()
}

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

html.append("</table>");
out.write(html.toString());
public record Setting(ActionURL url, String text, String description)
{
// Standard "Set defaults" setting
public Setting(ActionURL url, String name)
{
this(url, "Set defaults", "Specify the default XML parameters file for " + name + ".");
}

// Render this Setting as a Renderable
private DOM.Renderable renderable()
{
return TR(TD(
HtmlString.NBSP,
HtmlString.NBSP,
HtmlString.NBSP,
HtmlString.NBSP,
LinkBuilder.simpleLink(text(), url()), " - " + description()
));
}
}

public static void renderSettings(ViewContext context, String name, HtmlWriter out, Setting... settings)
{
if (!context.getContainer().hasPermission(context.getUser(), InsertPermission.class))
return;

TABLE(
TR(TD(
at(style, "font-weight:bold;"),
name + "-specific settings:"
)),
Arrays.stream(settings)
.map(Setting::renderable)
).appendTo(out);
}
}
21 changes: 5 additions & 16 deletions ms2/src/org/labkey/ms2/pipeline/comet/CometPipelineProvider.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,21 @@
import org.labkey.api.pipeline.PipeRoot;
import org.labkey.api.pipeline.PipelineActionConfig;
import org.labkey.api.pipeline.PipelineDirectory;
import org.labkey.api.security.permissions.InsertPermission;
import org.labkey.api.view.ActionURL;
import org.labkey.api.view.HttpView;
import org.labkey.api.view.ViewContext;
import org.labkey.api.view.WebPartView;
import org.labkey.api.writer.HtmlWriter;
import org.labkey.ms2.pipeline.AbstractMS2SearchPipelineProvider;
import org.labkey.ms2.pipeline.AbstractMS2SearchProtocolFactory;
import org.labkey.ms2.pipeline.MS2PipelineManager;
import org.labkey.ms2.pipeline.MS2PipelineProvider;
import org.labkey.ms2.pipeline.MS2PipelineProvider.Setting;
import org.labkey.ms2.pipeline.PipelineController;

import java.io.PrintWriter;
import java.util.Collections;
import java.util.List;

/**
* User: jeckels
* Date: September 17, 2013
*/
public class CometPipelineProvider extends AbstractMS2SearchPipelineProvider<CometSearchTask.Factory>
{
private static final String ACTION_LABEL = "Comet Peptide Search";
Expand Down Expand Up @@ -98,18 +95,11 @@ public SetupWebPart()
}

@Override
protected void renderView(Object model, PrintWriter out)
protected void renderView(Object model, HtmlWriter out)
{
ViewContext context = getViewContext();
if (!context.getContainer().hasPermission(context.getUser(), InsertPermission.class))
return;
StringBuilder html = new StringBuilder();
html.append("<table><tr><td style=\"font-weight:bold;\">Comet specific settings:</td></tr>");
ActionURL setDefaultsURL = new ActionURL(PipelineController.SetCometDefaultsAction.class, context.getContainer());
html.append("<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;")
.append("<a href=\"").append(setDefaultsURL.getLocalURIString()).append("\">Set defaults</a>")
.append(" - Specify the default XML parameters file for Comet.</td></tr></table>");
out.write(html.toString());
MS2PipelineProvider.renderSettings(context, "Comet", out, new Setting(setDefaultsURL, "Comet"));
}
}

Expand All @@ -118,5 +108,4 @@ public AbstractMS2SearchProtocolFactory getProtocolFactory()
{
return CometSearchProtocolFactory.get();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -21,29 +21,23 @@
import org.labkey.api.pipeline.PipeRoot;
import org.labkey.api.pipeline.PipelineActionConfig;
import org.labkey.api.pipeline.PipelineDirectory;
import org.labkey.api.security.permissions.InsertPermission;
import org.labkey.api.view.ActionURL;
import org.labkey.api.view.HttpView;
import org.labkey.api.view.ViewContext;
import org.labkey.api.view.WebPartView;
import org.labkey.api.writer.HtmlWriter;
import org.labkey.ms2.MS2Controller;
import org.labkey.ms2.pipeline.AbstractMS2SearchPipelineProvider;
import org.labkey.ms2.pipeline.AbstractMS2SearchProtocolFactory;
import org.labkey.ms2.pipeline.MS2PipelineManager;
import org.labkey.ms2.pipeline.MS2PipelineProvider;
import org.labkey.ms2.pipeline.MS2PipelineProvider.Setting;
import org.labkey.ms2.pipeline.PipelineController;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collections;
import java.util.List;

/**
* MascotCPipelineProvider class
* <p/>
* Created: Nov 1, 2005
*
* @author bmaclean
*/
public class MascotCPipelineProvider extends AbstractMS2SearchPipelineProvider<MascotSearchTask.Factory>
{
public static String name = "Mascot";
Expand Down Expand Up @@ -107,23 +101,15 @@ public SetupWebPart()
}

@Override
protected void renderView(Object model, PrintWriter out)
protected void renderView(Object model, HtmlWriter out)
{
ViewContext context = getViewContext();
if (!context.getContainer().hasPermission(context.getUser(), InsertPermission.class))
return;
StringBuilder html = new StringBuilder();
html.append("<table><tr><td style=\"font-weight:bold;\">Mascot specific settings:</td></tr>");
ActionURL setDefaultsURL = new ActionURL(PipelineController.SetMascotDefaultsAction.class, context.getContainer());
html.append("<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;")
.append("<a href=\"").append(setDefaultsURL.getLocalURIString()).append("\">Set defaults</a>")
.append(" - Specify the default XML parameters file for Mascot.</td></tr>");
ActionURL configMascotURL = new ActionURL(MS2Controller.MascotConfigAction.class, context.getContainer());
html.append("<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;")
.append("<a href=\"").append(configMascotURL.getLocalURIString()).append("\">Configure Mascot Server</a>")
.append(" - Specify connection information for the Mascot Server.</td></tr>");
html.append("</table>");
out.write(html.toString());
MS2PipelineProvider.renderSettings(context, "Mascot", out,
new Setting(setDefaultsURL, "Mascot"),
new Setting(configMascotURL, "Configure Mascot Server", "Specify connection information for the Mascot Server.")
);
}
}

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

}
11 changes: 7 additions & 4 deletions ms2/src/org/labkey/ms2/pipeline/mascot/MascotRun.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,10 @@
import org.labkey.ms2.peptideview.QueryPeptideMS2RunView;
import org.springframework.web.servlet.ModelAndView;

import java.io.PrintWriter;
import java.util.Map;

import static org.labkey.api.util.DOM.DIV;

public class MascotRun extends MS2Run
{
private String mascotFile;
Expand Down Expand Up @@ -147,11 +148,13 @@ protected ModelAndView getAdditionalPeptideSummaryView(ViewContext viewContext,
}
else
{
return new WebPartView(title) {
return new WebPartView<>(title) {
@Override
protected void renderView(Object model, PrintWriter out)
protected void renderView(Object model, HtmlWriter out)
{
out.write("<div>Use the 'Standard' grouping to view this information.</div>");
DIV(
"Use the 'Standard' grouping to view this information."
).appendTo(out);
}
};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,25 +22,20 @@
import org.labkey.api.pipeline.PipeRoot;
import org.labkey.api.pipeline.PipelineActionConfig;
import org.labkey.api.pipeline.PipelineDirectory;
import org.labkey.api.security.permissions.InsertPermission;
import org.labkey.api.view.ActionURL;
import org.labkey.api.view.HttpView;
import org.labkey.api.view.ViewContext;
import org.labkey.api.view.WebPartView;
import org.labkey.api.writer.HtmlWriter;
import org.labkey.ms2.pipeline.AbstractMS2SearchPipelineProvider;
import org.labkey.ms2.pipeline.AbstractMS2SearchProtocolFactory;
import org.labkey.ms2.pipeline.MS2PipelineManager;
import org.labkey.ms2.pipeline.MS2PipelineProvider;
import org.labkey.ms2.pipeline.PipelineController;

import java.io.PrintWriter;
import java.util.Collections;
import java.util.List;

/**
* User: billnelson@uky.edu
* Date: Aug 24, 2006
* Time: 12:45:45 PM
*/
public class SequestPipelineProvider extends AbstractMS2SearchPipelineProvider<SequestSearchTask.Factory>
{
private static final String ACTION_LABEL = "Sequest Peptide Search";
Expand Down Expand Up @@ -110,18 +105,11 @@ public SetupWebPart()
}

@Override
protected void renderView(Object model, PrintWriter out)
protected void renderView(Object model, HtmlWriter out)
{
ViewContext context = getViewContext();
if (!context.getContainer().hasPermission(context.getUser(), InsertPermission.class))
return;
StringBuilder html = new StringBuilder();
html.append("<table><tr><td style=\"font-weight:bold;\">Sequest specific settings:</td></tr>");
ActionURL setDefaultsURL = new ActionURL(PipelineController.SetSequestDefaultsAction.class, context.getContainer());
html.append("<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;")
.append("<a href=\"").append(setDefaultsURL.getLocalURIString()).append("\">Set defaults</a>")
.append(" - Specify the default XML parameters file for Sequest.</td></tr></table>");
out.write(html.toString());
MS2PipelineProvider.renderSettings(context, "Sequest", out, new MS2PipelineProvider.Setting(setDefaultsURL, "Sequest"));
}
}

Expand All @@ -130,5 +118,4 @@ public AbstractMS2SearchProtocolFactory getProtocolFactory()
{
return SequestSearchProtocolFactory.get();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -21,25 +21,21 @@
import org.labkey.api.pipeline.PipeRoot;
import org.labkey.api.pipeline.PipelineActionConfig;
import org.labkey.api.pipeline.PipelineDirectory;
import org.labkey.api.security.permissions.InsertPermission;
import org.labkey.api.view.ActionURL;
import org.labkey.api.view.HttpView;
import org.labkey.api.view.ViewContext;
import org.labkey.api.view.WebPartView;
import org.labkey.api.writer.HtmlWriter;
import org.labkey.ms2.pipeline.AbstractMS2SearchPipelineProvider;
import org.labkey.ms2.pipeline.AbstractMS2SearchProtocolFactory;
import org.labkey.ms2.pipeline.MS2PipelineManager;
import org.labkey.ms2.pipeline.MS2PipelineProvider;
import org.labkey.ms2.pipeline.MS2PipelineProvider.Setting;
import org.labkey.ms2.pipeline.PipelineController;

import java.io.PrintWriter;
import java.util.Collections;
import java.util.List;

/**
* Created: Nov 1, 2005
*
* @author bmaclean
*/
public class XTandemPipelineProvider extends AbstractMS2SearchPipelineProvider<XTandemSearchTask.Factory>
{
public static String name = "X! Tandem";
Expand Down Expand Up @@ -98,18 +94,11 @@ public SetupWebPart()
}

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

Expand All @@ -118,5 +107,4 @@ public AbstractMS2SearchProtocolFactory getProtocolFactory()
{
return XTandemSearchProtocolFactory.get();
}

}