www/views/derivedbioassays/view_bioassay.jsp

Code
Comments
Other
Rev Date Author Line
5657 16 Jun 11 nicklas 1 <%-- $Id $
5657 16 Jun 11 nicklas 2   ------------------------------------------------------------------
5657 16 Jun 11 nicklas 3   Copyright (C) 2011 Nicklas Nordborg
5657 16 Jun 11 nicklas 4
5657 16 Jun 11 nicklas 5   This file is part of BASE - BioArray Software Environment.
5657 16 Jun 11 nicklas 6   Available at http://base.thep.lu.se/
5657 16 Jun 11 nicklas 7
5657 16 Jun 11 nicklas 8   BASE is free software; you can redistribute it and/or
5657 16 Jun 11 nicklas 9   modify it under the terms of the GNU General Public License
5657 16 Jun 11 nicklas 10   as published by the Free Software Foundation; either version 3
5657 16 Jun 11 nicklas 11   of the License, or (at your option) any later version.
5657 16 Jun 11 nicklas 12
5657 16 Jun 11 nicklas 13   BASE is distributed in the hope that it will be useful,
5657 16 Jun 11 nicklas 14   but WITHOUT ANY WARRANTY; without even the implied warranty of
5657 16 Jun 11 nicklas 15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5657 16 Jun 11 nicklas 16   GNU General Public License for more details.
5657 16 Jun 11 nicklas 17
5657 16 Jun 11 nicklas 18   You should have received a copy of the GNU General Public License
5657 16 Jun 11 nicklas 19   along with BASE. If not, see <http://www.gnu.org/licenses/>.
5657 16 Jun 11 nicklas 20   ------------------------------------------------------------------
5657 16 Jun 11 nicklas 21
5657 16 Jun 11 nicklas 22 --%>
5657 16 Jun 11 nicklas 23 <%@ page pageEncoding="UTF-8" session="false"
5657 16 Jun 11 nicklas 24   import="net.sf.basedb.core.SessionControl"
5657 16 Jun 11 nicklas 25   import="net.sf.basedb.core.DbControl"
5657 16 Jun 11 nicklas 26   import="net.sf.basedb.core.DerivedBioAssay"
5657 16 Jun 11 nicklas 27   import="net.sf.basedb.core.PhysicalBioAssay"
5657 16 Jun 11 nicklas 28   import="net.sf.basedb.core.Item"
5657 16 Jun 11 nicklas 29   import="net.sf.basedb.core.ItemContext"
5657 16 Jun 11 nicklas 30   import="net.sf.basedb.core.Permission"
5657 16 Jun 11 nicklas 31   import="net.sf.basedb.core.Job"
5657 16 Jun 11 nicklas 32   import="net.sf.basedb.core.PluginDefinition"
5657 16 Jun 11 nicklas 33   import="net.sf.basedb.core.PluginConfiguration"
5657 16 Jun 11 nicklas 34   import="net.sf.basedb.core.User"
5657 16 Jun 11 nicklas 35   import="net.sf.basedb.core.ItemQuery"
5657 16 Jun 11 nicklas 36   import="net.sf.basedb.core.ItemResultList"
5657 16 Jun 11 nicklas 37   import="net.sf.basedb.core.Include"
5657 16 Jun 11 nicklas 38   import="net.sf.basedb.core.PermissionDeniedException"
5657 16 Jun 11 nicklas 39   import="net.sf.basedb.core.PluginDefinition"
5657 16 Jun 11 nicklas 40   import="net.sf.basedb.core.ParameterInfo"
5727 08 Sep 11 nicklas 41   import="net.sf.basedb.core.RawBioAssay"
5657 16 Jun 11 nicklas 42   import="net.sf.basedb.core.RawDataType"
5657 16 Jun 11 nicklas 43   import="net.sf.basedb.core.BasicItem"
5657 16 Jun 11 nicklas 44   import="net.sf.basedb.core.Nameable"
5657 16 Jun 11 nicklas 45   import="net.sf.basedb.core.File"
5657 16 Jun 11 nicklas 46   import="net.sf.basedb.core.plugin.GuiContext"
5657 16 Jun 11 nicklas 47   import="net.sf.basedb.core.plugin.Plugin"
5657 16 Jun 11 nicklas 48   import="net.sf.basedb.core.query.Orders"
5657 16 Jun 11 nicklas 49   import="net.sf.basedb.core.query.Hql"
5657 16 Jun 11 nicklas 50   import="net.sf.basedb.clients.web.ChangeHistoryUtil"
5657 16 Jun 11 nicklas 51   import="net.sf.basedb.clients.web.Base"
5657 16 Jun 11 nicklas 52   import="net.sf.basedb.clients.web.PermissionUtil"
5657 16 Jun 11 nicklas 53   import="net.sf.basedb.clients.web.util.HTML"
5657 16 Jun 11 nicklas 54   import="net.sf.basedb.util.Values"
5657 16 Jun 11 nicklas 55   import="net.sf.basedb.util.formatter.Formatter"
5657 16 Jun 11 nicklas 56   import="net.sf.basedb.clients.web.formatter.FormatterFactory"
5657 16 Jun 11 nicklas 57   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
5657 16 Jun 11 nicklas 58   import="net.sf.basedb.clients.web.extensions.JspContext"
5657 16 Jun 11 nicklas 59   import="net.sf.basedb.clients.web.extensions.renderer.PrefixSuffixRenderer"
7604 25 Feb 19 nicklas 60   import="net.sf.basedb.clients.web.extensions.toolbar.ButtonAction" 
5657 16 Jun 11 nicklas 61   import="net.sf.basedb.clients.web.extensions.toolbar.ToolbarUtil"
5657 16 Jun 11 nicklas 62   import="net.sf.basedb.clients.web.extensions.plot.OverviewPlotAction"
5657 16 Jun 11 nicklas 63   import="net.sf.basedb.clients.web.extensions.plot.PlotGenerator"
5657 16 Jun 11 nicklas 64   import="net.sf.basedb.util.extensions.ExtensionsInvoker"
5657 16 Jun 11 nicklas 65   import="net.sf.basedb.util.extensions.ActionIterator"
5657 16 Jun 11 nicklas 66   import="java.util.Date"
5657 16 Jun 11 nicklas 67   import="java.util.Map"
5657 16 Jun 11 nicklas 68   import="java.util.Set"
5657 16 Jun 11 nicklas 69   import="java.util.List"
5657 16 Jun 11 nicklas 70   import="java.util.Iterator"
5657 16 Jun 11 nicklas 71 %>
5657 16 Jun 11 nicklas 72 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
5657 16 Jun 11 nicklas 73 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
5657 16 Jun 11 nicklas 74 <%@ taglib prefix="t" uri="/WEB-INF/tab.tld" %>
5657 16 Jun 11 nicklas 75 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
5657 16 Jun 11 nicklas 76 <%@ taglib prefix="ext" uri="/WEB-INF/extensions.tld" %>
5657 16 Jun 11 nicklas 77 <%!
5685 04 Aug 11 nicklas 78   private static final Item itemType = Item.DERIVEDBIOASSAY;
5657 16 Jun 11 nicklas 79   private static final GuiContext guiContext = new GuiContext(itemType, GuiContext.Type.ITEM);
5657 16 Jun 11 nicklas 80 %>
5657 16 Jun 11 nicklas 81 <%
5657 16 Jun 11 nicklas 82 final SessionControl sc = Base.getExistingSessionControl(pageContext, true);
5657 16 Jun 11 nicklas 83 final String ID = sc.getId();
5657 16 Jun 11 nicklas 84 final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, null, null);
5657 16 Jun 11 nicklas 85 final int itemId = cc.getId();
5657 16 Jun 11 nicklas 86 final String tab = Values.getString(request.getParameter("tab"), "properties");
5657 16 Jun 11 nicklas 87
5657 16 Jun 11 nicklas 88 final float scale = Base.getScale(sc);
5657 16 Jun 11 nicklas 89 final String root = request.getContextPath();
7954 12 May 21 nicklas 90 final DbControl dc = sc.newDbControl(":View "+itemType);
5657 16 Jun 11 nicklas 91 try
5657 16 Jun 11 nicklas 92 {
5657 16 Jun 11 nicklas 93   Map<Plugin.MainType, Integer> pluginCount = PluginDefinition.countPlugins(dc, guiContext);
5657 16 Jun 11 nicklas 94
5657 16 Jun 11 nicklas 95   String title = null;
5685 04 Aug 11 nicklas 96   final DerivedBioAssay bioAssay = DerivedBioAssay.getById(dc, itemId);
5657 16 Jun 11 nicklas 97   
5657 16 Jun 11 nicklas 98   Job job = null;
5657 16 Jun 11 nicklas 99   boolean readJob = true;
5657 16 Jun 11 nicklas 100   PluginDefinition plugin = null;
5657 16 Jun 11 nicklas 101   boolean readPlugin = true;
5657 16 Jun 11 nicklas 102   PluginConfiguration configuration = null;
5657 16 Jun 11 nicklas 103   boolean readConfiguration = true;
5657 16 Jun 11 nicklas 104
5657 16 Jun 11 nicklas 105   try
5657 16 Jun 11 nicklas 106   {
5685 04 Aug 11 nicklas 107     job = bioAssay.getJob();
5657 16 Jun 11 nicklas 108   }
5657 16 Jun 11 nicklas 109   catch (PermissionDeniedException ex)
5657 16 Jun 11 nicklas 110   {
5657 16 Jun 11 nicklas 111     readJob = false;
5657 16 Jun 11 nicklas 112     readPlugin = false;
5657 16 Jun 11 nicklas 113     readConfiguration = false;
5657 16 Jun 11 nicklas 114   }
5657 16 Jun 11 nicklas 115   if (job != null)
5657 16 Jun 11 nicklas 116   {
5657 16 Jun 11 nicklas 117     try
5657 16 Jun 11 nicklas 118     {
5657 16 Jun 11 nicklas 119       plugin = job.getPluginDefinition();
5657 16 Jun 11 nicklas 120     }
5657 16 Jun 11 nicklas 121     catch (PermissionDeniedException ex)
5657 16 Jun 11 nicklas 122     {
5657 16 Jun 11 nicklas 123       readPlugin = false;
5657 16 Jun 11 nicklas 124     }
5657 16 Jun 11 nicklas 125     try
5657 16 Jun 11 nicklas 126     {
5657 16 Jun 11 nicklas 127       configuration = job.getPluginConfiguration();
5657 16 Jun 11 nicklas 128     }
5657 16 Jun 11 nicklas 129     catch (PermissionDeniedException ex)
5657 16 Jun 11 nicklas 130     {
5657 16 Jun 11 nicklas 131       readConfiguration = false;
5657 16 Jun 11 nicklas 132     }
5657 16 Jun 11 nicklas 133   }
5657 16 Jun 11 nicklas 134   
5685 04 Aug 11 nicklas 135   final boolean usePermission = bioAssay.hasPermission(Permission.USE);
5685 04 Aug 11 nicklas 136   final boolean writePermission = bioAssay.hasPermission(Permission.WRITE);
5685 04 Aug 11 nicklas 137   final boolean deletePermission = bioAssay.hasPermission(Permission.DELETE);
5685 04 Aug 11 nicklas 138   final boolean sharePermission = bioAssay.hasPermission(Permission.SET_PERMISSION);
5685 04 Aug 11 nicklas 139   final boolean setOwnerPermission = bioAssay.hasPermission(Permission.SET_OWNER);
5685 04 Aug 11 nicklas 140   final boolean isRemoved = bioAssay.isRemoved();
5685 04 Aug 11 nicklas 141   final boolean isUsed = isRemoved && bioAssay.isUsed();
5657 16 Jun 11 nicklas 142   final boolean deletePermanentlyPermission = deletePermission && !isUsed;
5685 04 Aug 11 nicklas 143   final boolean isOwner = bioAssay.isOwner();
5657 16 Jun 11 nicklas 144   Formatter<Date> dateFormatter = FormatterFactory.getDateFormatter(sc);
5657 16 Jun 11 nicklas 145   Formatter<Date> dateTimeFormatter = FormatterFactory.getDateTimeFormatter(sc);
5685 04 Aug 11 nicklas 146   JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, guiContext, bioAssay);
7604 25 Feb 19 nicklas 147   ExtensionsInvoker<ButtonAction> toolbarInvoker = ToolbarUtil.useExtensions(jspContext);
5657 16 Jun 11 nicklas 148   %>
6311 23 Aug 13 nicklas 149   <base:page title="<%=title%>" id="view-page">
6311 23 Aug 13 nicklas 150   <base:head scripts="table.js,tabcontrol-2.js,~bioassays.js" styles="table.css,toolbar.css,headertabcontrol.css,path.css">
5657 16 Jun 11 nicklas 151     <ext:scripts context="<%=jspContext%>" />
5657 16 Jun 11 nicklas 152     <ext:stylesheets context="<%=jspContext%>" />
5657 16 Jun 11 nicklas 153   </base:head>
5657 16 Jun 11 nicklas 154   <base:body>
5939 30 Jan 12 nicklas 155     <p:path><p:pathelement
5939 30 Jan 12 nicklas 156       title="Derived bioassays" href="<%="index.jsp?ID="+ID%>" 
5939 30 Jan 12 nicklas 157       /><p:pathelement title="<%=HTML.encodeTags(bioAssay.getName())%>" 
5939 30 Jan 12 nicklas 158       /></p:path>
6311 23 Aug 13 nicklas 159     <div id="page-data" data-item-id="<%=itemId%>"></div>
5657 16 Jun 11 nicklas 160     
5939 30 Jan 12 nicklas 161     <t:tabcontrol 
5939 30 Jan 12 nicklas 162       id="main" 
5939 30 Jan 12 nicklas 163       subclass="content mastertabcontrol" 
6244 25 Feb 13 nicklas 164       active="<%=tab%>">
5657 16 Jun 11 nicklas 165       <t:tab id="properties" title="Properties">
5939 30 Jan 12 nicklas 166       <div>
5939 30 Jan 12 nicklas 167       <table class="fullform">
5939 30 Jan 12 nicklas 168       <tr>
5939 30 Jan 12 nicklas 169         <th class="itemstatus">
5657 16 Jun 11 nicklas 170           <base:icon 
5946 03 Feb 12 nicklas 171             image="shared.png" 
5939 30 Jan 12 nicklas 172             visible="<%=bioAssay.isShared()%>"
5939 30 Jan 12 nicklas 173             tooltip="This item is shared to other users, groups and/or projects"
5939 30 Jan 12 nicklas 174           />
5939 30 Jan 12 nicklas 175           <base:icon 
6311 23 Aug 13 nicklas 176             id="btnDeletePermanently"
5946 03 Feb 12 nicklas 177             image="deleted.png"
5939 30 Jan 12 nicklas 178             tooltip="This item has been flagged for deletion. Click to delete it now."
5939 30 Jan 12 nicklas 179             enabled="<%=deletePermanentlyPermission %>"
5939 30 Jan 12 nicklas 180             visible="<%=isRemoved%>" 
5939 30 Jan 12 nicklas 181           />
6311 23 Aug 13 nicklas 182           <base:icon 
6311 23 Aug 13 nicklas 183             id="btnUsingItems"
6311 23 Aug 13 nicklas 184             image="used.png"
5939 30 Jan 12 nicklas 185             tooltip="This item is used by other items and can't be permanently deleted. Show the items that are using this one"
5939 30 Jan 12 nicklas 186             visible="<%=isRemoved && isUsed%>" />
5939 30 Jan 12 nicklas 187         </th>
5939 30 Jan 12 nicklas 188         <td style="padding: 0px;">
6605 18 Nov 14 nicklas 189           <tbl:toolbar subclass="bottomborder bg-filled-50">
5939 30 Jan 12 nicklas 190             <tbl:button 
6311 23 Aug 13 nicklas 191               id="btnEdit"
5942 01 Feb 12 nicklas 192               disabled="<%=!writePermission%>" 
5945 02 Feb 12 nicklas 193               image="edit.png" 
5939 30 Jan 12 nicklas 194               title="Edit&hellip;" 
5939 30 Jan 12 nicklas 195               tooltip="<%=writePermission ? "Edit this bioassay" : "You do not have permission to edit this bioassay"%>" 
5939 30 Jan 12 nicklas 196             />
5939 30 Jan 12 nicklas 197             <tbl:button 
6311 23 Aug 13 nicklas 198               id="btnDelete"
5942 01 Feb 12 nicklas 199               disabled="<%=!deletePermission%>" 
5946 03 Feb 12 nicklas 200               image="delete.png" 
5939 30 Jan 12 nicklas 201               title="Delete"
5939 30 Jan 12 nicklas 202               visible="<%=!bioAssay.isRemoved()%>"
5939 30 Jan 12 nicklas 203               tooltip="<%=deletePermission ? "Delete this bioassay" : "You do not have permission to delete this bioassay"%>" 
5939 30 Jan 12 nicklas 204             />
5939 30 Jan 12 nicklas 205             <tbl:button 
6311 23 Aug 13 nicklas 206               id="btnRestore"
5942 01 Feb 12 nicklas 207               disabled="<%=!writePermission%>" 
5946 03 Feb 12 nicklas 208               image="restore.png" 
5939 30 Jan 12 nicklas 209               title="Restore"
5939 30 Jan 12 nicklas 210               visible="<%=bioAssay.isRemoved()%>"
5939 30 Jan 12 nicklas 211               tooltip="<%=writePermission ? "Restore this bioassay" : "You do not have permission to restore this bioassay"%>" 
5939 30 Jan 12 nicklas 212             />
5939 30 Jan 12 nicklas 213             <tbl:button 
6311 23 Aug 13 nicklas 214               id="btnShare"
5942 01 Feb 12 nicklas 215               disabled="<%=!sharePermission%>"
5945 02 Feb 12 nicklas 216               image="share.png"
5939 30 Jan 12 nicklas 217               title="Share&hellip;" 
5939 30 Jan 12 nicklas 218               tooltip="<%=sharePermission ? "Share this bioassay to other user, groups and projects" : "You do not have permission to share this bioassay"%>"
5939 30 Jan 12 nicklas 219             />
5939 30 Jan 12 nicklas 220             <tbl:button 
6311 23 Aug 13 nicklas 221               id="btnSetOwner"
5942 01 Feb 12 nicklas 222               disabled="<%=!setOwnerPermission%>"
5939 30 Jan 12 nicklas 223               image="take_ownership.png"
5939 30 Jan 12 nicklas 224               title="Set owner&hellip;"
5939 30 Jan 12 nicklas 225               tooltip="<%=setOwnerPermission ? "Change owner of this item" : "You do not have permission to change ownership of this item"%>"
5939 30 Jan 12 nicklas 226             />
5939 30 Jan 12 nicklas 227             <tbl:button
6311 23 Aug 13 nicklas 228               id="btnNewChildBioAssay"
5939 30 Jan 12 nicklas 229               image="add.png"
5939 30 Jan 12 nicklas 230               title="New child bioassay&hellip;"
5939 30 Jan 12 nicklas 231               tooltip="Create a child bioassay from this bioassay"
5939 30 Jan 12 nicklas 232               visible="<%=sc.hasPermission(Permission.CREATE, Item.DERIVEDBIOASSAY) && usePermission%>"
5939 30 Jan 12 nicklas 233             />
5939 30 Jan 12 nicklas 234             <tbl:button
6311 23 Aug 13 nicklas 235               id="btnNewRawBioAssay"
5939 30 Jan 12 nicklas 236               image="add.png"
5939 30 Jan 12 nicklas 237               title="New raw bioassay&hellip;"
5939 30 Jan 12 nicklas 238               tooltip="Create a raw bioassay from this bioassay"
5939 30 Jan 12 nicklas 239               visible="<%=sc.hasPermission(Permission.CREATE, Item.RAWBIOASSAY) && usePermission%>"
5939 30 Jan 12 nicklas 240             />
5939 30 Jan 12 nicklas 241             <tbl:button 
6311 23 Aug 13 nicklas 242               id="btnImport"
5946 03 Feb 12 nicklas 243               image="import.png" 
6311 23 Aug 13 nicklas 244               data-plugin-type="IMPORT"  
5939 30 Jan 12 nicklas 245               title="Import&hellip;" 
5939 30 Jan 12 nicklas 246               tooltip="Import data" 
5939 30 Jan 12 nicklas 247               visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
5939 30 Jan 12 nicklas 248             />
5939 30 Jan 12 nicklas 249             <tbl:button 
6311 23 Aug 13 nicklas 250               id="btnExport"
6311 23 Aug 13 nicklas 251               image="export.png"
6311 23 Aug 13 nicklas 252               data-plugin-type="EXPORT" 
5939 30 Jan 12 nicklas 253               title="Export&hellip;" 
5939 30 Jan 12 nicklas 254               tooltip="Export data" 
5939 30 Jan 12 nicklas 255               visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
5939 30 Jan 12 nicklas 256             />
5939 30 Jan 12 nicklas 257             <tbl:button 
6311 23 Aug 13 nicklas 258               id="btnRunPlugin"
6311 23 Aug 13 nicklas 259               image="runplugin.png"  
6311 23 Aug 13 nicklas 260               data-plugin-type="OTHER" 
5939 30 Jan 12 nicklas 261               title="Run plugin&hellip;" 
5939 30 Jan 12 nicklas 262               tooltip="Run a plugin" 
5939 30 Jan 12 nicklas 263               visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
5939 30 Jan 12 nicklas 264             />
5939 30 Jan 12 nicklas 265             <tbl:button 
6311 23 Aug 13 nicklas 266               id="btnRunAnalysisPlugin"
6311 23 Aug 13 nicklas 267               image="runplugin.png"  
6315 06 Sep 13 nicklas 268               data-plugin-type="ANALYZE" 
5939 30 Jan 12 nicklas 269               title="Run analysis&hellip;" 
5939 30 Jan 12 nicklas 270               tooltip="Run an analysis plugin with data from this bioassay"
5939 30 Jan 12 nicklas 271               visible="<%=pluginCount.containsKey(Plugin.MainType.ANALYZE)%>"
5939 30 Jan 12 nicklas 272             />
5939 30 Jan 12 nicklas 273             <ext:render extensions="<%=toolbarInvoker%>" context="<%=jspContext%>" 
7604 25 Feb 19 nicklas 274               wrapper="<%=new PrefixSuffixRenderer<ButtonAction>(jspContext, "<td>", "</td>") %>"/>
5939 30 Jan 12 nicklas 275             <tbl:button
5939 30 Jan 12 nicklas 276               image="help.png"
6311 23 Aug 13 nicklas 277               subclass="auto-init"
6311 23 Aug 13 nicklas 278               data-auto-init="help"
6311 23 Aug 13 nicklas 279               data-help-id="derivedbioassay.view.properties"
5939 30 Jan 12 nicklas 280               title="Help&hellip;"
5939 30 Jan 12 nicklas 281               tooltip="Get help about this page"
5939 30 Jan 12 nicklas 282             />
5939 30 Jan 12 nicklas 283           </tbl:toolbar>
5939 30 Jan 12 nicklas 284         </td>
5939 30 Jan 12 nicklas 285       </tr>
5939 30 Jan 12 nicklas 286     </table>
8026 15 Dec 21 nicklas 287     <table style="width: 100%; height: 20em;" class="bottomborder">
6143 20 Sep 12 nicklas 288     <tr>
5939 30 Jan 12 nicklas 289       <td style="width: 50%; height: 100%;">
8026 15 Dec 21 nicklas 290         <div style="height: 20em; overflow: auto;">
5939 30 Jan 12 nicklas 291         <table class="fullform" >
5657 16 Jun 11 nicklas 292         <tr>
5939 30 Jan 12 nicklas 293           <th>Name</th>
5685 04 Aug 11 nicklas 294           <td><%=HTML.encodeTags(bioAssay.getName())%></td>
5657 16 Jun 11 nicklas 295         </tr>
5657 16 Jun 11 nicklas 296         <tr>
5939 30 Jan 12 nicklas 297           <th>Type</th>
5685 04 Aug 11 nicklas 298           <td><base:propertyvalue item="<%=bioAssay%>" property="itemSubtype" /></td>
5657 16 Jun 11 nicklas 299         </tr>
5657 16 Jun 11 nicklas 300         <tr>
5939 30 Jan 12 nicklas 301           <th>Extract</th>
5685 04 Aug 11 nicklas 302           <td><base:propertyvalue item="<%=bioAssay%>" property="extract" /></td>
5685 04 Aug 11 nicklas 303         </tr>
5685 04 Aug 11 nicklas 304         <tr>
5939 30 Jan 12 nicklas 305           <th>Protocol</th>
5685 04 Aug 11 nicklas 306           <td><base:propertyvalue item="<%=bioAssay%>" property="protocol" /></td>
5657 16 Jun 11 nicklas 307         </tr>
5657 16 Jun 11 nicklas 308         <tr>
6996 03 Nov 15 nicklas 309           <th>Kit</th>
6996 03 Nov 15 nicklas 310           <td><base:propertyvalue item="<%=bioAssay%>" property="kit" /></td>
6996 03 Nov 15 nicklas 311         </tr>
6996 03 Nov 15 nicklas 312         <tr>
5939 30 Jan 12 nicklas 313           <th>Hardware</th>
5685 04 Aug 11 nicklas 314           <td><base:propertyvalue item="<%=bioAssay%>" property="hardware" /></td>
5657 16 Jun 11 nicklas 315         </tr>
5657 16 Jun 11 nicklas 316         <tr>
5939 30 Jan 12 nicklas 317           <th>Software</th>
5685 04 Aug 11 nicklas 318           <td><base:propertyvalue item="<%=bioAssay%>" property="software" /></td>
5657 16 Jun 11 nicklas 319         </tr>
5657 16 Jun 11 nicklas 320         <tr>
5939 30 Jan 12 nicklas 321           <th>Owner</th>
5685 04 Aug 11 nicklas 322           <td><base:propertyvalue item="<%=bioAssay%>" property="owner" /></td>
5657 16 Jun 11 nicklas 323         </tr>
5657 16 Jun 11 nicklas 324         <tr>
5939 30 Jan 12 nicklas 325           <th>Permissions</th>
5939 30 Jan 12 nicklas 326           <td><%=PermissionUtil.getFullPermissionNames(bioAssay)%></td>
5939 30 Jan 12 nicklas 327         </tr>
5939 30 Jan 12 nicklas 328         <tr class="dynamic">
5939 30 Jan 12 nicklas 329           <th>Description</th>
5685 04 Aug 11 nicklas 330           <td><%=HTML.niceFormat(bioAssay.getDescription())%></td>
5657 16 Jun 11 nicklas 331         </tr>
5657 16 Jun 11 nicklas 332         </table>
8026 15 Dec 21 nicklas 333         </div>
5727 08 Sep 11 nicklas 334       </td>
5939 30 Jan 12 nicklas 335       <td style="width: 50%; height: 100%;" class="leftborder">
8026 15 Dec 21 nicklas 336         <div style="height: 20em; overflow: auto;">
5939 30 Jan 12 nicklas 337         <table class="fullform">
5727 08 Sep 11 nicklas 338         <tr>
5939 30 Jan 12 nicklas 339           <th>Job</th>
5727 08 Sep 11 nicklas 340           <td><%=Base.getLinkedName(ID, job, !readJob, false)%></td>
5727 08 Sep 11 nicklas 341         </tr>
5727 08 Sep 11 nicklas 342         <tr>
5939 30 Jan 12 nicklas 343           <th>Plugin</th>
7447 22 Feb 18 nicklas 344           <td>
7447 22 Feb 18 nicklas 345             <base:propertyvalue item="<%=bioAssay%>" property="job.pluginDefinition" nulltext="<i>External</i>" />
7447 22 Feb 18 nicklas 346             <%=job != null && job.getPluginVersion() != null ? "(" + HTML.encodeTags(job.getPluginVersion()) + ")" : ""%>
7447 22 Feb 18 nicklas 347           </td>
5727 08 Sep 11 nicklas 348         </tr>
5657 16 Jun 11 nicklas 349         <%
7447 22 Feb 18 nicklas 350         if (configuration != null)
7447 22 Feb 18 nicklas 351         {
7447 22 Feb 18 nicklas 352           %>
7447 22 Feb 18 nicklas 353           <tr>
7447 22 Feb 18 nicklas 354             <th>Plugin configuration</th>
7447 22 Feb 18 nicklas 355             <td><%=Base.getLinkedName(ID, configuration, !readConfiguration, true)%></td>
7447 22 Feb 18 nicklas 356           </tr>
7447 22 Feb 18 nicklas 357           <%
7447 22 Feb 18 nicklas 358         }
5657 16 Jun 11 nicklas 359         if (job != null)
5657 16 Jun 11 nicklas 360         {
5657 16 Jun 11 nicklas 361           %>
5939 30 Jan 12 nicklas 362           <tr>
7447 22 Feb 18 nicklas 363             <th>Type</th>
7447 22 Feb 18 nicklas 364             <td><base:propertyvalue item="<%=job%>" property="itemSubtype" /></td>
7447 22 Feb 18 nicklas 365           </tr>
7447 22 Feb 18 nicklas 366           <tr>
5939 30 Jan 12 nicklas 367             <th>Started</th>
5657 16 Jun 11 nicklas 368             <td>
7265 14 Dec 16 nicklas 369               <%=dateTimeFormatter.format(job.getStarted())%>
5657 16 Jun 11 nicklas 370             </td>
5657 16 Jun 11 nicklas 371           </tr>
5939 30 Jan 12 nicklas 372           <tr>
5939 30 Jan 12 nicklas 373             <th>Ended</th>
5657 16 Jun 11 nicklas 374             <td>
7265 14 Dec 16 nicklas 375               <%=dateTimeFormatter.format(job.getEnded())%>
5657 16 Jun 11 nicklas 376             </td>
5657 16 Jun 11 nicklas 377           </tr>
5657 16 Jun 11 nicklas 378           <%
7447 22 Feb 18 nicklas 379           if (job.getServer() != null)
7447 22 Feb 18 nicklas 380           {
7447 22 Feb 18 nicklas 381             %>
7447 22 Feb 18 nicklas 382             <tr>
7447 22 Feb 18 nicklas 383               <th>Server</th>
7447 22 Feb 18 nicklas 384               <td>
7447 22 Feb 18 nicklas 385                 <%=HTML.encodeTags(job.getServerAndNode())%>
7447 22 Feb 18 nicklas 386               </td>
7447 22 Feb 18 nicklas 387             </tr>
7447 22 Feb 18 nicklas 388             <%
7447 22 Feb 18 nicklas 389           }
5657 16 Jun 11 nicklas 390           for (String name : job.getParameterNames())
5657 16 Jun 11 nicklas 391           {
5657 16 Jun 11 nicklas 392             StringBuilder sb = new StringBuilder();
5657 16 Jun 11 nicklas 393             String displayValue = "";
5657 16 Jun 11 nicklas 394             String description = "";
5657 16 Jun 11 nicklas 395             try
5657 16 Jun 11 nicklas 396             {
5657 16 Jun 11 nicklas 397               ParameterInfo pi = job.getParameterInfo(name);
5657 16 Jun 11 nicklas 398               if (pi.getLabel() != null) name = HTML.encodeTags(pi.getLabel());
5657 16 Jun 11 nicklas 399               description = HTML.encodeTags(pi.getDescription());
6988 30 Oct 15 nicklas 400               List<?> values = pi.getValuesOrMask();
5657 16 Jun 11 nicklas 401               int i = 0;
5657 16 Jun 11 nicklas 402               for (Object value : values)
5657 16 Jun 11 nicklas 403               {
5657 16 Jun 11 nicklas 404                 if (value != null)
5657 16 Jun 11 nicklas 405                 {
5657 16 Jun 11 nicklas 406                   if (i > 0) sb.append(", ");
5657 16 Jun 11 nicklas 407                   i++;
5657 16 Jun 11 nicklas 408                   if (value instanceof BasicItem)
5657 16 Jun 11 nicklas 409                   {
5657 16 Jun 11 nicklas 410                     BasicItem item = (BasicItem)value;
5657 16 Jun 11 nicklas 411                     String itemName = "";
5657 16 Jun 11 nicklas 412                     if (item instanceof File)
5657 16 Jun 11 nicklas 413                     {
5657 16 Jun 11 nicklas 414                       itemName = ((File)item).getPath().toString();
5657 16 Jun 11 nicklas 415                     }
5657 16 Jun 11 nicklas 416                     else if (item instanceof Nameable)
5657 16 Jun 11 nicklas 417                     {
5657 16 Jun 11 nicklas 418                       itemName = ((Nameable)item).getName();
5657 16 Jun 11 nicklas 419                     }
5657 16 Jun 11 nicklas 420                     else
5657 16 Jun 11 nicklas 421                     {
5657 16 Jun 11 nicklas 422                       itemName = item.toString();
5657 16 Jun 11 nicklas 423                     }
5657 16 Jun 11 nicklas 424                     sb.append(Base.getLink(ID, HTML.encodeTags(itemName), 
5657 16 Jun 11 nicklas 425                       item.getType(), item.getId(), item.hasPermission(Permission.WRITE)));
5657 16 Jun 11 nicklas 426                   }
5657 16 Jun 11 nicklas 427                   else if (value instanceof Date)
5657 16 Jun 11 nicklas 428                   {
5657 16 Jun 11 nicklas 429                     sb.append(dateFormatter.format((Date)value));
5657 16 Jun 11 nicklas 430                   }
5657 16 Jun 11 nicklas 431                   else
5657 16 Jun 11 nicklas 432                   {
5657 16 Jun 11 nicklas 433                     sb.append(HTML.encodeTags(value.toString()));
5657 16 Jun 11 nicklas 434                   }
5657 16 Jun 11 nicklas 435                 }
5657 16 Jun 11 nicklas 436               }
5657 16 Jun 11 nicklas 437               displayValue = sb.toString();
5657 16 Jun 11 nicklas 438             }
5657 16 Jun 11 nicklas 439             catch (Throwable ex)
5657 16 Jun 11 nicklas 440             {
5657 16 Jun 11 nicklas 441               displayValue = "<i>ERROR: "+ex.getMessage()+"</i>";
5657 16 Jun 11 nicklas 442             }
5657 16 Jun 11 nicklas 443             %>
5657 16 Jun 11 nicklas 444             <tr>
5939 30 Jan 12 nicklas 445               <th><span title="<%=description%>"><%=name%></span></th>
5657 16 Jun 11 nicklas 446               <td>
5657 16 Jun 11 nicklas 447                 <%=displayValue%>
5657 16 Jun 11 nicklas 448               </td>
5657 16 Jun 11 nicklas 449             </tr>
5657 16 Jun 11 nicklas 450             <%
5657 16 Jun 11 nicklas 451           }
5657 16 Jun 11 nicklas 452         }
5657 16 Jun 11 nicklas 453         %>
5939 30 Jan 12 nicklas 454         <tr class="dynamic">
5939 30 Jan 12 nicklas 455           <th></th>
5939 30 Jan 12 nicklas 456           <td></td>
5939 30 Jan 12 nicklas 457         </tr>
5657 16 Jun 11 nicklas 458         </table>
8026 15 Dec 21 nicklas 459         </div>
5657 16 Jun 11 nicklas 460       </td>
5657 16 Jun 11 nicklas 461       </tr>
5657 16 Jun 11 nicklas 462       </table>
5939 30 Jan 12 nicklas 463       </div>
5657 16 Jun 11 nicklas 464       <%
6082 14 Aug 12 nicklas 465       ItemQuery<PhysicalBioAssay> physicalQuery = bioAssay.getPhysicalBioAssays();
6082 14 Aug 12 nicklas 466       physicalQuery.include(Include.ALL);
6082 14 Aug 12 nicklas 467       physicalQuery.order(Orders.asc(Hql.property("name")));
6082 14 Aug 12 nicklas 468       ItemResultList<PhysicalBioAssay> physicalBioAssays = physicalQuery.list(dc);
6082 14 Aug 12 nicklas 469       %>
6082 14 Aug 12 nicklas 470       <base:section 
6082 14 Aug 12 nicklas 471         id="physicalBioAssays"
6082 14 Aug 12 nicklas 472         title="<%="Physical bioassays (" + physicalBioAssays.size() + ")"%>"
6082 14 Aug 12 nicklas 473         context="<%=cc%>"
6082 14 Aug 12 nicklas 474         >
6082 14 Aug 12 nicklas 475         <%
6082 14 Aug 12 nicklas 476         if (physicalBioAssays.size() == 0)
6082 14 Aug 12 nicklas 477         {
6082 14 Aug 12 nicklas 478           %>
6082 14 Aug 12 nicklas 479           <div class="messagecontainer note">
6082 14 Aug 12 nicklas 480           This bioassay doesn't have any parent physical bioassays
6082 14 Aug 12 nicklas 481           (or you don't have permission to view them).
6082 14 Aug 12 nicklas 482           </div>
6082 14 Aug 12 nicklas 483           <%
6082 14 Aug 12 nicklas 484         }
6082 14 Aug 12 nicklas 485         else
6082 14 Aug 12 nicklas 486         {
6082 14 Aug 12 nicklas 487           %>
6082 14 Aug 12 nicklas 488           <tbl:table
6143 20 Sep 12 nicklas 489             id="tbl.physicalBioAssays"
6082 14 Aug 12 nicklas 490             columns="all"
6082 14 Aug 12 nicklas 491             >
6082 14 Aug 12 nicklas 492             <tbl:columndef 
6082 14 Aug 12 nicklas 493               id="name"
6082 14 Aug 12 nicklas 494               title="Name"
6082 14 Aug 12 nicklas 495             />
6082 14 Aug 12 nicklas 496             <tbl:columndef 
6082 14 Aug 12 nicklas 497               id="itemSubtype"
6082 14 Aug 12 nicklas 498               title="Type"
6082 14 Aug 12 nicklas 499             />
6082 14 Aug 12 nicklas 500             <tbl:columndef 
6082 14 Aug 12 nicklas 501               id="description"
6082 14 Aug 12 nicklas 502               title="Description"
6082 14 Aug 12 nicklas 503             />
6082 14 Aug 12 nicklas 504             <tbl:data>
6082 14 Aug 12 nicklas 505               <tbl:headers>
6082 14 Aug 12 nicklas 506                 <tbl:headerrow>
6082 14 Aug 12 nicklas 507                   <tbl:columnheaders />
6082 14 Aug 12 nicklas 508                 </tbl:headerrow>
6082 14 Aug 12 nicklas 509               </tbl:headers>            
6082 14 Aug 12 nicklas 510               <tbl:rows>
6082 14 Aug 12 nicklas 511               <%
6082 14 Aug 12 nicklas 512               for (PhysicalBioAssay item : physicalBioAssays)
6082 14 Aug 12 nicklas 513               {
6082 14 Aug 12 nicklas 514                 %>
6082 14 Aug 12 nicklas 515                 <tbl:row>
6082 14 Aug 12 nicklas 516                   <tbl:cell column="name"><%=Base.getLinkedName(ID, item, false, true)%></tbl:cell>
6082 14 Aug 12 nicklas 517                   <tbl:cell column="itemSubtype"><base:propertyvalue item="<%=item%>" property="itemSubtype" /></tbl:cell>
6082 14 Aug 12 nicklas 518                   <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell>
6082 14 Aug 12 nicklas 519                 </tbl:row>
6082 14 Aug 12 nicklas 520                 <%
6082 14 Aug 12 nicklas 521               }
6082 14 Aug 12 nicklas 522               %>
6082 14 Aug 12 nicklas 523               </tbl:rows>
6082 14 Aug 12 nicklas 524             </tbl:data>
6082 14 Aug 12 nicklas 525           </tbl:table>
6082 14 Aug 12 nicklas 526           <%
6082 14 Aug 12 nicklas 527         }
6082 14 Aug 12 nicklas 528         %>
6082 14 Aug 12 nicklas 529       </base:section>
6082 14 Aug 12 nicklas 530       <%
6082 14 Aug 12 nicklas 531       if (!bioAssay.isRoot())
6082 14 Aug 12 nicklas 532       {
6082 14 Aug 12 nicklas 533         ItemQuery<DerivedBioAssay> parentQuery = bioAssay.getParents();
6082 14 Aug 12 nicklas 534         parentQuery.include(Include.ALL);
6082 14 Aug 12 nicklas 535         parentQuery.order(Orders.asc(Hql.property("name")));
6082 14 Aug 12 nicklas 536         ItemResultList<DerivedBioAssay> parents = parentQuery.list(dc);
6082 14 Aug 12 nicklas 537         %>
6082 14 Aug 12 nicklas 538         <base:section 
6082 14 Aug 12 nicklas 539           id="parents"
6082 14 Aug 12 nicklas 540           title="<%="Parent bioassays (" + parents.size() + ")"%>"
6082 14 Aug 12 nicklas 541           context="<%=cc%>"
6082 14 Aug 12 nicklas 542           >
6082 14 Aug 12 nicklas 543           <%
6082 14 Aug 12 nicklas 544           if (parents.size() == 0)
6082 14 Aug 12 nicklas 545           {
6082 14 Aug 12 nicklas 546             %>
6082 14 Aug 12 nicklas 547             <div class="messagecontainer note">
6082 14 Aug 12 nicklas 548             This bioassay doesn't have any parent bioassays
6082 14 Aug 12 nicklas 549             (or you don't have permission to view them).
6082 14 Aug 12 nicklas 550             </div>
6082 14 Aug 12 nicklas 551             <%
6082 14 Aug 12 nicklas 552           }
6082 14 Aug 12 nicklas 553           else
6082 14 Aug 12 nicklas 554           {
6082 14 Aug 12 nicklas 555             %>
6082 14 Aug 12 nicklas 556             <tbl:table
6143 20 Sep 12 nicklas 557               id="tbl.parents"
6082 14 Aug 12 nicklas 558               columns="all"
6082 14 Aug 12 nicklas 559               >
6082 14 Aug 12 nicklas 560               <tbl:columndef 
6082 14 Aug 12 nicklas 561                 id="name"
6082 14 Aug 12 nicklas 562                 title="Name"
6082 14 Aug 12 nicklas 563               />
6082 14 Aug 12 nicklas 564               <tbl:columndef 
6082 14 Aug 12 nicklas 565                 id="itemSubtype"
6082 14 Aug 12 nicklas 566                 title="Type"
6082 14 Aug 12 nicklas 567               />
6082 14 Aug 12 nicklas 568               <tbl:columndef 
6082 14 Aug 12 nicklas 569                 id="description"
6082 14 Aug 12 nicklas 570                 title="Description"
6082 14 Aug 12 nicklas 571               />
6082 14 Aug 12 nicklas 572               <tbl:data>
6082 14 Aug 12 nicklas 573                 <tbl:headers>
6082 14 Aug 12 nicklas 574                   <tbl:headerrow>
6082 14 Aug 12 nicklas 575                     <tbl:columnheaders />
6082 14 Aug 12 nicklas 576                   </tbl:headerrow>
6082 14 Aug 12 nicklas 577                 </tbl:headers>            
6082 14 Aug 12 nicklas 578                 <tbl:rows>
6082 14 Aug 12 nicklas 579                 <%
6082 14 Aug 12 nicklas 580                 for (DerivedBioAssay item : parents)
6082 14 Aug 12 nicklas 581                 {
6082 14 Aug 12 nicklas 582                   %>
6082 14 Aug 12 nicklas 583                   <tbl:row>
6082 14 Aug 12 nicklas 584                     <tbl:cell column="name"><%=Base.getLinkedName(ID, item, false, true)%></tbl:cell>
6082 14 Aug 12 nicklas 585                     <tbl:cell column="itemSubtype"><base:propertyvalue item="<%=item%>" property="itemSubtype" /></tbl:cell>
6082 14 Aug 12 nicklas 586                     <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell>
6082 14 Aug 12 nicklas 587                   </tbl:row>
6082 14 Aug 12 nicklas 588                   <%
6082 14 Aug 12 nicklas 589                 }
6082 14 Aug 12 nicklas 590                 %>
6082 14 Aug 12 nicklas 591                 </tbl:rows>
6082 14 Aug 12 nicklas 592               </tbl:data>
6082 14 Aug 12 nicklas 593             </tbl:table>
6082 14 Aug 12 nicklas 594             <%
6082 14 Aug 12 nicklas 595           }
6082 14 Aug 12 nicklas 596           %>
6082 14 Aug 12 nicklas 597         </base:section>
6082 14 Aug 12 nicklas 598         <%
6082 14 Aug 12 nicklas 599       }
5685 04 Aug 11 nicklas 600       ItemQuery<DerivedBioAssay> childQuery = bioAssay.getChildren();
5685 04 Aug 11 nicklas 601       childQuery.include(Include.ALL);
5685 04 Aug 11 nicklas 602       childQuery.order(Orders.asc(Hql.property("name")));
5685 04 Aug 11 nicklas 603       ItemResultList<DerivedBioAssay> children = childQuery.list(dc);
5939 30 Jan 12 nicklas 604       %>
5939 30 Jan 12 nicklas 605       <base:section 
5939 30 Jan 12 nicklas 606         id="children"
5939 30 Jan 12 nicklas 607         title="<%="Child bioassays (" + children.size() + ")"%>"
5939 30 Jan 12 nicklas 608         context="<%=cc%>"
5939 30 Jan 12 nicklas 609         >
5657 16 Jun 11 nicklas 610         <%
5939 30 Jan 12 nicklas 611         if (children.size() == 0)
5939 30 Jan 12 nicklas 612         {
5939 30 Jan 12 nicklas 613           %>
5939 30 Jan 12 nicklas 614           <div class="messagecontainer note">
5939 30 Jan 12 nicklas 615           This bioassay doesn't have any child bioassays
5939 30 Jan 12 nicklas 616           (or you don't have permission to view them).
5939 30 Jan 12 nicklas 617           </div>
5939 30 Jan 12 nicklas 618           <%
5939 30 Jan 12 nicklas 619         }
5939 30 Jan 12 nicklas 620         else
5939 30 Jan 12 nicklas 621         {
5939 30 Jan 12 nicklas 622           %>
5657 16 Jun 11 nicklas 623           <tbl:table
6143 20 Sep 12 nicklas 624             id="tbl.children"
5657 16 Jun 11 nicklas 625             columns="all"
5657 16 Jun 11 nicklas 626             >
5939 30 Jan 12 nicklas 627             <tbl:columndef 
5939 30 Jan 12 nicklas 628               id="name"
5939 30 Jan 12 nicklas 629               title="Name"
5939 30 Jan 12 nicklas 630             />
5939 30 Jan 12 nicklas 631             <tbl:columndef 
5939 30 Jan 12 nicklas 632               id="itemSubtype"
5939 30 Jan 12 nicklas 633               title="Type"
5939 30 Jan 12 nicklas 634             />
5939 30 Jan 12 nicklas 635             <tbl:columndef 
5939 30 Jan 12 nicklas 636               id="description"
5939 30 Jan 12 nicklas 637               title="Description"
5939 30 Jan 12 nicklas 638             />
5939 30 Jan 12 nicklas 639             <tbl:data>
5939 30 Jan 12 nicklas 640               <tbl:headers>
5939 30 Jan 12 nicklas 641                 <tbl:headerrow>
5939 30 Jan 12 nicklas 642                   <tbl:columnheaders />
5939 30 Jan 12 nicklas 643                 </tbl:headerrow>
5939 30 Jan 12 nicklas 644               </tbl:headers>            
5939 30 Jan 12 nicklas 645               <tbl:rows>
5939 30 Jan 12 nicklas 646               <%
5939 30 Jan 12 nicklas 647               for (DerivedBioAssay item : children)
5939 30 Jan 12 nicklas 648               {
5939 30 Jan 12 nicklas 649                 %>
5939 30 Jan 12 nicklas 650                 <tbl:row>
5939 30 Jan 12 nicklas 651                   <tbl:cell column="name"><%=Base.getLinkedName(ID, item, false, true)%></tbl:cell>
5939 30 Jan 12 nicklas 652                   <tbl:cell column="itemSubtype"><base:propertyvalue item="<%=item%>" property="itemSubtype" /></tbl:cell>
5939 30 Jan 12 nicklas 653                   <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell>
5939 30 Jan 12 nicklas 654                 </tbl:row>
5939 30 Jan 12 nicklas 655                 <%
5939 30 Jan 12 nicklas 656               }
5657 16 Jun 11 nicklas 657               %>
5939 30 Jan 12 nicklas 658               </tbl:rows>
5939 30 Jan 12 nicklas 659             </tbl:data>
5657 16 Jun 11 nicklas 660           </tbl:table>
5939 30 Jan 12 nicklas 661           <%
5939 30 Jan 12 nicklas 662         }
5939 30 Jan 12 nicklas 663         %>
5939 30 Jan 12 nicklas 664       </base:section>
5657 16 Jun 11 nicklas 665       <%
5685 04 Aug 11 nicklas 666       ItemQuery<RawBioAssay> rawQuery = bioAssay.getRawBioAssays();
5685 04 Aug 11 nicklas 667       rawQuery.include(Include.ALL);
5685 04 Aug 11 nicklas 668       rawQuery.order(Orders.asc(Hql.property("name")));
5685 04 Aug 11 nicklas 669       ItemResultList<RawBioAssay> rawBioAssays = rawQuery.list(dc);
5939 30 Jan 12 nicklas 670       %>
5939 30 Jan 12 nicklas 671       <base:section 
5939 30 Jan 12 nicklas 672         id="rawBioAssays"
5939 30 Jan 12 nicklas 673         title="<%="Raw bioassays (" + rawBioAssays.size() + ")"%>"
5939 30 Jan 12 nicklas 674         context="<%=cc%>"
5939 30 Jan 12 nicklas 675         >
5657 16 Jun 11 nicklas 676         <%
5939 30 Jan 12 nicklas 677         if (rawBioAssays.size() == 0)
5939 30 Jan 12 nicklas 678         {
5939 30 Jan 12 nicklas 679           %>
5939 30 Jan 12 nicklas 680           <div class="messagecontainer note">
5939 30 Jan 12 nicklas 681           This bioassay doesn't have any child raw bioassays
5939 30 Jan 12 nicklas 682           (or you don't have permission to view them).
5939 30 Jan 12 nicklas 683           </div>
5939 30 Jan 12 nicklas 684           <%
5939 30 Jan 12 nicklas 685         }
5939 30 Jan 12 nicklas 686         else
5939 30 Jan 12 nicklas 687         {
5939 30 Jan 12 nicklas 688           %>
5657 16 Jun 11 nicklas 689           <tbl:table
6143 20 Sep 12 nicklas 690             id="tbl.rawBioAssays"
5657 16 Jun 11 nicklas 691             columns="all"
5657 16 Jun 11 nicklas 692             >
5939 30 Jan 12 nicklas 693             <tbl:columndef 
5939 30 Jan 12 nicklas 694               id="name"
5939 30 Jan 12 nicklas 695               title="Name"
5939 30 Jan 12 nicklas 696             />
5939 30 Jan 12 nicklas 697             <tbl:columndef 
5939 30 Jan 12 nicklas 698               id="platform"
5939 30 Jan 12 nicklas 699               title="Platform"
5939 30 Jan 12 nicklas 700             />
5939 30 Jan 12 nicklas 701             <tbl:columndef 
5939 30 Jan 12 nicklas 702               id="description"
5939 30 Jan 12 nicklas 703               title="Description"
5939 30 Jan 12 nicklas 704             />
5939 30 Jan 12 nicklas 705             <tbl:data>
5939 30 Jan 12 nicklas 706               <tbl:headers>
5939 30 Jan 12 nicklas 707                 <tbl:headerrow>
5939 30 Jan 12 nicklas 708                   <tbl:columnheaders />
5939 30 Jan 12 nicklas 709                 </tbl:headerrow>
5939 30 Jan 12 nicklas 710               </tbl:headers>
5939 30 Jan 12 nicklas 711               <tbl:rows>
5939 30 Jan 12 nicklas 712               <%
5939 30 Jan 12 nicklas 713               for (RawBioAssay item : rawBioAssays)
5939 30 Jan 12 nicklas 714               {
5939 30 Jan 12 nicklas 715                 %>
5939 30 Jan 12 nicklas 716                 <tbl:row>
5939 30 Jan 12 nicklas 717                   <tbl:cell column="name"><%=Base.getLinkedName(ID, item, false, true)%></tbl:cell>
7786 02 Mar 20 nicklas 718                   <tbl:cell column="platform">
7786 02 Mar 20 nicklas 719                     <base:propertyvalue item="<%=item%>" property="platform" /> /
7786 02 Mar 20 nicklas 720                     <%=item.getRawDataType().toString() %>
7786 02 Mar 20 nicklas 721                   </tbl:cell>
5939 30 Jan 12 nicklas 722                   <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell>
5939 30 Jan 12 nicklas 723                 </tbl:row>
5939 30 Jan 12 nicklas 724                 <%
5939 30 Jan 12 nicklas 725               }
5657 16 Jun 11 nicklas 726               %>
5939 30 Jan 12 nicklas 727               </tbl:rows>
5939 30 Jan 12 nicklas 728             </tbl:data>
5657 16 Jun 11 nicklas 729           </tbl:table>
5939 30 Jan 12 nicklas 730           <%
5939 30 Jan 12 nicklas 731         }
5939 30 Jan 12 nicklas 732         %>
5939 30 Jan 12 nicklas 733       </base:section>
5657 16 Jun 11 nicklas 734       <jsp:include page="../../common/datafiles/list_files.jsp">
5657 16 Jun 11 nicklas 735         <jsp:param name="item_type" value="<%=itemType.name()%>" />
5657 16 Jun 11 nicklas 736         <jsp:param name="item_id" value="<%=itemId%>" />
5657 16 Jun 11 nicklas 737         <jsp:param name="ID" value="<%=ID%>" />
5657 16 Jun 11 nicklas 738       </jsp:include>
5657 16 Jun 11 nicklas 739       <jsp:include page="../../common/anytoany/list_anytoany.jsp">
5657 16 Jun 11 nicklas 740         <jsp:param name="ID" value="<%=ID%>" />
5657 16 Jun 11 nicklas 741         <jsp:param name="item_type" value="<%=itemType.name()%>" />
5657 16 Jun 11 nicklas 742         <jsp:param name="item_id" value="<%=itemId%>" />
5729 08 Sep 11 nicklas 743         <jsp:param name="title" value="Other items related to this bioassay" />
5657 16 Jun 11 nicklas 744       </jsp:include>
7813 19 May 20 nicklas 745       <jsp:include page="../../common/itemlists/list_membership.jsp">
7813 19 May 20 nicklas 746         <jsp:param name="ID" value="<%=ID%>" />
7813 19 May 20 nicklas 747         <jsp:param name="item_type" value="<%=itemType.name()%>" />
7813 19 May 20 nicklas 748         <jsp:param name="item_id" value="<%=itemId%>" />
7813 19 May 20 nicklas 749         <jsp:param name="title" value="Item lists where this bioassay is a member" />
7813 19 May 20 nicklas 750       </jsp:include>
7813 19 May 20 nicklas 751       
5935 26 Jan 12 nicklas 752       <jsp:include page="../../common/share/list_share.jsp">
5935 26 Jan 12 nicklas 753         <jsp:param name="ID" value="<%=ID%>" />
5935 26 Jan 12 nicklas 754         <jsp:param name="item_type" value="<%=itemType.name()%>" />
5935 26 Jan 12 nicklas 755         <jsp:param name="item_id" value="<%=itemId%>" />
5935 26 Jan 12 nicklas 756         <jsp:param name="title" value="Shared to" />
5935 26 Jan 12 nicklas 757       </jsp:include>
5657 16 Jun 11 nicklas 758       </t:tab>
5657 16 Jun 11 nicklas 759       
5657 16 Jun 11 nicklas 760       <t:tab id="annotations" title="Annotations &amp; parameters" 
6311 23 Aug 13 nicklas 761         tooltip="View annotation values and protocol parameters" clazz="white">
6255 22 Mar 13 nicklas 762         <jsp:include page="../../common/annotations/list_frameset.jsp">
5657 16 Jun 11 nicklas 763           <jsp:param name="item_type" value="<%=itemType.name()%>" />
5657 16 Jun 11 nicklas 764           <jsp:param name="item_id" value="<%=itemId%>" />
5657 16 Jun 11 nicklas 765           <jsp:param name="ID" value="<%=ID%>" />
5657 16 Jun 11 nicklas 766         </jsp:include>
5657 16 Jun 11 nicklas 767       </t:tab>
5657 16 Jun 11 nicklas 768       
5657 16 Jun 11 nicklas 769       <t:tab id="overview" title="Overview" 
6311 23 Aug 13 nicklas 770         tooltip="Display a tree overview of related items">
6242 25 Feb 13 nicklas 771         <jsp:include page="../../common/overview/overview.jsp">
6242 25 Feb 13 nicklas 772           <jsp:param name="item_type" value="<%=itemType.name()%>" />
6242 25 Feb 13 nicklas 773           <jsp:param name="item_id" value="<%=itemId%>" />
6242 25 Feb 13 nicklas 774           <jsp:param name="ID" value="<%=ID%>" />
6242 25 Feb 13 nicklas 775         </jsp:include>
5657 16 Jun 11 nicklas 776       </t:tab>
7166 07 Jun 16 nicklas 777       <t:tab id="history" title="History"
7166 07 Jun 16 nicklas 778         tooltip="Displays a log with the history of this item"
6311 23 Aug 13 nicklas 779         visible="<%=ChangeHistoryUtil.showChangeHistoryTab(sc)%>">
6244 25 Feb 13 nicklas 780         <jsp:include page="../../common/history/frameset.jsp">
6244 25 Feb 13 nicklas 781           <jsp:param name="item_type" value="<%=itemType.name()%>" />
6244 25 Feb 13 nicklas 782           <jsp:param name="item_id" value="<%=itemId%>" />
6244 25 Feb 13 nicklas 783           <jsp:param name="ID" value="<%=ID%>" />
6244 25 Feb 13 nicklas 784         </jsp:include>
5657 16 Jun 11 nicklas 785       </t:tab>
5657 16 Jun 11 nicklas 786       </t:tabcontrol>
5657 16 Jun 11 nicklas 787
5657 16 Jun 11 nicklas 788   </base:body>
5657 16 Jun 11 nicklas 789   </base:page>
5657 16 Jun 11 nicklas 790   <%
5657 16 Jun 11 nicklas 791 }
5657 16 Jun 11 nicklas 792 finally
5657 16 Jun 11 nicklas 793 {
5657 16 Jun 11 nicklas 794   if (dc != null) dc.close();
5657 16 Jun 11 nicklas 795 }
5657 16 Jun 11 nicklas 796
5657 16 Jun 11 nicklas 797 %>