You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by wo...@apache.org on 2007/10/23 14:53:30 UTC
svn commit: r587487 -
/portals/jetspeed-2/branches/JETSPEED-2.1.3/commons/src/java/org/apache/jetspeed/portlet/PortletObjectProxy.java
Author: woonsan
Date: Tue Oct 23 05:53:30 2007
New Revision: 587487
URL: http://svn.apache.org/viewvc?rev=587487&view=rev
Log:
[JS2-784] Adding portlet doesn't work in 2.1.3 trunk!
Fixed.
I reproduced this problem as follows:
- Set the first constructor-arg of portletFactory bean in registry.xml to create proxy instances for actual portlet instances. (See JS2-634.)
- If you restart Tomcat, then portlets using DOJO (implementing SupportsHeaderPhase interface) do not work.
e.g) demo::GroovyDojoCustomerList in groovy.psml and j2-admin::CategoryPortletSelector in selector.psml.
The portlet proxy did not implement SupportsHeaderPhase interface.
Modified:
portals/jetspeed-2/branches/JETSPEED-2.1.3/commons/src/java/org/apache/jetspeed/portlet/PortletObjectProxy.java
Modified: portals/jetspeed-2/branches/JETSPEED-2.1.3/commons/src/java/org/apache/jetspeed/portlet/PortletObjectProxy.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/branches/JETSPEED-2.1.3/commons/src/java/org/apache/jetspeed/portlet/PortletObjectProxy.java?rev=587487&r1=587486&r2=587487&view=diff
==============================================================================
--- portals/jetspeed-2/branches/JETSPEED-2.1.3/commons/src/java/org/apache/jetspeed/portlet/PortletObjectProxy.java (original)
+++ portals/jetspeed-2/branches/JETSPEED-2.1.3/commons/src/java/org/apache/jetspeed/portlet/PortletObjectProxy.java Tue Oct 23 05:53:30 2007
@@ -39,6 +39,7 @@
import org.apache.pluto.om.portlet.ContentTypeSet;
import org.apache.jetspeed.JetspeedActions;
+import org.apache.jetspeed.portlet.SupportsHeaderPhase;
import org.apache.jetspeed.util.BaseObjectProxy;
import org.apache.jetspeed.container.JetspeedPortletConfig;
@@ -74,7 +75,17 @@
{
Class proxiedClass = proxiedObject.getClass();
ClassLoader classLoader = proxiedClass.getClassLoader();
- Class [] proxyInterfaces = new Class [] { Portlet.class };
+ Class [] proxyInterfaces = null;
+
+ if (proxiedObject instanceof SupportsHeaderPhase)
+ {
+ proxyInterfaces = new Class [] { Portlet.class, SupportsHeaderPhase.class };
+ }
+ else
+ {
+ proxyInterfaces = new Class [] { Portlet.class };
+ }
+
InvocationHandler handler = new PortletObjectProxy(proxiedObject);
return Proxy.newProxyInstance(classLoader, proxyInterfaces, handler);
}
@@ -117,6 +128,10 @@
{
result = method.invoke(this.portletObject, args);
}
+ }
+ else if (declaringClass == SupportsHeaderPhase.class)
+ {
+ result = method.invoke(this.portletObject, args);
}
else
{
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org