www/admin/plugindefinitions/list_plugins.jsp

Code
Comments
Other
Rev Date Author Line
1993 15 Feb 06 nicklas 1 <%-- $Id$
1993 15 Feb 06 nicklas 2   ------------------------------------------------------------------
5425 23 Sep 10 nicklas 3   Copyright (C) 2006 Jari Häkkinen, Nicklas Nordborg, Martin Svensson
3675 16 Aug 07 jari 4   Copyright (C) 2007 Johan Enell, Nicklas Nordborg, Martin Svensson
1993 15 Feb 06 nicklas 5
2304 22 May 06 jari 6   This file is part of BASE - BioArray Software Environment.
2304 22 May 06 jari 7   Available at http://base.thep.lu.se/
1993 15 Feb 06 nicklas 8
1993 15 Feb 06 nicklas 9   BASE is free software; you can redistribute it and/or
1993 15 Feb 06 nicklas 10   modify it under the terms of the GNU General Public License
4476 05 Sep 08 jari 11   as published by the Free Software Foundation; either version 3
1993 15 Feb 06 nicklas 12   of the License, or (at your option) any later version.
1993 15 Feb 06 nicklas 13
1993 15 Feb 06 nicklas 14   BASE is distributed in the hope that it will be useful,
1993 15 Feb 06 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
1993 15 Feb 06 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1993 15 Feb 06 nicklas 17   GNU General Public License for more details.
1993 15 Feb 06 nicklas 18
1993 15 Feb 06 nicklas 19   You should have received a copy of the GNU General Public License
4510 11 Sep 08 jari 20   along with BASE. If not, see <http://www.gnu.org/licenses/>.
1993 15 Feb 06 nicklas 21   ------------------------------------------------------------------
1993 15 Feb 06 nicklas 22
1993 15 Feb 06 nicklas 23   @author Nicklas
1993 15 Feb 06 nicklas 24   @version 2.0
1993 15 Feb 06 nicklas 25 --%>
5426 24 Sep 10 nicklas 26 <%@ page pageEncoding="UTF-8" session="false"
1993 15 Feb 06 nicklas 27   import="net.sf.basedb.core.SessionControl"
1993 15 Feb 06 nicklas 28   import="net.sf.basedb.core.DbControl"
1993 15 Feb 06 nicklas 29   import="net.sf.basedb.core.Item"
1993 15 Feb 06 nicklas 30   import="net.sf.basedb.core.PluginDefinition"
2436 28 Jun 06 nicklas 31   import="net.sf.basedb.core.PluginConfiguration"
1993 15 Feb 06 nicklas 32   import="net.sf.basedb.core.ItemQuery"
1993 15 Feb 06 nicklas 33   import="net.sf.basedb.core.Include"
2436 28 Jun 06 nicklas 34   import="net.sf.basedb.core.Type"
1993 15 Feb 06 nicklas 35   import="net.sf.basedb.core.ItemResultIterator"
1993 15 Feb 06 nicklas 36   import="net.sf.basedb.core.ItemResultList"
1993 15 Feb 06 nicklas 37   import="net.sf.basedb.core.ItemContext"
3553 09 Jul 07 martin 38   import="net.sf.basedb.core.Nameable"
1993 15 Feb 06 nicklas 39   import="net.sf.basedb.core.Permission"
1993 15 Feb 06 nicklas 40   import="net.sf.basedb.core.PluginDefinition"
1993 15 Feb 06 nicklas 41   import="net.sf.basedb.core.query.Orders"
1993 15 Feb 06 nicklas 42   import="net.sf.basedb.core.query.Hql"
2436 28 Jun 06 nicklas 43   import="net.sf.basedb.core.query.Expressions"
2436 28 Jun 06 nicklas 44   import="net.sf.basedb.core.query.Restrictions"
1993 15 Feb 06 nicklas 45   import="net.sf.basedb.core.plugin.GuiContext"
1993 15 Feb 06 nicklas 46   import="net.sf.basedb.core.plugin.Plugin"
1993 15 Feb 06 nicklas 47   import="net.sf.basedb.util.Enumeration"
1993 15 Feb 06 nicklas 48   import="net.sf.basedb.util.JarClassLoader"
3553 09 Jul 07 martin 49   import="net.sf.basedb.util.ShareableUtil"
1993 15 Feb 06 nicklas 50   import="net.sf.basedb.util.ToStringComparator"
1993 15 Feb 06 nicklas 51   import="net.sf.basedb.clients.web.Base"
1993 15 Feb 06 nicklas 52   import="net.sf.basedb.clients.web.ModeInfo"
2401 21 Jun 06 martin 53   import="net.sf.basedb.clients.web.PermissionUtil"
1993 15 Feb 06 nicklas 54   import="net.sf.basedb.clients.web.util.HTML"
2753 20 Oct 06 nicklas 55   import="net.sf.basedb.util.Values"
4698 10 Dec 08 nicklas 56   import="net.sf.basedb.util.formatter.Formatter"
4698 10 Dec 08 nicklas 57   import="net.sf.basedb.clients.web.formatter.FormatterFactory"
4886 03 Apr 09 nicklas 58   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
4886 03 Apr 09 nicklas 59   import="net.sf.basedb.clients.web.extensions.JspContext"
4886 03 Apr 09 nicklas 60   import="net.sf.basedb.clients.web.extensions.renderer.PrefixSuffixRenderer"
7604 25 Feb 19 nicklas 61   import="net.sf.basedb.clients.web.extensions.toolbar.ButtonAction" 
4886 03 Apr 09 nicklas 62   import="net.sf.basedb.clients.web.extensions.toolbar.ToolbarUtil"
4886 03 Apr 09 nicklas 63   import="net.sf.basedb.util.extensions.ExtensionsInvoker"
7604 25 Feb 19 nicklas 64   import="net.sf.basedb.clients.web.extensions.list.ListColumnAction"
6045 03 Apr 12 nicklas 65   import="net.sf.basedb.clients.web.extensions.list.ListColumnUtil"
4698 10 Dec 08 nicklas 66   import="java.util.Date"
3553 09 Jul 07 martin 67   import="java.util.Iterator"
1993 15 Feb 06 nicklas 68   import="java.util.List"
1993 15 Feb 06 nicklas 69   import="java.util.Map"
1993 15 Feb 06 nicklas 70   import="java.util.Set"
1993 15 Feb 06 nicklas 71   import="java.util.EnumSet"
1993 15 Feb 06 nicklas 72   import="java.util.TreeSet"
1993 15 Feb 06 nicklas 73 %>
1993 15 Feb 06 nicklas 74 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
1993 15 Feb 06 nicklas 75 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
4886 03 Apr 09 nicklas 76 <%@ taglib prefix="ext" uri="/WEB-INF/extensions.tld" %>
1993 15 Feb 06 nicklas 77 <%!
1993 15 Feb 06 nicklas 78   private static final Item itemType = Item.PLUGINDEFINITION;
1993 15 Feb 06 nicklas 79   private static final GuiContext guiContext = new GuiContext(itemType, GuiContext.Type.LIST);
1993 15 Feb 06 nicklas 80   private static final Enumeration<String, String> itemTypes = new Enumeration<String, String>();
1993 15 Feb 06 nicklas 81   private static final Enumeration<String, String> mainTypes = new Enumeration<String, String>();
1993 15 Feb 06 nicklas 82
1993 15 Feb 06 nicklas 83   static
1993 15 Feb 06 nicklas 84   {
1993 15 Feb 06 nicklas 85     Set<Item> temp = new TreeSet<Item>(new ToStringComparator<Item>(false));
1993 15 Feb 06 nicklas 86     temp.addAll(EnumSet.complementOf(EnumSet.of(Item.SYSTEM)));
4278 08 May 08 nicklas 87     itemTypes.add("", "- none -");    
1993 15 Feb 06 nicklas 88     for (Item item : temp)
1993 15 Feb 06 nicklas 89     {
1993 15 Feb 06 nicklas 90       itemTypes.add(Integer.toString(item.getValue()), item.toString());
1993 15 Feb 06 nicklas 91     }
1993 15 Feb 06 nicklas 92     for (Plugin.MainType v : Plugin.MainType.values())
1993 15 Feb 06 nicklas 93     {
1993 15 Feb 06 nicklas 94       mainTypes.add(Integer.toString(v.getValue()), v.toString());
1993 15 Feb 06 nicklas 95     }
1993 15 Feb 06 nicklas 96   }
1993 15 Feb 06 nicklas 97 %>
1993 15 Feb 06 nicklas 98 <%
1993 15 Feb 06 nicklas 99 final SessionControl sc = Base.getExistingSessionControl(pageContext, Permission.DENIED, itemType);
1993 15 Feb 06 nicklas 100 final String ID = sc.getId();
1993 15 Feb 06 nicklas 101 final boolean createPermission = sc.hasPermission(Permission.CREATE, itemType);
1993 15 Feb 06 nicklas 102 final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, null, null);
1993 15 Feb 06 nicklas 103
1993 15 Feb 06 nicklas 104 final ModeInfo mode = ModeInfo.get(request.getParameter("mode"));
1993 15 Feb 06 nicklas 105 final String callback = request.getParameter("callback");
1993 15 Feb 06 nicklas 106 final String title = mode.generateTitle("plugin", "plugins");
7954 12 May 21 nicklas 107 final DbControl dc = sc.newDbControl(":List "+itemType);
1993 15 Feb 06 nicklas 108 ItemResultIterator<PluginDefinition> plugins = null;
1993 15 Feb 06 nicklas 109 try
1993 15 Feb 06 nicklas 110 {
4698 10 Dec 08 nicklas 111   Formatter<Date> dateFormatter = FormatterFactory.getDateFormatter(sc);
2436 28 Jun 06 nicklas 112   // Query for plugins relatated to the current type
2436 28 Jun 06 nicklas 113   final ItemQuery<PluginConfiguration> configQuery = PluginConfiguration.getQuery();
2436 28 Jun 06 nicklas 114   configQuery.include(cc.getInclude());
2436 28 Jun 06 nicklas 115   configQuery.restrict(Restrictions.eq(Hql.property("pluginDefinition"), Expressions.parameter("plugin")));
2436 28 Jun 06 nicklas 116   configQuery.order(Orders.asc(Hql.property("name"))); 
2436 28 Jun 06 nicklas 117   final boolean createConfigurationPermission = sc.hasPermission(Permission.CREATE, Item.PLUGINCONFIGURATION);   
1993 15 Feb 06 nicklas 118
1993 15 Feb 06 nicklas 119   Map<Plugin.MainType, Integer> pluginCount = PluginDefinition.countPlugins(dc, guiContext);
7914 23 Feb 21 nicklas 120   JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, guiContext, null);
1993 15 Feb 06 nicklas 121   try
1993 15 Feb 06 nicklas 122   {
7914 23 Feb 21 nicklas 123     final ItemQuery<PluginDefinition> query = Base.getConfiguredQuery(dc, cc, jspContext, true, PluginDefinition.getQuery(), mode);
3452 05 Jun 07 nicklas 124     query.join(Hql.leftJoin("guiContexts", "ctx"));
3452 05 Jun 07 nicklas 125     query.setDistinct(true);
1993 15 Feb 06 nicklas 126     plugins = query.iterate(dc);
1993 15 Feb 06 nicklas 127   }
1993 15 Feb 06 nicklas 128   catch (Throwable t)
1993 15 Feb 06 nicklas 129   {
1993 15 Feb 06 nicklas 130     cc.setMessage(t.getMessage());
4560 06 Oct 08 nicklas 131     t.printStackTrace();
1993 15 Feb 06 nicklas 132   }
1993 15 Feb 06 nicklas 133   int numListed = 0;
7604 25 Feb 19 nicklas 134   ExtensionsInvoker<ButtonAction> invoker = ToolbarUtil.useExtensions(jspContext);
7604 25 Feb 19 nicklas 135   ExtensionsInvoker<ListColumnAction<PluginDefinition,?>> columnsInvoker = ListColumnUtil.useExtensions(jspContext);
1993 15 Feb 06 nicklas 136   %>
6289 05 Jun 13 nicklas 137   <base:page title="<%=title==null ? "Plugins" : title%>" type="<%=mode.getPageType()%>" id="list-page">
6289 05 Jun 13 nicklas 138   <base:head scripts="table.js,~plugins.js" styles="table.css,toolbar.css">
4886 03 Apr 09 nicklas 139     <ext:scripts context="<%=jspContext%>" />
4886 03 Apr 09 nicklas 140     <ext:stylesheets context="<%=jspContext%>" />
1993 15 Feb 06 nicklas 141   </base:head>
1993 15 Feb 06 nicklas 142   
1993 15 Feb 06 nicklas 143   <base:body>
5954 13 Feb 12 nicklas 144     <h1><%=title==null ? "Plugins" : title%></h1>
5954 13 Feb 12 nicklas 145     <div class="content">
1993 15 Feb 06 nicklas 146     <tbl:table 
1993 15 Feb 06 nicklas 147       id="plugins" 
1993 15 Feb 06 nicklas 148       columns="<%=cc.getSetting("columns")%>"
1993 15 Feb 06 nicklas 149       sortby="<%=cc.getSortProperty()%>" 
1993 15 Feb 06 nicklas 150       direction="<%=cc.getSortDirection()%>"
1993 15 Feb 06 nicklas 151       action="index.jsp"
1993 15 Feb 06 nicklas 152       sc="<%=sc%>"
1993 15 Feb 06 nicklas 153       item="<%=itemType%>"
6704 02 Feb 15 nicklas 154       filterrows="<%=cc.getFilterRows()%>"
5954 13 Feb 12 nicklas 155       subclass="fulltable"
7982 14 Jun 21 nicklas 156       stickyheaders="<%=cc.getSetting("columns.sticky", "name")%>"
1993 15 Feb 06 nicklas 157       >
1993 15 Feb 06 nicklas 158       <tbl:hidden 
1993 15 Feb 06 nicklas 159         name="mode" 
1993 15 Feb 06 nicklas 160         value="<%=mode.getName()%>" 
1993 15 Feb 06 nicklas 161       />
1993 15 Feb 06 nicklas 162       <tbl:hidden 
1993 15 Feb 06 nicklas 163         name="callback" 
1993 15 Feb 06 nicklas 164         value="<%=callback%>" 
1993 15 Feb 06 nicklas 165         skip="<%=callback == null%>" 
1993 15 Feb 06 nicklas 166       />
1993 15 Feb 06 nicklas 167       <tbl:columndef 
1993 15 Feb 06 nicklas 168         id="name"
1993 15 Feb 06 nicklas 169         property="name"
1993 15 Feb 06 nicklas 170         datatype="string"
1993 15 Feb 06 nicklas 171         title="Name"
1993 15 Feb 06 nicklas 172         sortable="true" 
1993 15 Feb 06 nicklas 173         filterable="true"
1993 15 Feb 06 nicklas 174         exportable="true"
1993 15 Feb 06 nicklas 175         show="always" 
1993 15 Feb 06 nicklas 176       />
1993 15 Feb 06 nicklas 177       <tbl:columndef 
4332 12 Jun 08 martin 178         id="id"
4387 11 Aug 08 nicklas 179         clazz="uniquecol"
4332 12 Jun 08 martin 180         property="id"
4332 12 Jun 08 martin 181         datatype="int"
4332 12 Jun 08 martin 182         title="ID"
4332 12 Jun 08 martin 183         sortable="true"
4332 12 Jun 08 martin 184         filterable="true"
4332 12 Jun 08 martin 185         exportable="true"
4332 12 Jun 08 martin 186       />
4332 12 Jun 08 martin 187       <tbl:columndef 
4698 10 Dec 08 nicklas 188         id="entryDate"
4698 10 Dec 08 nicklas 189         property="entryDate"
4698 10 Dec 08 nicklas 190         datatype="date"
4698 10 Dec 08 nicklas 191         title="Registered"
4698 10 Dec 08 nicklas 192         sortable="true" 
4698 10 Dec 08 nicklas 193         filterable="true"
4698 10 Dec 08 nicklas 194         exportable="true"
4698 10 Dec 08 nicklas 195         formatter="<%=dateFormatter%>"
4698 10 Dec 08 nicklas 196       />
4698 10 Dec 08 nicklas 197       <tbl:columndef 
1993 15 Feb 06 nicklas 198         id="pluginType"
1993 15 Feb 06 nicklas 199         property="mainType"
1993 15 Feb 06 nicklas 200         datatype="int"
1993 15 Feb 06 nicklas 201         enumeration="<%=mainTypes%>"
1993 15 Feb 06 nicklas 202         title="Type"
1993 15 Feb 06 nicklas 203         sortable="true" 
1993 15 Feb 06 nicklas 204         filterable="true"
1993 15 Feb 06 nicklas 205         exportable="true"
1993 15 Feb 06 nicklas 206       />
1993 15 Feb 06 nicklas 207       <tbl:columndef 
1993 15 Feb 06 nicklas 208         id="className"
4387 11 Aug 08 nicklas 209         clazz="uniquecol"
1993 15 Feb 06 nicklas 210         property="className"
1993 15 Feb 06 nicklas 211         datatype="string"
1993 15 Feb 06 nicklas 212         title="Class"
1993 15 Feb 06 nicklas 213         sortable="true" 
1993 15 Feb 06 nicklas 214         filterable="true"
1993 15 Feb 06 nicklas 215         exportable="true"
1993 15 Feb 06 nicklas 216       />
1993 15 Feb 06 nicklas 217       <tbl:columndef 
5595 17 Mar 11 nicklas 218         id="jarFile"
5595 17 Mar 11 nicklas 219         property="jarFile"
1993 15 Feb 06 nicklas 220         datatype="string"
5595 17 Mar 11 nicklas 221         title="JAR file"
1993 15 Feb 06 nicklas 222         sortable="true" 
1993 15 Feb 06 nicklas 223         filterable="true"
1993 15 Feb 06 nicklas 224         exportable="true"
1993 15 Feb 06 nicklas 225       />
1993 15 Feb 06 nicklas 226       <tbl:columndef 
1993 15 Feb 06 nicklas 227         id="version"
1993 15 Feb 06 nicklas 228         property="versionString"
1993 15 Feb 06 nicklas 229         datatype="string"
1993 15 Feb 06 nicklas 230         title="Version"
1993 15 Feb 06 nicklas 231         sortable="true" 
1993 15 Feb 06 nicklas 232         filterable="true"
1993 15 Feb 06 nicklas 233         exportable="true"
1993 15 Feb 06 nicklas 234       />
1993 15 Feb 06 nicklas 235       <tbl:columndef 
2436 28 Jun 06 nicklas 236         id="configurations"
2436 28 Jun 06 nicklas 237         title="Configurations"
4609 28 Oct 08 nicklas 238         property="&configurations(name)"
4609 28 Oct 08 nicklas 239         datatype="string"
4609 28 Oct 08 nicklas 240         filterable="true"
4906 24 Apr 09 martin 241         exportable="true"
2436 28 Jun 06 nicklas 242       />
2436 28 Jun 06 nicklas 243       <tbl:columndef 
1993 15 Feb 06 nicklas 244         id="contact"
1993 15 Feb 06 nicklas 245         property="contact"
1993 15 Feb 06 nicklas 246         datatype="string"
1993 15 Feb 06 nicklas 247         title="Contact"
1993 15 Feb 06 nicklas 248         sortable="true" 
1993 15 Feb 06 nicklas 249         filterable="true"
1993 15 Feb 06 nicklas 250         exportable="true"
1993 15 Feb 06 nicklas 251       />
1993 15 Feb 06 nicklas 252       <tbl:columndef 
1993 15 Feb 06 nicklas 253         id="copyright"
1993 15 Feb 06 nicklas 254         property="copyright"
1993 15 Feb 06 nicklas 255         datatype="string"
1993 15 Feb 06 nicklas 256         title="Copyright"
1993 15 Feb 06 nicklas 257         sortable="true" 
1993 15 Feb 06 nicklas 258         filterable="true"
1993 15 Feb 06 nicklas 259         exportable="true"
1993 15 Feb 06 nicklas 260       />
1993 15 Feb 06 nicklas 261       <tbl:columndef 
1993 15 Feb 06 nicklas 262         id="email"
1993 15 Feb 06 nicklas 263         property="email"
1993 15 Feb 06 nicklas 264         datatype="string"
1993 15 Feb 06 nicklas 265         title="Email"
1993 15 Feb 06 nicklas 266         sortable="true" 
1993 15 Feb 06 nicklas 267         filterable="true"
1993 15 Feb 06 nicklas 268         exportable="true"
1993 15 Feb 06 nicklas 269       />
1993 15 Feb 06 nicklas 270       <tbl:columndef 
1993 15 Feb 06 nicklas 271         id="url"
1993 15 Feb 06 nicklas 272         property="url"
1993 15 Feb 06 nicklas 273         datatype="string"
1993 15 Feb 06 nicklas 274         title="URL"
1993 15 Feb 06 nicklas 275         sortable="true" 
1993 15 Feb 06 nicklas 276         filterable="true"
1993 15 Feb 06 nicklas 277         exportable="true"
1993 15 Feb 06 nicklas 278       />
1993 15 Feb 06 nicklas 279       <tbl:columndef 
5615 19 Apr 11 nicklas 280         id="disabled"
5615 19 Apr 11 nicklas 281         property="disabled"
5615 19 Apr 11 nicklas 282         datatype="boolean"
5615 19 Apr 11 nicklas 283         title="Disabled"
5615 19 Apr 11 nicklas 284         sortable="true" 
5615 19 Apr 11 nicklas 285         filterable="true"
5615 19 Apr 11 nicklas 286         exportable="true"
5615 19 Apr 11 nicklas 287       />
5615 19 Apr 11 nicklas 288       <tbl:columndef 
2512 10 Aug 06 nicklas 289         id="interactive"
2512 10 Aug 06 nicklas 290         property="interactive"
2512 10 Aug 06 nicklas 291         datatype="boolean"
2512 10 Aug 06 nicklas 292         title="Is interactive"
2512 10 Aug 06 nicklas 293         sortable="true" 
2512 10 Aug 06 nicklas 294         filterable="true"
2512 10 Aug 06 nicklas 295         exportable="true"
2512 10 Aug 06 nicklas 296       />
2512 10 Aug 06 nicklas 297       <tbl:columndef 
2512 10 Aug 06 nicklas 298         id="supportsConfigurations"
2512 10 Aug 06 nicklas 299         property="supportsConfigurations"
2512 10 Aug 06 nicklas 300         datatype="boolean"
2512 10 Aug 06 nicklas 301         title="Support config"
2512 10 Aug 06 nicklas 302         sortable="true" 
2512 10 Aug 06 nicklas 303         filterable="true"
2512 10 Aug 06 nicklas 304         exportable="true"
2512 10 Aug 06 nicklas 305       />
2512 10 Aug 06 nicklas 306       <tbl:columndef 
2512 10 Aug 06 nicklas 307         id="requiresConfiguration"
2512 10 Aug 06 nicklas 308         property="requiresConfiguration"
2512 10 Aug 06 nicklas 309         datatype="boolean"
2512 10 Aug 06 nicklas 310         title="Requires config"
2512 10 Aug 06 nicklas 311         sortable="true" 
2512 10 Aug 06 nicklas 312         filterable="true"
2512 10 Aug 06 nicklas 313         exportable="true"
2512 10 Aug 06 nicklas 314       />
2512 10 Aug 06 nicklas 315       <tbl:columndef 
2722 11 Oct 06 nicklas 316         id="usePermissions"
2722 11 Oct 06 nicklas 317         property="usePermissions"
2722 11 Oct 06 nicklas 318         datatype="boolean"
2722 11 Oct 06 nicklas 319         title="Uses permissions"
2722 11 Oct 06 nicklas 320         sortable="true" 
2722 11 Oct 06 nicklas 321         filterable="true"
2722 11 Oct 06 nicklas 322         exportable="true"
2722 11 Oct 06 nicklas 323       />
2722 11 Oct 06 nicklas 324       <tbl:columndef 
2854 02 Nov 06 nicklas 325         id="allowImmediateExecution"
2854 02 Nov 06 nicklas 326         property="allowImmediateExecution"
2854 02 Nov 06 nicklas 327         datatype="boolean"
2854 02 Nov 06 nicklas 328         title="Immediate execution"
2854 02 Nov 06 nicklas 329         sortable="true" 
2854 02 Nov 06 nicklas 330         filterable="true"
2854 02 Nov 06 nicklas 331         exportable="true"
2854 02 Nov 06 nicklas 332       />
2854 02 Nov 06 nicklas 333       <tbl:columndef 
1993 15 Feb 06 nicklas 334         id="contexts"
3452 05 Jun 07 nicklas 335         property="$ctx.itemType"
3452 05 Jun 07 nicklas 336         exportproperty="guiContexts.itemType"
1993 15 Feb 06 nicklas 337         datatype="int"
1993 15 Feb 06 nicklas 338         enumeration="<%=itemTypes%>"
1993 15 Feb 06 nicklas 339         title="Items"
1993 15 Feb 06 nicklas 340         sortable="false" 
1993 15 Feb 06 nicklas 341         filterable="true"
3452 05 Jun 07 nicklas 342         exportable="false"
1993 15 Feb 06 nicklas 343       />
1993 15 Feb 06 nicklas 344       <tbl:columndef 
2629 08 Sep 06 nicklas 345         id="maxMemory"
2629 08 Sep 06 nicklas 346         property="maxMemory"
2629 08 Sep 06 nicklas 347         datatype="long"
2629 08 Sep 06 nicklas 348         title="Max memory"
2629 08 Sep 06 nicklas 349         sortable="true" 
2629 08 Sep 06 nicklas 350         filterable="true"
2629 08 Sep 06 nicklas 351         exportable="true"
2629 08 Sep 06 nicklas 352       />
2629 08 Sep 06 nicklas 353       <tbl:columndef 
2629 08 Sep 06 nicklas 354         id="trusted"
2629 08 Sep 06 nicklas 355         property="trusted"
2629 08 Sep 06 nicklas 356         datatype="boolean"
2629 08 Sep 06 nicklas 357         title="Trusted"
2629 08 Sep 06 nicklas 358         sortable="true" 
2629 08 Sep 06 nicklas 359         filterable="true"
2629 08 Sep 06 nicklas 360         exportable="true"
2629 08 Sep 06 nicklas 361       />
2629 08 Sep 06 nicklas 362       <tbl:columndef 
3871 22 Oct 07 nicklas 363         id="useInternalJobQueue"
3871 22 Oct 07 nicklas 364         property="useInternalJobQueue"
3871 22 Oct 07 nicklas 365         datatype="boolean"
3871 22 Oct 07 nicklas 366         title="Use internal job queue"
3871 22 Oct 07 nicklas 367         sortable="true" 
3871 22 Oct 07 nicklas 368         filterable="true"
3871 22 Oct 07 nicklas 369         exportable="true"
3871 22 Oct 07 nicklas 370       />
3871 22 Oct 07 nicklas 371       <tbl:columndef 
1993 15 Feb 06 nicklas 372         id="owner"
1993 15 Feb 06 nicklas 373         property="owner.name"
1993 15 Feb 06 nicklas 374         datatype="string"
1993 15 Feb 06 nicklas 375         title="Owner"
1993 15 Feb 06 nicklas 376         sortable="true" 
1993 15 Feb 06 nicklas 377         filterable="true"
1993 15 Feb 06 nicklas 378         exportable="true"
1993 15 Feb 06 nicklas 379       />
1993 15 Feb 06 nicklas 380       <tbl:columndef 
1993 15 Feb 06 nicklas 381         id="description"
1993 15 Feb 06 nicklas 382         property="description"
1993 15 Feb 06 nicklas 383         datatype="string"
1993 15 Feb 06 nicklas 384         title="Description" 
1993 15 Feb 06 nicklas 385         sortable="true" 
1993 15 Feb 06 nicklas 386         filterable="true" 
1993 15 Feb 06 nicklas 387         exportable="true"
1993 15 Feb 06 nicklas 388       />
1993 15 Feb 06 nicklas 389       <tbl:columndef
1993 15 Feb 06 nicklas 390         id="loaded"
1993 15 Feb 06 nicklas 391         title="Loaded"
1993 15 Feb 06 nicklas 392       />
2401 21 Jun 06 martin 393       <tbl:columndef
2401 21 Jun 06 martin 394         id="permission"
2401 21 Jun 06 martin 395         title="Permission"
2401 21 Jun 06 martin 396       />
5165 28 Oct 09 nicklas 397       <tbl:columndef
5165 28 Oct 09 nicklas 398         id="sharedTo"
3553 09 Jul 07 martin 399         title="Shared to"
5165 28 Oct 09 nicklas 400         filterable="true"
5165 28 Oct 09 nicklas 401         filterproperty="!sharedTo.name"
5165 28 Oct 09 nicklas 402         datatype="string"
3553 09 Jul 07 martin 403       />
6045 03 Apr 12 nicklas 404       <tbl:columndef 
6045 03 Apr 12 nicklas 405         id="xt-columns" 
6045 03 Apr 12 nicklas 406         extensions="<%=columnsInvoker%>" 
6045 03 Apr 12 nicklas 407         jspcontext="<%=jspContext%>" 
6045 03 Apr 12 nicklas 408       />
6604 18 Nov 14 nicklas 409       <div class="panelgroup bg-filled-50 bottomborder">
5954 13 Feb 12 nicklas 410         <tbl:toolbar
5954 13 Feb 12 nicklas 411           subclass="bottomborder"
5954 13 Feb 12 nicklas 412           visible="<%=mode.hasToolbar()%>"
5954 13 Feb 12 nicklas 413           >
5954 13 Feb 12 nicklas 414           <tbl:button 
6289 05 Jun 13 nicklas 415             id="btnNewItem"
5954 13 Feb 12 nicklas 416             disabled="<%=!createPermission%>" 
5954 13 Feb 12 nicklas 417             image="new.png" 
5954 13 Feb 12 nicklas 418             title="New&hellip;" 
5954 13 Feb 12 nicklas 419             tooltip="<%=createPermission ? "Create new plugin" : "You do not have permission to create plugins"%>" 
5954 13 Feb 12 nicklas 420           />
5954 13 Feb 12 nicklas 421           <tbl:button 
6289 05 Jun 13 nicklas 422             id="btnDeleteItems"
5954 13 Feb 12 nicklas 423             image="delete.png"
5954 13 Feb 12 nicklas 424             title="Delete" 
5954 13 Feb 12 nicklas 425             tooltip="Delete the selected items" 
5954 13 Feb 12 nicklas 426           />
5954 13 Feb 12 nicklas 427           <tbl:button 
6289 05 Jun 13 nicklas 428             id="btnRestoreItems"
5954 13 Feb 12 nicklas 429             image="restore.png"
5954 13 Feb 12 nicklas 430             title="Restore" 
5954 13 Feb 12 nicklas 431             tooltip="Restore the selected (deleted) items"
5954 13 Feb 12 nicklas 432           />
5954 13 Feb 12 nicklas 433           <tbl:button 
6289 05 Jun 13 nicklas 434             id="btnShareItems"
5954 13 Feb 12 nicklas 435             image="share.png"
5954 13 Feb 12 nicklas 436             title="Share&hellip;" 
5954 13 Feb 12 nicklas 437             tooltip="Share the selected items"
5954 13 Feb 12 nicklas 438           />
5954 13 Feb 12 nicklas 439           <tbl:button 
6289 05 Jun 13 nicklas 440             id="btnSetOwner"
5954 13 Feb 12 nicklas 441             image="take_ownership.png"
5954 13 Feb 12 nicklas 442             title="Set owner&hellip;"
5954 13 Feb 12 nicklas 443             tooltip="Change owner of the selected items"
5954 13 Feb 12 nicklas 444           />
5954 13 Feb 12 nicklas 445           <tbl:button 
6289 05 Jun 13 nicklas 446             id="btnColumns"
5954 13 Feb 12 nicklas 447             image="columns.png" 
5954 13 Feb 12 nicklas 448             title="Columns&hellip;" 
5954 13 Feb 12 nicklas 449             tooltip="Show, hide and re-order columns" 
5954 13 Feb 12 nicklas 450           />
5954 13 Feb 12 nicklas 451           <tbl:button 
6289 05 Jun 13 nicklas 452             id="btnImport"
6289 05 Jun 13 nicklas 453             data-plugin-type="IMPORT"
5954 13 Feb 12 nicklas 454             image="import.png" 
5954 13 Feb 12 nicklas 455             title="Import&hellip;" 
5954 13 Feb 12 nicklas 456             tooltip="Import data" 
5954 13 Feb 12 nicklas 457             visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
5954 13 Feb 12 nicklas 458           />
5954 13 Feb 12 nicklas 459           <tbl:button 
6289 05 Jun 13 nicklas 460             id="btnExport"
6289 05 Jun 13 nicklas 461             data-plugin-type="EXPORT"
5954 13 Feb 12 nicklas 462             image="export.png" 
5954 13 Feb 12 nicklas 463             title="Export&hellip;" 
5954 13 Feb 12 nicklas 464             tooltip="Export data" 
5954 13 Feb 12 nicklas 465             visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
5954 13 Feb 12 nicklas 466           />
5954 13 Feb 12 nicklas 467           <tbl:button 
6289 05 Jun 13 nicklas 468             id="btnRunPlugin"
6289 05 Jun 13 nicklas 469             data-plugin-type="OTHER"
5954 13 Feb 12 nicklas 470             image="runplugin.png" 
5954 13 Feb 12 nicklas 471             title="Run plugin&hellip;" 
5954 13 Feb 12 nicklas 472             tooltip="Run a plugin" 
5954 13 Feb 12 nicklas 473             visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
5954 13 Feb 12 nicklas 474           />
5954 13 Feb 12 nicklas 475           <ext:render extensions="<%=invoker%>" context="<%=jspContext%>" 
7604 25 Feb 19 nicklas 476             wrapper="<%=new PrefixSuffixRenderer<ButtonAction>(jspContext, "<td>", "</td>") %>"/>
2157 07 Apr 06 nicklas 477         </tbl:toolbar>
5954 13 Feb 12 nicklas 478         <tbl:panel>
6182 23 Oct 12 nicklas 479           <tbl:presetselector />
5954 13 Feb 12 nicklas 480           <tbl:navigator
5954 13 Feb 12 nicklas 481             page="<%=cc.getPage()%>" 
5954 13 Feb 12 nicklas 482             rowsperpage="<%=cc.getRowsPerPage()%>" 
5954 13 Feb 12 nicklas 483             totalrows="<%=plugins == null ? 0 : plugins.getTotalCount()%>" 
5954 13 Feb 12 nicklas 484             visible="<%=mode.hasNavigator()%>"
5954 13 Feb 12 nicklas 485           />
5954 13 Feb 12 nicklas 486         </tbl:panel>
5954 13 Feb 12 nicklas 487       </div>
1993 15 Feb 06 nicklas 488       <tbl:data>
5948 08 Feb 12 nicklas 489         <tbl:headers>
5948 08 Feb 12 nicklas 490           <tbl:headerrow>
7943 04 May 21 nicklas 491             <tbl:header clazz="row-index bg-filled-100" />
5948 08 Feb 12 nicklas 492             <tbl:columnheaders />
5948 08 Feb 12 nicklas 493           </tbl:headerrow>
6704 02 Feb 15 nicklas 494           <%
6704 02 Feb 15 nicklas 495           int numFilters = cc.getNumPropertyFilters();
6704 02 Feb 15 nicklas 496           int numRows = cc.getFilterRows();
6704 02 Feb 15 nicklas 497           for (int filterNo = 0; filterNo < numRows; filterNo++)
6704 02 Feb 15 nicklas 498           {
6704 02 Feb 15 nicklas 499             boolean lastRow = filterNo == numRows-1;
6704 02 Feb 15 nicklas 500             %>
6704 02 Feb 15 nicklas 501             <tbl:headerrow>
7943 04 May 21 nicklas 502               <tbl:header subclass="row-index bg-filled-100">
7943 04 May 21 nicklas 503                 <div class="index-<%=mode.getName()%>">
7943 04 May 21 nicklas 504                   <div class="index"></div>
7943 04 May 21 nicklas 505                   <div class="check">
7943 04 May 21 nicklas 506                     <base:icon 
7943 04 May 21 nicklas 507                       subclass="link table-check"
7943 04 May 21 nicklas 508                       image="check_uncheck.png" 
7943 04 May 21 nicklas 509                       tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)" 
7943 04 May 21 nicklas 510                       visible="<%=lastRow && mode.hasCheck()%>"
7943 04 May 21 nicklas 511                     />
7943 04 May 21 nicklas 512                   </div>
7943 04 May 21 nicklas 513                   <div class="icons">
7943 04 May 21 nicklas 514                     <base:icon
7943 04 May 21 nicklas 515                       subclass="link table-filter-row-action"
7943 04 May 21 nicklas 516                       image="add.png"
7943 04 May 21 nicklas 517                       tooltip="Add extra filter row"
7943 04 May 21 nicklas 518                       visible="<%=lastRow%>"
7943 04 May 21 nicklas 519                     /><base:icon
7943 04 May 21 nicklas 520                       subclass="link table-filter-row-action"
7943 04 May 21 nicklas 521                       image="remove.png"
7943 04 May 21 nicklas 522                       tooltip="Remove this filter row"
7943 04 May 21 nicklas 523                       visible="<%=numRows > 1 || numFilters > 0 %>"
7943 04 May 21 nicklas 524                       data-remove-row="<%=filterNo%>"
7943 04 May 21 nicklas 525                     />
7943 04 May 21 nicklas 526                   </div>
7943 04 May 21 nicklas 527                 </div>
6704 02 Feb 15 nicklas 528               </tbl:header>
6704 02 Feb 15 nicklas 529               <tbl:propertyfilter row="<%=filterNo%>" />
6704 02 Feb 15 nicklas 530             </tbl:headerrow>
6704 02 Feb 15 nicklas 531             <%
6704 02 Feb 15 nicklas 532           }
6704 02 Feb 15 nicklas 533           %>
7913 22 Feb 21 nicklas 534           <tbl:columnsubtitles />
5948 08 Feb 12 nicklas 535         </tbl:headers>
5948 08 Feb 12 nicklas 536         <tbl:rows>
1993 15 Feb 06 nicklas 537           <%
5954 13 Feb 12 nicklas 538           if (cc.getMessage() != null)
5954 13 Feb 12 nicklas 539           {
5954 13 Feb 12 nicklas 540             %>
6604 18 Nov 14 nicklas 541             <tbl:panel subclass="bg-filled-50">
5954 13 Feb 12 nicklas 542               <div class="messagecontainer error"><%=cc.getMessage()%></div>
5954 13 Feb 12 nicklas 543             </tbl:panel>
5954 13 Feb 12 nicklas 544             <%
5954 13 Feb 12 nicklas 545             cc.setMessage(null);
5954 13 Feb 12 nicklas 546           }
1993 15 Feb 06 nicklas 547           int index = cc.getPage()*cc.getRowsPerPage();
1993 15 Feb 06 nicklas 548           int selectedItemId = cc.getId();
1993 15 Feb 06 nicklas 549           Set<GuiContext> contexts = new TreeSet<GuiContext>(new ToStringComparator<GuiContext>(false));
1993 15 Feb 06 nicklas 550           if (plugins != null)
1993 15 Feb 06 nicklas 551           {
1993 15 Feb 06 nicklas 552             while (plugins.hasNext())
1993 15 Feb 06 nicklas 553             {
1993 15 Feb 06 nicklas 554               PluginDefinition item = plugins.next();
1993 15 Feb 06 nicklas 555               int itemId = item.getId();
6221 10 Jan 13 nicklas 556               
2437 28 Jun 06 nicklas 557               boolean sharePermission = item.hasPermission(Permission.SET_PERMISSION);
1993 15 Feb 06 nicklas 558               String name = HTML.encodeTags(item.getName());
6221 10 Jan 13 nicklas 559               
4003 26 Nov 07 nicklas 560               boolean deletePermission = item.hasPermission(Permission.DELETE);
2436 28 Jun 06 nicklas 561               boolean usePermission = item.hasPermission(Permission.USE);
2500 09 Aug 06 martin 562               boolean writePermission = item.hasPermission(Permission.WRITE);
2500 09 Aug 06 martin 563               String tooltip = mode.isSelectionMode() ? 
2500 09 Aug 06 martin 564                   "Select this item" : "View this item" + (writePermission ? " (use CTRL, ALT or SHIFT to edit)" : "");
1993 15 Feb 06 nicklas 565               index++;
1993 15 Feb 06 nicklas 566               numListed++;
1993 15 Feb 06 nicklas 567               %>
1993 15 Feb 06 nicklas 568               <tbl:row>
7943 04 May 21 nicklas 569                 <tbl:header clazz="row-index bg-filled-100">
7943 04 May 21 nicklas 570                   <div class="index-<%=mode.getName()%>">
7943 04 May 21 nicklas 571                     <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
7943 04 May 21 nicklas 572                     <div class="check">
7943 04 May 21 nicklas 573                       <base:input
7943 04 May 21 nicklas 574                         type="checkbox" 
7943 04 May 21 nicklas 575                         name="<%=itemId%>" 
7943 04 May 21 nicklas 576                         value="<%=itemId%>" 
7943 04 May 21 nicklas 577                         title="<%=name%>" 
7943 04 May 21 nicklas 578                         checked="<%=cc.getSelected().contains(itemId)%>"
7943 04 May 21 nicklas 579                         visible="<%=mode.hasCheck()%>"
7943 04 May 21 nicklas 580                       />
7943 04 May 21 nicklas 581                       <base:input 
7943 04 May 21 nicklas 582                         type="radio" 
7943 04 May 21 nicklas 583                         name="item_id" 
7943 04 May 21 nicklas 584                         value="<%=itemId%>" 
7943 04 May 21 nicklas 585                         title="<%=name%>" 
7943 04 May 21 nicklas 586                         checked="<%=selectedItemId == itemId%>"
7943 04 May 21 nicklas 587                         visible="<%=mode.hasRadio()%>"
7943 04 May 21 nicklas 588                       />
7943 04 May 21 nicklas 589                     </div>
7943 04 May 21 nicklas 590                     <div class="icons">
7943 04 May 21 nicklas 591                       <base:icon 
7943 04 May 21 nicklas 592                         image="deleted.png"
7943 04 May 21 nicklas 593                         id="<%="delete."+itemId %>"
7943 04 May 21 nicklas 594                         subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
7943 04 May 21 nicklas 595                         data-item-id="<%=itemId%>"
7943 04 May 21 nicklas 596                         tooltip="This item has been scheduled for deletion" 
7943 04 May 21 nicklas 597                         visible="<%=item.isRemoved()%>"
7943 04 May 21 nicklas 598                       /><base:icon 
7943 04 May 21 nicklas 599                         image="shared.png" 
7943 04 May 21 nicklas 600                         id="<%="share."+itemId %>"
7943 04 May 21 nicklas 601                         subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
7943 04 May 21 nicklas 602                         data-item-id="<%=itemId%>"
7943 04 May 21 nicklas 603                         tooltip="This item is shared to other users, groups and/or projects" 
7943 04 May 21 nicklas 604                         visible="<%=item.isShared()%>"
7943 04 May 21 nicklas 605                       />
7943 04 May 21 nicklas 606                     </div>
7943 04 May 21 nicklas 607                   </div>
7943 04 May 21 nicklas 608                 </tbl:header>
6289 05 Jun 13 nicklas 609                 <tbl:cell column="name"><div 
6289 05 Jun 13 nicklas 610                   class="link table-item"
6289 05 Jun 13 nicklas 611                   data-item-id="<%=itemId%>"
6289 05 Jun 13 nicklas 612                   data-no-edit="<%=writePermission ? 0 : 1 %>" 
6289 05 Jun 13 nicklas 613                   tabindex="0"
2436 28 Jun 06 nicklas 614                   title="<%=tooltip%>"><%=name%></div></tbl:cell>
4332 12 Jun 08 martin 615                 <tbl:cell column="id"><%=item.getId()%></tbl:cell>
4698 10 Dec 08 nicklas 616                 <tbl:cell column="entryDate" value="<%=item.getEntryDate()%>" />
1993 15 Feb 06 nicklas 617                 <tbl:cell column="pluginType"><%=item.getMainType()%></tbl:cell>
1993 15 Feb 06 nicklas 618                 <tbl:cell column="className"><%=item.getClassName()%></tbl:cell>
5595 17 Mar 11 nicklas 619                 <tbl:cell column="jarFile"><%=Values.getString(item.getJarFile(), "<i>-&nbsp;internal&nbsp;-</i>")%></tbl:cell>
1993 15 Feb 06 nicklas 620                 <tbl:cell column="version"><%=HTML.encodeTags(item.getVersionString())%></tbl:cell>
2436 28 Jun 06 nicklas 621                 <tbl:cell column="configurations">
2436 28 Jun 06 nicklas 622                   <%
2436 28 Jun 06 nicklas 623                   configQuery.setParameter("plugin", itemId, Type.INT);
2436 28 Jun 06 nicklas 624                   try
2436 28 Jun 06 nicklas 625                   {
2436 28 Jun 06 nicklas 626                     String separator = "";
2436 28 Jun 06 nicklas 627                     for (PluginConfiguration p : configQuery.list(dc))
2436 28 Jun 06 nicklas 628                     {
2436 28 Jun 06 nicklas 629                       out.write(separator);
2436 28 Jun 06 nicklas 630                       if (mode.hasPropertyLink())
2436 28 Jun 06 nicklas 631                       {
2436 28 Jun 06 nicklas 632                         out.write(Base.getLinkedName(ID, p, false, mode.hasEditLink()));
2436 28 Jun 06 nicklas 633                       }
2436 28 Jun 06 nicklas 634                       else
2436 28 Jun 06 nicklas 635                       {
2436 28 Jun 06 nicklas 636                         out.write(HTML.encodeTags(p.getName()));
2436 28 Jun 06 nicklas 637                       }
2436 28 Jun 06 nicklas 638                       separator = ", ";
2436 28 Jun 06 nicklas 639                     }
2436 28 Jun 06 nicklas 640                   }
2436 28 Jun 06 nicklas 641                   catch (Throwable t)
2436 28 Jun 06 nicklas 642                   {
2436 28 Jun 06 nicklas 643                     %>
2436 28 Jun 06 nicklas 644                     <div class="error"><%=t.getMessage()%></div>
2436 28 Jun 06 nicklas 645                     <%
2436 28 Jun 06 nicklas 646                   }
2436 28 Jun 06 nicklas 647                   %>
2436 28 Jun 06 nicklas 648                   <base:icon
6289 05 Jun 13 nicklas 649                     id="<%="create-config."+itemId %>"
6289 05 Jun 13 nicklas 650                     subclass="auto-init"
6289 05 Jun 13 nicklas 651                     data-auto-init="new-config"
6289 05 Jun 13 nicklas 652                     data-item-id="<%=itemId%>"
2436 28 Jun 06 nicklas 653                     image="add.png" 
2436 28 Jun 06 nicklas 654                     tooltip="Create new configuration" 
2512 10 Aug 06 nicklas 655                     visible="<%=mode.hasEditLink() && createConfigurationPermission && usePermission && item.supportsConfigurations() %>"
2436 28 Jun 06 nicklas 656                   />
2436 28 Jun 06 nicklas 657                 </tbl:cell>
1993 15 Feb 06 nicklas 658                 <tbl:cell column="contact"><%=HTML.encodeTags(item.getContact())%></tbl:cell>
1993 15 Feb 06 nicklas 659                 <tbl:cell column="copyright"><%=HTML.encodeTags(item.getCopyright())%></tbl:cell>
1993 15 Feb 06 nicklas 660                 <tbl:cell column="email"><%=HTML.encodeTags(item.getEmail())%></tbl:cell>
1993 15 Feb 06 nicklas 661                 <tbl:cell column="url"><%=HTML.encodeTags(item.getUrl())%></tbl:cell>
5615 19 Apr 11 nicklas 662                 <tbl:cell column="disabled"><%=item.isDisabled()%></tbl:cell>
2512 10 Aug 06 nicklas 663                 <tbl:cell column="interactive"><%=item.isInteractive()%></tbl:cell>
2629 08 Sep 06 nicklas 664                 <tbl:cell column="supportsConfigurations"><%=item.supportsConfigurations() ? "yes" : "no"%></tbl:cell>
2629 08 Sep 06 nicklas 665                 <tbl:cell column="requiresConfiguration"><%=item.requiresConfiguration() ? "yes" : "no"%></tbl:cell>
2722 11 Oct 06 nicklas 666                 <tbl:cell column="usePermissions"><%=item.getUsePermissions() ? "yes" : "no"%></tbl:cell>
2370 12 Jun 06 nicklas 667                 <tbl:cell column="contexts">
2370 12 Jun 06 nicklas 668                   <%
2370 12 Jun 06 nicklas 669                   contexts.clear();
2370 12 Jun 06 nicklas 670                   contexts.addAll(item.getGuiContexts());
2370 12 Jun 06 nicklas 671                   %>
2370 12 Jun 06 nicklas 672                   <%=contexts.isEmpty() ? "<i>- none -</i>" : Values.getString(contexts, ", ", true)%>
2370 12 Jun 06 nicklas 673                 </tbl:cell>
1993 15 Feb 06 nicklas 674                 <tbl:cell column="loaded"><%=item.getJarPath() == null || JarClassLoader.exists(item.getJarPath()) ? "Yes" : "No"%></tbl:cell>
2629 08 Sep 06 nicklas 675                 <tbl:cell column="maxMemory"><%=Values.formatBytes(item.getMaxMemory())%></tbl:cell>
2629 08 Sep 06 nicklas 676                 <tbl:cell column="trusted"><%=item.isTrusted() ? "yes" : "no"%></tbl:cell>
3871 22 Oct 07 nicklas 677                 <tbl:cell column="useInternalJobQueue"><%=item.getUseInternalJobQueue() ? "yes" : "no"%></tbl:cell>
2854 02 Nov 06 nicklas 678                 <tbl:cell column="allowImmediateExecution"><%=item.getAllowImmediateExecution() ? "yes" : "no"%></tbl:cell>
2354 07 Jun 06 martin 679                 <tbl:cell column="owner"
2354 07 Jun 06 martin 680                   ><base:propertyvalue 
2354 07 Jun 06 martin 681                     item="<%=item%>" 
2354 07 Jun 06 martin 682                     property="owner"
2354 07 Jun 06 martin 683                     enableEditLink="<%=mode.hasEditLink()%>" 
2354 07 Jun 06 martin 684                     enablePropertyLink="<%=mode.hasPropertyLink()%>"
2354 07 Jun 06 martin 685                   /></tbl:cell>
1993 15 Feb 06 nicklas 686                 <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell>
2401 21 Jun 06 martin 687                 <tbl:cell column="permission"><%=PermissionUtil.getShortPermissions(item)%></tbl:cell>
3553 09 Jul 07 martin 688                 <tbl:cell column="sharedTo">
3553 09 Jul 07 martin 689                   <%
3553 09 Jul 07 martin 690                   Iterator<Nameable> sharees = ShareableUtil.getSharedTo(dc, item).iterator();
3553 09 Jul 07 martin 691                   while(sharees.hasNext())
3553 09 Jul 07 martin 692                   {
3553 09 Jul 07 martin 693                     Nameable n = sharees.next();
3553 09 Jul 07 martin 694                     if (mode.hasPropertyLink())
3553 09 Jul 07 martin 695                     {
3553 09 Jul 07 martin 696                       out.write(Base.getLinkedName(ID, n, false, mode.hasEditLink()));
3553 09 Jul 07 martin 697                     }
3553 09 Jul 07 martin 698                     else
3553 09 Jul 07 martin 699                     {
3553 09 Jul 07 martin 700                       out.write(HTML.encodeTags(n.getName()));
3553 09 Jul 07 martin 701                     }
3553 09 Jul 07 martin 702                     out.write(sharees.hasNext() ? ", " : "");
3553 09 Jul 07 martin 703                   }
3553 09 Jul 07 martin 704                   %>
3553 09 Jul 07 martin 705                 </tbl:cell>
6045 03 Apr 12 nicklas 706                 <tbl:xt-cells dc="<%=dc%>" item="<%=item%>">
6045 03 Apr 12 nicklas 707                   <tbl:cell column="xt-columns" />
6045 03 Apr 12 nicklas 708                 </tbl:xt-cells>
1993 15 Feb 06 nicklas 709               </tbl:row>
1993 15 Feb 06 nicklas 710               <%
1993 15 Feb 06 nicklas 711               }
1993 15 Feb 06 nicklas 712             }
5954 13 Feb 12 nicklas 713           if (numListed == 0)
5954 13 Feb 12 nicklas 714           {
5954 13 Feb 12 nicklas 715             %>
6604 18 Nov 14 nicklas 716             <tbl:panel subclass="bg-filled-50">
5954 13 Feb 12 nicklas 717               <div class="messagecontainer note">
5954 13 Feb 12 nicklas 718               <%=plugins == null || plugins.getTotalCount() == 0 ? "No plugins were found" : "No plugins on this page. Please select another page!" %>
5954 13 Feb 12 nicklas 719               </div>
5954 13 Feb 12 nicklas 720             </tbl:panel>
5954 13 Feb 12 nicklas 721             <%
5954 13 Feb 12 nicklas 722           }
1993 15 Feb 06 nicklas 723           %>
5954 13 Feb 12 nicklas 724         </tbl:rows>
1993 15 Feb 06 nicklas 725       </tbl:data>
1993 15 Feb 06 nicklas 726     </tbl:table>
5954 13 Feb 12 nicklas 727     </div>
5954 13 Feb 12 nicklas 728     
5951 09 Feb 12 nicklas 729     <base:buttongroup subclass="dialogbuttons">
6289 05 Jun 13 nicklas 730       <base:button id="btnOk" title="Ok" visible="<%=mode.hasOkButton()%>" />
6289 05 Jun 13 nicklas 731       <base:button id="close" title="Cancel" visible="<%=mode.hasCancelButton()%>" />
6289 05 Jun 13 nicklas 732       <base:button id="close" title="Close" visible="<%=mode.hasCloseButton()%>" />
1993 15 Feb 06 nicklas 733     </base:buttongroup>
5951 09 Feb 12 nicklas 734     
1993 15 Feb 06 nicklas 735   </base:body>
1993 15 Feb 06 nicklas 736   </base:page>
1993 15 Feb 06 nicklas 737   <%
1993 15 Feb 06 nicklas 738 }
1993 15 Feb 06 nicklas 739 finally
1993 15 Feb 06 nicklas 740 {
1993 15 Feb 06 nicklas 741   if (plugins != null) plugins.close();
1993 15 Feb 06 nicklas 742   if (dc != null) dc.close();
1993 15 Feb 06 nicklas 743 }
3675 16 Aug 07 jari 744 %>