Author: thomas.heute(a)jboss.com
Date: 2009-04-08 11:37:09 -0400 (Wed, 08 Apr 2009)
New Revision: 13191
Modified:
branches/Enterprise_Portal_Platform_4_3/core-cms/src/main/org/jboss/portal/core/cms/ui/CMSPortlet.java
branches/Enterprise_Portal_Platform_4_3/core-cms/src/resources/portal-cms-war/WEB-INF/classes/Resource.properties
Log:
JBEPP-52: HA-CMS: NullPointerException after fail-over
Modified:
branches/Enterprise_Portal_Platform_4_3/core-cms/src/main/org/jboss/portal/core/cms/ui/CMSPortlet.java
===================================================================
---
branches/Enterprise_Portal_Platform_4_3/core-cms/src/main/org/jboss/portal/core/cms/ui/CMSPortlet.java 2009-04-08
15:34:55 UTC (rev 13190)
+++
branches/Enterprise_Portal_Platform_4_3/core-cms/src/main/org/jboss/portal/core/cms/ui/CMSPortlet.java 2009-04-08
15:37:09 UTC (rev 13191)
@@ -215,30 +215,31 @@
protected void doView(RenderRequest req, RenderResponse resp) throws PortletException,
PortletSecurityException, IOException
{
- // Get the file obtain from doHeaders
- File file = (File)req.getAttribute("file");
-
- if (file == null)
+ File file = null;
+ try
{
- String path = req.getParameter(RENDER_PARAMETER_PATH);
- file = getFile (path, req.getLocale(), req.getPreferences());
- }
- //
- URLFactory textURLFactory = null;
- if (InternalCMSContentProvider.useGlobalURL())
- {
- textURLFactory = new
GlobalURLFactory(((JBossRenderRequest)req).getControllerContext());
- }
- if (textURLFactory == null)
- {
- textURLFactory = new LocalURLFactory(resp.createRenderURL());
- }
+ //Get the file obtain from doHeaders
+ file = (File)req.getAttribute("file");
- //
- URLFactory resourceURLFactory = new
GlobalURLFactory(((JBossRenderRequest)req).getControllerContext());
-
- try
- {
+ if (file == null)
+ {
+ String path = req.getParameter(RENDER_PARAMETER_PATH);
+ file = getFile (path, req.getLocale(), req.getPreferences());
+ }
+ //
+ URLFactory textURLFactory = null;
+ if (InternalCMSContentProvider.useGlobalURL())
+ {
+ textURLFactory = new
GlobalURLFactory(((JBossRenderRequest)req).getControllerContext());
+ }
+ if (textURLFactory == null)
+ {
+ textURLFactory = new LocalURLFactory(resp.createRenderURL());
+ }
+
+ //
+ URLFactory resourceURLFactory = new
GlobalURLFactory(((JBossRenderRequest)req).getControllerContext());
+
// Translate links to resources.
String sHTML = null;
resp.setContentType("text/html");
@@ -331,6 +332,18 @@
writer.write(sHTML);
writer.close();
}
+ else if(e.isServiceUnavailable())
+ {
+ resp.setContentType("text/html");
+ PrintWriter writer = resp.getWriter();
+ String sHTML = "";
+ ResourceBundle rb = getPortletConfig().getResourceBundle(req.getLocale());
+
+ sHTML = "<h2>" +
rb.getString("SERVICE_UNAVAILABLE")+ "</h2>" +
rb.getString("SERVICE_UNAVAILABLE_DESCRIPTION");
+
+ writer.write(sHTML);
+ writer.close();
+ }
else
{
log.error("CMS error", e);
@@ -374,16 +387,23 @@
public void doHeaders(RenderRequest req, RenderResponse resp)
{
- String path = req.getParameter(RENDER_PARAMETER_PATH);
- File file = getFile (path, req.getLocale(), req.getPreferences());
-
- req.setAttribute("file", file);
- if
("true".equals(req.getPreferences().getValue("setBrowserTitle",
"false").toLowerCase()) && file.getContent().getTitle() != null)
- {
- Element element = resp.createElement("title");
- element.setTextContent(file.getContent().getTitle());
- resp.addProperty(MimeResponse.MARKUP_HEAD_ELEMENT, element);
- }
+ try
+ {
+ String path = req.getParameter(RENDER_PARAMETER_PATH);
+ File file = getFile (path, req.getLocale(), req.getPreferences());
+
+ req.setAttribute("file", file);
+ if
("true".equals(req.getPreferences().getValue("setBrowserTitle",
"false").toLowerCase()) && file.getContent().getTitle() != null)
+ {
+ Element element = resp.createElement("title");
+ element.setTextContent(file.getContent().getTitle());
+ resp.addProperty(MimeResponse.MARKUP_HEAD_ELEMENT, element);
+ }
+ }
+ catch(CMSException cme)
+ {
+ log.error(this, cme);
+ }
}
/**
Modified:
branches/Enterprise_Portal_Platform_4_3/core-cms/src/resources/portal-cms-war/WEB-INF/classes/Resource.properties
===================================================================
---
branches/Enterprise_Portal_Platform_4_3/core-cms/src/resources/portal-cms-war/WEB-INF/classes/Resource.properties 2009-04-08
15:34:55 UTC (rev 13190)
+++
branches/Enterprise_Portal_Platform_4_3/core-cms/src/resources/portal-cms-war/WEB-INF/classes/Resource.properties 2009-04-08
15:37:09 UTC (rev 13191)
@@ -152,4 +152,7 @@
INVALID_ARCHIVE_MESSAGE=The archive being uploaded is not a valid archive file
CMS_MISSING_RESOURCE=Requested CMS Resource could not be Found
+SERVICE_UNAVAILABLE=Service Unavailable
+SERVICE_UNAVAILABLE_DESCRIPTION=The CMS Service is currently unavailable
+