Author: woonsan
Date: Thu Dec 24 18:19:02 2009
New Revision: 893799
URL: http://svn.apache.org/viewvc?rev=893799&view=rev
Log:
JS2-1091: backport of the feature:
Admin functionality to mark a portlet as out-of-service.
If administrator set a metadata, named "service.out", with value of "true" for
a portlet definition, then the portlet will be displayed as "out-of-service".
The out-of-service message can be customized in the spring assembly
configuration, "aggregation.xml", for the bean of "PortletRendererImpl" by
adding the 'outOfServiceMessage' property like the following example:
<property name="outOfServiceMessage">
<value><![CDATA[
<em>Sorry, this portlet is available now.</em>
]]></value>
</property>
Modified:
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/app-servers/
(props changed)
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletRendererImpl.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletTrackingManagerImpl.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/jetspeed-api/src/java/org/apache/jetspeed/PortalReservedParameters.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/maven-archetypes/
(props changed)
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/taglibs/
(props changed)
Propchange:
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/app-servers/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 24 18:19:02 2009
@@ -0,0 +1 @@
+target
Modified:
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletRendererImpl.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletRendererImpl.java?rev=893799&r1=893798&r2=893799&view=diff
==============================================================================
---
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletRendererImpl.java
(original)
+++
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletRendererImpl.java
Thu Dec 24 18:19:02 2009
@@ -103,7 +103,16 @@
* OutOfService Cache
*/
protected boolean overrideTitles = false;
- public static final String OUT_OF_SERVICE_MESSAGE = "Portlet is not
responding and has been taken out of service.";
+
+ /**
+ * The default OutOfService message
+ */
+ public static final String DEFAULT_OUT_OF_SERVICE_MESSAGE = "Portlet is
not responding and has been taken out of service.";
+
+ /**
+ * The OutOfService message
+ */
+ protected String outOfServiceMessage = DEFAULT_OUT_OF_SERVICE_MESSAGE;
public PortletRendererImpl(PortletContainer container,
PortletWindowAccessor windowAccessor,
@@ -176,7 +185,12 @@
{
// this.monitor.shutdown ?
}
-
+
+ public void setOutOfServiceMessage(String outOfServiceMessage)
+ {
+ this.outOfServiceMessage = outOfServiceMessage;
+ }
+
/**
* Render the specified Page fragment. Result is returned in the
* PortletResponse.
@@ -203,7 +217,7 @@
if (portletTracking.isOutOfService(portletWindow))
{
log.info("Taking portlet out of service: " +
portletDefinition.getUniqueName() + " for window " + fragment.getId());
- fragment.overrideRenderedContent(OUT_OF_SERVICE_MESSAGE);
+ fragment.overrideRenderedContent(outOfServiceMessage);
return;
}
long timeoutMetadata = this.getTimeoutOnJob(portletDefinition);
@@ -321,7 +335,7 @@
}
if (portletTracking.isOutOfService(portletWindow))
{
- fragment.overrideRenderedContent(OUT_OF_SERVICE_MESSAGE);
+ fragment.overrideRenderedContent(outOfServiceMessage);
return null;
}
int expirationCache = getExpirationCache(portletDefinition);
Modified:
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletTrackingManagerImpl.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletTrackingManagerImpl.java?rev=893799&r1=893798&r2=893799&view=diff
==============================================================================
---
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletTrackingManagerImpl.java
(original)
+++
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletTrackingManagerImpl.java
Thu Dec 24 18:19:02 2009
@@ -17,15 +17,19 @@
package org.apache.jetspeed.aggregator.impl;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import org.apache.commons.lang.BooleanUtils;
+import org.apache.jetspeed.PortalReservedParameters;
import org.apache.jetspeed.aggregator.PortletTrackingManager;
import org.apache.jetspeed.aggregator.RenderTrackable;
import org.apache.jetspeed.container.window.PortletWindowAccessor;
+import org.apache.jetspeed.om.common.LocalizedField;
import org.apache.jetspeed.om.common.portlet.PortletDefinitionComposite;
import org.apache.pluto.om.window.PortletWindow;
@@ -88,6 +92,19 @@
{
return true;
}
+
+ PortletDefinitionComposite def =
+ (PortletDefinitionComposite)
window.getPortletEntity().getPortletDefinition();
+ Collection fields =
def.getMetadata().getFields(PortalReservedParameters.PORTLET_EXTENDED_DESCRIPTOR_OUT_OF_SERVICE);
+
+ if (fields != null && !fields.isEmpty())
+ {
+ if (BooleanUtils.toBoolean(((LocalizedField)
fields.iterator().next()).getValue()))
+ {
+ return true;
+ }
+ }
+
return false;
}
Modified:
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/jetspeed-api/src/java/org/apache/jetspeed/PortalReservedParameters.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/jetspeed-api/src/java/org/apache/jetspeed/PortalReservedParameters.java?rev=893799&r1=893798&r2=893799&view=diff
==============================================================================
---
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/jetspeed-api/src/java/org/apache/jetspeed/PortalReservedParameters.java
(original)
+++
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/jetspeed-api/src/java/org/apache/jetspeed/PortalReservedParameters.java
Thu Dec 24 18:19:02 2009
@@ -98,6 +98,13 @@
public static final String PORTLET_EXTENDED_DESCRIPTOR_RENDER_TIMEOUT =
"timeout";
/**
+ * A portlet can have a specific setting for the state of out-of-service
that the portal will
+ * give up on rendering the portlet.
+ * The value is 'true' or 'false'.
+ */
+ public static final String PORTLET_EXTENDED_DESCRIPTOR_OUT_OF_SERVICE =
"service.out";
+
+ /**
* Until version 2.1, Jetspeed merged portal request parameters with
portlet specific
* parameters, effectively allowing "shared" parameters.
* <p>
Propchange:
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/maven-archetypes/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 24 18:19:02 2009
@@ -0,0 +1 @@
+target
Propchange:
portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/taglibs/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 24 18:19:02 2009
@@ -0,0 +1 @@
+target
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]