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 we...@apache.org on 2004/06/10 22:15:11 UTC
cvs commit: jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/window/impl PortletWindowAccessorImpl.java
weaver 2004/06/10 13:15:11
Modified: portal/src/java/org/apache/jetspeed/container/window/impl
PortletWindowAccessorImpl.java
Log:
Moved some logic out of WindowAccessorImpl into PortletEntityAccessComponentImpl.
It is now very easy to generate PortletEntities from an existing Fragment. This negates
the need to pre-load portlet entites in the quickStart goal.
Revision Changes Path
1.2 +26 -36 jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/window/impl/PortletWindowAccessorImpl.java
Index: PortletWindowAccessorImpl.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/window/impl/PortletWindowAccessorImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PortletWindowAccessorImpl.java 15 Mar 2004 19:38:00 -0000 1.1
+++ PortletWindowAccessorImpl.java 10 Jun 2004 20:15:11 -0000 1.2
@@ -15,22 +15,23 @@
*/
package org.apache.jetspeed.container.window.impl;
+import groovy.swing.impl.Startable;
+
import java.util.HashMap;
import java.util.Map;
-import groovy.swing.impl.Startable;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent;
+import org.apache.jetspeed.components.portletentity.PortletEntityNotGeneratedException;
+import org.apache.jetspeed.components.portletentity.PortletEntityNotStoredException;
import org.apache.jetspeed.components.portletregistry.PortletRegistryComponent;
import org.apache.jetspeed.container.window.PortletWindowAccessor;
+import org.apache.jetspeed.om.common.portlet.MutablePortletEntity;
import org.apache.jetspeed.om.page.Fragment;
import org.apache.jetspeed.om.window.impl.PortletWindowImpl;
import org.apache.jetspeed.util.JetspeedObjectID;
import org.apache.pluto.om.common.ObjectID;
-import org.apache.pluto.om.entity.PortletEntity;
-import org.apache.pluto.om.portlet.PortletDefinition;
import org.apache.pluto.om.window.PortletWindow;
import org.apache.pluto.om.window.PortletWindowCtrl;
import org.apache.pluto.om.window.PortletWindowList;
@@ -95,22 +96,30 @@
private PortletWindow createPortletWindow(Fragment fragment, String principal)
{
PortletWindow portletWindow = new PortletWindowImpl(fragment.getId());
-
- PortletEntity portletEntity = entityAccessor.getPortletEntity(makeEntityKey(fragment, principal));
+
+ MutablePortletEntity portletEntity = entityAccessor.getPortletEntityForFragment(fragment, principal);
if (portletEntity == null)
{
- PortletDefinition pd = registry.getPortletDefinitionByUniqueName(fragment.getName());
- if (pd == null)
+ log.info("No portlet entity defined for fragment ID "+fragment.getId()+" attempting to auto-generate...");
+ try
{
- log.error("Failed to retrieve Portlet Definition for " + fragment.getName());
- return null;
+ portletEntity = entityAccessor.generateEntityFromFragment(fragment, principal);
+ entityAccessor.storePortletEntity(portletEntity);
}
- portletEntity = entityAccessor.newPortletEntityInstance(pd);
- if (portletEntity == null)
+ catch (PortletEntityNotGeneratedException e)
{
- log.error("Failed to create Portlet Entity for " + fragment.getName());
- return null;
- }
+ log.error("Error generating new PortletEntity: "+e.toString(), e);
+ }
+ catch (PortletEntityNotStoredException e)
+ {
+ log.error("Error storing new PortletEntity: "+e.toString(), e);
+ }
+
+ if(portletEntity == null)
+ {
+ throw new IllegalStateException("Unable to generate portlet entity.");
+ }
+
}
((PortletWindowCtrl) portletWindow).setPortletEntity(portletEntity);
PortletWindowList windowList = portletEntity.getPortletWindowList();
@@ -118,28 +127,9 @@
windows.put(fragment.getId(), portletWindow);
- try
- {
- entityAccessor.storePortletEntity(portletEntity);
- }
- catch (Exception e)
- {
- log.error("Error persisting new portletEntity", e);
- }
+
return portletWindow;
- }
-
- private ObjectID makeEntityKey(Fragment fragment, String principal)
- {
- StringBuffer key = new StringBuffer();
- if (principal != null && principal.length() > 0)
- {
- key.append(principal);
- key.append("/");
- }
- key.append(fragment.getId());
- return JetspeedObjectID.createFromString(key.toString());
}
private PortletWindow getWindowFromCache(Fragment fragment)
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org