From 979d719f54e254315486f24c64d8538b66e82956 Mon Sep 17 00:00:00 2001 From: Kevin Roast Date: Wed, 30 Jul 2008 13:08:14 +0000 Subject: [PATCH] Workaround added to WebScript status template to handle very strange proxied Hibernate Exception objects. Fix to PageTag to work outside of a valid FacesContext scope. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10122 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/web/ui/repo/tag/PageTag.java | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/source/java/org/alfresco/web/ui/repo/tag/PageTag.java b/source/java/org/alfresco/web/ui/repo/tag/PageTag.java index 6f7c2c64cb..db91506913 100644 --- a/source/java/org/alfresco/web/ui/repo/tag/PageTag.java +++ b/source/java/org/alfresco/web/ui/repo/tag/PageTag.java @@ -371,21 +371,28 @@ public class PageTag extends TagSupport */ private String getWindowOnloadCode() { - CCProperties ccProps = (CCProperties) FacesHelper.getManagedBean(FacesContext.getCurrentInstance(), "CCProperties"); - - StringBuffer onloadCode = new StringBuffer(); - if (ccProps.getWebdavUrl() != null || ccProps.getCifsPath() != null) + FacesContext fc = FacesContext.getCurrentInstance(); + if (fc != null) { - String webdavUrl = (ccProps.getWebdavUrl() != null) ? (ccProps.getWebdavUrl()) : (""); - String cifsPath = (ccProps.getCifsPath() != null) ? (ccProps.getCifsPath()) : (""); - - onloadCode.append("window.onload=onloadFunc('").append(webdavUrl).append("','").append(cifsPath).append("');"); - - ccProps.setCifsPath(null); // we need reset cifsPath flag - ccProps.setWebdavUrl(null); // we need reset webdavUrl flag + CCProperties ccProps = (CCProperties) FacesHelper.getManagedBean(fc, "CCProperties"); + + StringBuilder onloadCode = new StringBuilder(); + if (ccProps.getWebdavUrl() != null || ccProps.getCifsPath() != null) + { + String webdavUrl = (ccProps.getWebdavUrl() != null) ? (ccProps.getWebdavUrl()) : (""); + String cifsPath = (ccProps.getCifsPath() != null) ? (ccProps.getCifsPath()) : (""); + + onloadCode.append("window.onload=onloadFunc('").append(webdavUrl).append("','").append(cifsPath).append("');"); + + ccProps.setCifsPath(null); // we need reset cifsPath flag + ccProps.setWebdavUrl(null); // we need reset webdavUrl flag + } + + return onloadCode.toString(); + } + else + { + return ""; } - - return onloadCode.toString(); } - }