www/admin/mimetypes/index.jsp

Code
Comments
Other
Rev Date Author Line
700 01 Jun 05 nicklas 1 <%-- $Id$
700 01 Jun 05 nicklas 2   ------------------------------------------------------------------
3675 16 Aug 07 jari 3   Copyright (C) 2005 Nicklas Nordborg
5425 23 Sep 10 nicklas 4   Copyright (C) 2006 Jari Häkkinen, Nicklas Nordborg, Martin Svensson
700 01 Jun 05 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/
700 01 Jun 05 nicklas 8
700 01 Jun 05 nicklas 9   BASE is free software; you can redistribute it and/or
700 01 Jun 05 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
700 01 Jun 05 nicklas 12   of the License, or (at your option) any later version.
700 01 Jun 05 nicklas 13
700 01 Jun 05 nicklas 14   BASE is distributed in the hope that it will be useful,
700 01 Jun 05 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
700 01 Jun 05 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
700 01 Jun 05 nicklas 17   GNU General Public License for more details.
700 01 Jun 05 nicklas 18
700 01 Jun 05 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/>.
700 01 Jun 05 nicklas 21   ------------------------------------------------------------------
700 01 Jun 05 nicklas 22
700 01 Jun 05 nicklas 23   @author Nicklas
700 01 Jun 05 nicklas 24   @version 2.0
700 01 Jun 05 nicklas 25 --%>
5426 24 Sep 10 nicklas 26 <%@ page pageEncoding="UTF-8" session="false"
700 01 Jun 05 nicklas 27   import="net.sf.basedb.core.SessionControl"
700 01 Jun 05 nicklas 28   import="net.sf.basedb.core.DbControl"
700 01 Jun 05 nicklas 29   import="net.sf.basedb.core.Item"
2012 17 Feb 06 nicklas 30   import="net.sf.basedb.core.Include"
700 01 Jun 05 nicklas 31   import="net.sf.basedb.core.MimeType"
5630 13 May 11 nicklas 32   import="net.sf.basedb.core.ItemSubtype"
1418 07 Oct 05 nicklas 33   import="net.sf.basedb.core.ItemQuery"
700 01 Jun 05 nicklas 34   import="net.sf.basedb.core.Permission"
2012 17 Feb 06 nicklas 35   import="net.sf.basedb.core.ItemContext"
2012 17 Feb 06 nicklas 36   import="net.sf.basedb.core.MultiPermissions"
2012 17 Feb 06 nicklas 37   import="net.sf.basedb.core.PermissionDeniedException"
2012 17 Feb 06 nicklas 38   import="net.sf.basedb.core.ItemAlreadyExistsException"
2012 17 Feb 06 nicklas 39   import="net.sf.basedb.util.RemovableUtil"
700 01 Jun 05 nicklas 40   import="net.sf.basedb.clients.web.Base"
2012 17 Feb 06 nicklas 41   import="net.sf.basedb.clients.web.WebException"
2753 20 Oct 06 nicklas 42   import="net.sf.basedb.util.Values"
700 01 Jun 05 nicklas 43   import="net.sf.basedb.clients.web.util.HTML"
5510 19 Nov 10 nicklas 44   import="net.sf.basedb.core.plugin.GuiContext"
5510 19 Nov 10 nicklas 45   import="net.sf.basedb.util.extensions.ExtensionsInvoker"
5510 19 Nov 10 nicklas 46   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
5510 19 Nov 10 nicklas 47   import="net.sf.basedb.clients.web.extensions.JspContext"
5510 19 Nov 10 nicklas 48   import="net.sf.basedb.clients.web.extensions.edit.EditUtil"
7604 25 Feb 19 nicklas 49   import="net.sf.basedb.clients.web.extensions.edit.OnSaveAction"
5510 19 Nov 10 nicklas 50   import="net.sf.basedb.clients.web.extensions.edit.OnSaveRenderer"
6045 03 Apr 12 nicklas 51   import="net.sf.basedb.clients.web.extensions.list.ListColumnExportRenderer"
7604 25 Feb 19 nicklas 52   import="net.sf.basedb.clients.web.extensions.list.ListColumnAction"
6045 03 Apr 12 nicklas 53   import="net.sf.basedb.clients.web.extensions.list.ListColumnUtil"
2012 17 Feb 06 nicklas 54   import="java.util.Enumeration"
2012 17 Feb 06 nicklas 55   import="java.util.Set"
2012 17 Feb 06 nicklas 56   import="java.util.HashSet"
2012 17 Feb 06 nicklas 57   import="java.util.List"
2012 17 Feb 06 nicklas 58   import="java.util.ArrayList"
2012 17 Feb 06 nicklas 59   import="java.util.Collections"
700 01 Jun 05 nicklas 60 %>
700 01 Jun 05 nicklas 61 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
700 01 Jun 05 nicklas 62 <%!
2012 17 Feb 06 nicklas 63   private static final ItemContext defaultContext = Base.createDefaultContext("extension", "extension,name,description");
2012 17 Feb 06 nicklas 64   private static final Item itemType = Item.MIMETYPE;
700 01 Jun 05 nicklas 65 %>
700 01 Jun 05 nicklas 66 <%
2012 17 Feb 06 nicklas 67 final SessionControl sc = Base.getExistingSessionControl(pageContext, true);
700 01 Jun 05 nicklas 68 final String ID = sc.getId();
2012 17 Feb 06 nicklas 69 final String cmd = request.getParameter("cmd");
2012 17 Feb 06 nicklas 70 final String root = request.getContextPath()+"/";
2012 17 Feb 06 nicklas 71 final String mode = request.getParameter("mode");
2012 17 Feb 06 nicklas 72 final String callback = request.getParameter("callback");
2012 17 Feb 06 nicklas 73 final String itemId = request.getParameter("item_id");
2012 17 Feb 06 nicklas 74 final String listPage = "list_mimetypes.jsp?ID="+ID
2012 17 Feb 06 nicklas 75   +(mode == null ? "" : "&mode="+mode)
2012 17 Feb 06 nicklas 76   +(callback == null ? "" : "&callback="+callback)
2012 17 Feb 06 nicklas 77   +(itemId == null ? "" : "&item_id="+itemId);
2012 17 Feb 06 nicklas 78 final String viewPage = "view_mimetype.jsp?ID="+ID;
2012 17 Feb 06 nicklas 79 final String editPage = "edit_mimetype.jsp?ID="+ID;
700 01 Jun 05 nicklas 80
2012 17 Feb 06 nicklas 81 String forward = null;
2012 17 Feb 06 nicklas 82 String redirect = null;
2012 17 Feb 06 nicklas 83 String message = null;
2012 17 Feb 06 nicklas 84 DbControl dc = null;
2012 17 Feb 06 nicklas 85
700 01 Jun 05 nicklas 86 try
700 01 Jun 05 nicklas 87 {
2012 17 Feb 06 nicklas 88   if (cmd == null || "List".equals(cmd))
2012 17 Feb 06 nicklas 89   {
2012 17 Feb 06 nicklas 90     // Display the list page without updatinging the current context
2811 26 Oct 06 nicklas 91     Base.getAndSetCurrentContext(sc, itemType, null, defaultContext, true);
2012 17 Feb 06 nicklas 92     redirect = listPage;
2012 17 Feb 06 nicklas 93   }
2012 17 Feb 06 nicklas 94   else if ("UpdateContext".equals(cmd))
2012 17 Feb 06 nicklas 95   {
2012 17 Feb 06 nicklas 96     // Display the list page after updating the current context from the request parameters
2012 17 Feb 06 nicklas 97     Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 98     redirect = listPage;
2012 17 Feb 06 nicklas 99   }
2012 17 Feb 06 nicklas 100   else if ("LoadContext".equals(cmd))
2012 17 Feb 06 nicklas 101   {
2012 17 Feb 06 nicklas 102     // Display the list page after loading a saved context
2012 17 Feb 06 nicklas 103     int contextId = Values.getInt(request.getParameter("context"));
2012 17 Feb 06 nicklas 104     Base.loadContext(sc, contextId, defaultContext);
2012 17 Feb 06 nicklas 105     redirect = listPage;
2012 17 Feb 06 nicklas 106   }
2012 17 Feb 06 nicklas 107
2012 17 Feb 06 nicklas 108   else if ("ViewItem".equals(cmd))
2012 17 Feb 06 nicklas 109   {
2012 17 Feb 06 nicklas 110     // Display the view page for a single item 
2012 17 Feb 06 nicklas 111     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 112     forward = viewPage;
2012 17 Feb 06 nicklas 113   }
2012 17 Feb 06 nicklas 114   else if ("EditItem".equals(cmd))
2012 17 Feb 06 nicklas 115   {
2012 17 Feb 06 nicklas 116     // Display the edit page for a single item (should be opened in a popup)
2012 17 Feb 06 nicklas 117     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 118     redirect = editPage;
2012 17 Feb 06 nicklas 119   }
2012 17 Feb 06 nicklas 120   else if ("NewItem".equals(cmd))
2012 17 Feb 06 nicklas 121   {
2012 17 Feb 06 nicklas 122     // Display the edit page for a new item (should be opened in a popup)
2012 17 Feb 06 nicklas 123     if (!sc.hasPermission(Permission.CREATE, itemType))
700 01 Jun 05 nicklas 124     {
2012 17 Feb 06 nicklas 125       throw new PermissionDeniedException(Permission.CREATE, itemType.toString());
700 01 Jun 05 nicklas 126     }
2012 17 Feb 06 nicklas 127     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 128     cc.setId(0);
2012 17 Feb 06 nicklas 129     redirect = editPage;
2012 17 Feb 06 nicklas 130   }
2012 17 Feb 06 nicklas 131   else if ("UpdateItem".equals(cmd))
2012 17 Feb 06 nicklas 132   {
2012 17 Feb 06 nicklas 133     // Update the properties on an item (will close the popup)
2012 17 Feb 06 nicklas 134     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, null, defaultContext);
2691 03 Oct 06 nicklas 135     final int maxRecent = Base.getMaxRecent(sc);
7954 12 May 21 nicklas 136     dc = sc.newDbControl(":Edit "+itemType);
7605 26 Feb 19 nicklas 137     MimeType mimeType = cc.getObject("item");
2012 17 Feb 06 nicklas 138     if (mimeType == null)
700 01 Jun 05 nicklas 139     {
2012 17 Feb 06 nicklas 140       mimeType = MimeType.getNew(dc);
2012 17 Feb 06 nicklas 141       message = "MIME type created";
2012 17 Feb 06 nicklas 142       dc.saveItem(mimeType);
700 01 Jun 05 nicklas 143     }
2012 17 Feb 06 nicklas 144     else
700 01 Jun 05 nicklas 145     {
5060 19 Aug 09 nicklas 146       dc.reattachItem(mimeType, false);
2012 17 Feb 06 nicklas 147       message = "MIME type updated";
700 01 Jun 05 nicklas 148     }
5510 19 Nov 10 nicklas 149     JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, GuiContext.item(Item.MIMETYPE), mimeType);
7604 25 Feb 19 nicklas 150     ExtensionsInvoker<OnSaveAction> invoker = EditUtil.useOnSaveExtensions(jspContext);
5510 19 Nov 10 nicklas 151     try
2691 03 Oct 06 nicklas 152     {
5510 19 Nov 10 nicklas 153       mimeType.setExtension(Values.getStringOrNull(request.getParameter("extension")));
5510 19 Nov 10 nicklas 154       mimeType.setName(Values.getStringOrNull(request.getParameter("name")));
5510 19 Nov 10 nicklas 155       mimeType.setDescription(Values.getStringOrNull(request.getParameter("description")));
5510 19 Nov 10 nicklas 156       mimeType.setAutoCompress(Values.getBoolean(request.getParameter("autoCompress")));
5510 19 Nov 10 nicklas 157       int fileTypeId = Values.getInt(request.getParameter("filetype_id"));
5510 19 Nov 10 nicklas 158       if (fileTypeId >= 0) // < 0 = denied or unchanged
5510 19 Nov 10 nicklas 159       {
5630 13 May 11 nicklas 160         ItemSubtype ft = fileTypeId == 0 ? null : ItemSubtype.getById(dc, fileTypeId);
5510 19 Nov 10 nicklas 161         mimeType.setFileType(ft);
7703 11 Apr 19 nicklas 162         cc.setRecent(Item.ITEMSUBTYPE, ft, maxRecent);
5510 19 Nov 10 nicklas 163       }
5510 19 Nov 10 nicklas 164       
5510 19 Nov 10 nicklas 165       // OnSave extensions
5510 19 Nov 10 nicklas 166       invoker.render(OnSaveRenderer.ON_SAVE);
5510 19 Nov 10 nicklas 167       dc.commit();
5510 19 Nov 10 nicklas 168       invoker.render(OnSaveRenderer.ON_COMMIT);
2691 03 Oct 06 nicklas 169     }
5510 19 Nov 10 nicklas 170     catch (Exception ex)
5510 19 Nov 10 nicklas 171     {
5510 19 Nov 10 nicklas 172       invoker.render(OnSaveRenderer.onRollback(ex));
5510 19 Nov 10 nicklas 173       throw ex;
5510 19 Nov 10 nicklas 174     }
5510 19 Nov 10 nicklas 175     finally
5510 19 Nov 10 nicklas 176     {
5510 19 Nov 10 nicklas 177       cc.removeObject("item");
5510 19 Nov 10 nicklas 178     }
2012 17 Feb 06 nicklas 179   }
2012 17 Feb 06 nicklas 180   else if ("DeleteItem".equals(cmd))
2012 17 Feb 06 nicklas 181   {
2012 17 Feb 06 nicklas 182     // Delete a single item and then return to the view page
7954 12 May 21 nicklas 183     dc = sc.newDbControl(":Delete "+itemType);
2012 17 Feb 06 nicklas 184     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 185     RemovableUtil.setRemoved(dc, itemType, Collections.singleton(cc.getId()), true);
2012 17 Feb 06 nicklas 186     dc.commit();
2012 17 Feb 06 nicklas 187     redirect = viewPage;
2012 17 Feb 06 nicklas 188   }
2012 17 Feb 06 nicklas 189   else if ("DeleteItems".equals(cmd))
2012 17 Feb 06 nicklas 190   {
2012 17 Feb 06 nicklas 191     // Delete all selected items on the list page
7954 12 May 21 nicklas 192     dc = sc.newDbControl(":Delete "+itemType);
2012 17 Feb 06 nicklas 193     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 194     int numTotal = cc.getSelected().size();
2012 17 Feb 06 nicklas 195     int numRemoved = RemovableUtil.setRemoved(dc, itemType, cc.getSelected(), true);
2012 17 Feb 06 nicklas 196     dc.commit();
2012 17 Feb 06 nicklas 197     if (numTotal != numRemoved)
700 01 Jun 05 nicklas 198     {
2012 17 Feb 06 nicklas 199       message = (numRemoved == 0 ? "No" : "Only "+numRemoved+" of "+numTotal) + " items could be deleted, because you have no DELETE permission";
700 01 Jun 05 nicklas 200     }
6192 31 Oct 12 nicklas 201     redirect = listPage;
2012 17 Feb 06 nicklas 202   }
2012 17 Feb 06 nicklas 203   else if ("RestoreItem".equals(cmd))
2012 17 Feb 06 nicklas 204   {
2012 17 Feb 06 nicklas 205     // Restore a single item and then return to the view page
7954 12 May 21 nicklas 206     dc = sc.newDbControl(":Restore "+itemType);
2012 17 Feb 06 nicklas 207     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 208     RemovableUtil.setRemoved(dc, itemType, Collections.singleton(cc.getId()), false);
2012 17 Feb 06 nicklas 209     dc.commit();
2012 17 Feb 06 nicklas 210     redirect = viewPage;
2012 17 Feb 06 nicklas 211   }
2012 17 Feb 06 nicklas 212   else if ("RestoreItems".equals(cmd))
2012 17 Feb 06 nicklas 213   {
2012 17 Feb 06 nicklas 214     // Restore all selected items on the list page
7954 12 May 21 nicklas 215     dc = sc.newDbControl(":Restore "+itemType);
2012 17 Feb 06 nicklas 216     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 217     int numTotal = cc.getSelected().size();
2012 17 Feb 06 nicklas 218     int numRemoved = RemovableUtil.setRemoved(dc, itemType, cc.getSelected(), false);
2012 17 Feb 06 nicklas 219     dc.commit();
2012 17 Feb 06 nicklas 220     if (numTotal != numRemoved)
700 01 Jun 05 nicklas 221     {
2528 15 Aug 06 martin 222       message = (numRemoved == 0 ? "No" : "Only "+numRemoved+" of "+numTotal) + " items could be restored, because you have no WRITE permission";
700 01 Jun 05 nicklas 223     }
6192 31 Oct 12 nicklas 224     redirect = listPage;
2012 17 Feb 06 nicklas 225   }
2012 17 Feb 06 nicklas 226   else if ("ExportItems".equals(cmd))
2012 17 Feb 06 nicklas 227   {
2012 17 Feb 06 nicklas 228     // Run an export plugin in a list context
2012 17 Feb 06 nicklas 229     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 230     final ItemQuery<MimeType> query = MimeType.getQuery();
7954 12 May 21 nicklas 231     dc = sc.newDbControl(":Export "+itemType);
7914 23 Feb 21 nicklas 232     JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, GuiContext.list(itemType), null);
7914 23 Feb 21 nicklas 233     cc.configureQuery(dc, query, jspContext, true);
6045 03 Apr 12 nicklas 234     cc.setQuery(query);
7604 25 Feb 19 nicklas 235     ExtensionsInvoker<ListColumnAction<MimeType,?>> listInvoker = ListColumnUtil.useExtensions(jspContext);
7604 25 Feb 19 nicklas 236     listInvoker.render(new ListColumnExportRenderer<MimeType>(cc));
5590 16 Mar 11 nicklas 237     dc.close();
2012 17 Feb 06 nicklas 238     redirect = "../../common/export/index.jsp?ID="+ID+"&cmd=SelectPlugin&item_type="+itemType.name()+"&context_type=LIST&title=Export+mime+types";
2012 17 Feb 06 nicklas 239   }
2012 17 Feb 06 nicklas 240   else if ("ExportItem".equals(cmd))
2012 17 Feb 06 nicklas 241   {
2012 17 Feb 06 nicklas 242     // Run an export plugin in single-item context
2012 17 Feb 06 nicklas 243     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 244     redirect = "../../common/export/index.jsp?ID="+ID+"&cmd=SelectPlugin&item_type="+itemType.name()+"&context_type=ITEM&title=Export+mime+type";
2012 17 Feb 06 nicklas 245   }
2012 17 Feb 06 nicklas 246   else if ("ImportItems".equals(cmd))
2012 17 Feb 06 nicklas 247   {
2012 17 Feb 06 nicklas 248     // Run an import plugin in a list context
2012 17 Feb 06 nicklas 249     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 250     final ItemQuery<MimeType> query = MimeType.getQuery();
7954 12 May 21 nicklas 251     dc = sc.newDbControl(":Import "+itemType);
7914 23 Feb 21 nicklas 252     JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, GuiContext.list(itemType), null);
7914 23 Feb 21 nicklas 253     cc.configureQuery(dc, query, jspContext, true);
5590 16 Mar 11 nicklas 254     dc.close();
2012 17 Feb 06 nicklas 255     cc.setQuery(query);
2012 17 Feb 06 nicklas 256     redirect = "../../common/import/index.jsp?ID="+ID+"&cmd=SelectPlugin&item_type="+itemType.name()+"&context_type=LIST&title=Import+mime+types";
2012 17 Feb 06 nicklas 257   }
2012 17 Feb 06 nicklas 258   else if ("ImportItem".equals(cmd))
2012 17 Feb 06 nicklas 259   {
2012 17 Feb 06 nicklas 260     // Run an import plugin in single-item context
2012 17 Feb 06 nicklas 261     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 262     redirect = "../../common/import/index.jsp?ID="+ID+"&cmd=SelectPlugin&item_type="+itemType.name()+"&context_type=ITEM&title=Import+mime+type";
2012 17 Feb 06 nicklas 263   }
2012 17 Feb 06 nicklas 264   else if ("RunListPlugin".equals(cmd))
2012 17 Feb 06 nicklas 265   {
2012 17 Feb 06 nicklas 266     // Run another plugin in a list context
2012 17 Feb 06 nicklas 267     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 268     final ItemQuery<MimeType> query = MimeType.getQuery();
7954 12 May 21 nicklas 269     dc = sc.newDbControl(":Run plugin "+itemType);
7914 23 Feb 21 nicklas 270     JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, GuiContext.list(itemType), null);
7914 23 Feb 21 nicklas 271     cc.configureQuery(dc, query, jspContext, true);
5590 16 Mar 11 nicklas 272     dc.close();
2012 17 Feb 06 nicklas 273     cc.setQuery(query);
2012 17 Feb 06 nicklas 274     redirect = "../../common/plugin/index.jsp?ID="+ID+"&cmd=SelectPlugin&item_type="+itemType.name()+"&context_type=LIST&main_type=OTHER&title=Run+plugin";
2012 17 Feb 06 nicklas 275   }
2012 17 Feb 06 nicklas 276   else if ("RunPlugin".equals(cmd))
2012 17 Feb 06 nicklas 277   {
2012 17 Feb 06 nicklas 278     // Run another plugin in single-item context
2012 17 Feb 06 nicklas 279     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
2012 17 Feb 06 nicklas 280     redirect = "../../common/plugin/index.jsp?ID="+ID+"&cmd=SelectPlugin&item_type="+itemType.name()+"&context_type=ITEM&main_type=OTHER&title=Run+plugin";
2012 17 Feb 06 nicklas 281   }
2012 17 Feb 06 nicklas 282   else
2012 17 Feb 06 nicklas 283   {
2012 17 Feb 06 nicklas 284     throw new WebException("popup", "Invalid command", "The command {1} is not recognised as a valid command.", cmd);
2012 17 Feb 06 nicklas 285   }
700 01 Jun 05 nicklas 286 }
700 01 Jun 05 nicklas 287 finally
700 01 Jun 05 nicklas 288 {
700 01 Jun 05 nicklas 289   if (dc != null) dc.close();
700 01 Jun 05 nicklas 290 }
2012 17 Feb 06 nicklas 291
2012 17 Feb 06 nicklas 292 if (forward != null)
2012 17 Feb 06 nicklas 293 {
6192 31 Oct 12 nicklas 294   sc.setSessionSetting("alert-message", message);
2012 17 Feb 06 nicklas 295   pageContext.forward(forward);
2012 17 Feb 06 nicklas 296 }
2012 17 Feb 06 nicklas 297 else if (redirect != null)
2012 17 Feb 06 nicklas 298 {
6192 31 Oct 12 nicklas 299   sc.setSessionSetting("alert-message", message);
2012 17 Feb 06 nicklas 300   response.sendRedirect(redirect);
2012 17 Feb 06 nicklas 301 }
2012 17 Feb 06 nicklas 302 else if (message == null)
2012 17 Feb 06 nicklas 303 {
2012 17 Feb 06 nicklas 304   response.sendRedirect(root + "common/close_popup.jsp?refresh_opener=1&wait=0");
2012 17 Feb 06 nicklas 305 }
2012 17 Feb 06 nicklas 306 else
2012 17 Feb 06 nicklas 307 {
2012 17 Feb 06 nicklas 308   response.sendRedirect(root + "common/close_popup.jsp?refresh_opener=1&message="+HTML.urlEncode(message));
2012 17 Feb 06 nicklas 309 }
2012 17 Feb 06 nicklas 310 %>
2012 17 Feb 06 nicklas 311