Author: cziegeler
Date: Wed Mar 23 08:06:34 2005
New Revision: 158792
URL: http://svn.apache.org/viewcvs?view=rev&rev=158792
Log:
Make portal manager available through portal component manager
Modified:
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/acting/BookmarkAction.java
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/PortalGenerator.java
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
Modified:
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java
URL:
http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java?view=diff&r1=158791&r2=158792
==============================================================================
---
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java
(original)
+++
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java
Wed Mar 23 08:06:34 2005
@@ -1,5 +1,5 @@
/*
- * Copyright 1999-2002,2004 The Apache Software Foundation.
+ * Copyright 1999-2002,2004-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -33,7 +33,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
*
- * @version CVS $Id: PortalComponentManager.java,v 1.3 2004/06/21 11:09:45
cziegeler Exp $
+ * @version CVS $Id$
*/
public interface PortalComponentManager {
@@ -66,4 +66,10 @@
* Get the event manager
*/
EventManager getEventManager();
+
+ /**
+ * Get the portal manager
+ * @since 2.1.8
+ */
+ PortalManager getPortalManager();
}
Modified:
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/acting/BookmarkAction.java
URL:
http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/acting/BookmarkAction.java?view=diff&r1=158791&r2=158792
==============================================================================
---
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/acting/BookmarkAction.java
(original)
+++
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/acting/BookmarkAction.java
Wed Mar 23 08:06:34 2005
@@ -39,7 +39,6 @@
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.Session;
import org.apache.cocoon.environment.SourceResolver;
-import org.apache.cocoon.portal.PortalManager;
import org.apache.cocoon.portal.PortalService;
import org.apache.cocoon.portal.acting.helpers.CopletMapping;
import org.apache.cocoon.portal.acting.helpers.FullScreenMapping;
@@ -193,13 +192,7 @@
try {
service = (PortalService)this.manager.lookup(PortalService.ROLE);
- PortalManager portalManager = null;
- try {
- portalManager = (PortalManager)
this.manager.lookup(PortalManager.ROLE);
- portalManager.process();
- } finally {
- this.manager.release(portalManager);
- }
+ service.getComponentManager().getPortalManager().process();
final Request request = ObjectModelHelper.getRequest(objectModel);
final Session session = request.getSession(false);
Modified:
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/PortalGenerator.java
URL:
http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/PortalGenerator.java?view=diff&r1=158791&r2=158792
==============================================================================
---
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/PortalGenerator.java
(original)
+++
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/PortalGenerator.java
Wed Mar 23 08:06:34 2005
@@ -51,15 +51,16 @@
// start the portal rendering
// 1. event processing
// 2. rendering
- PortalManager pm = null;
+ PortalService service = null;
try {
- pm = (PortalManager)this.manager.lookup(PortalManager.ROLE);
+ service = (PortalService)this.manager.lookup(PortalService.ROLE);
+ PortalManager pm =
service.getComponentManager().getPortalManager();
pm.process();
pm.showPortal(this.xmlConsumer, this.parameters);
} catch (ServiceException ce) {
- throw new ProcessingException("Unable to lookup portal manager.",
ce);
+ throw new ProcessingException("Unable to lookup portal service.",
ce);
} finally {
- this.manager.release(pm);
+ this.manager.release(service);
}
}
Modified:
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java
URL:
http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java?view=diff&r1=158791&r2=158792
==============================================================================
---
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java
(original)
+++
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java
Wed Mar 23 08:06:34 2005
@@ -1,5 +1,5 @@
/*
- * Copyright 1999-2002,2004 The Apache Software Foundation.
+ * Copyright 1999-2002,2004-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -32,6 +32,7 @@
import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.portal.LinkService;
import org.apache.cocoon.portal.PortalComponentManager;
+import org.apache.cocoon.portal.PortalManager;
import org.apache.cocoon.portal.coplet.CopletFactory;
import org.apache.cocoon.portal.event.EventManager;
import org.apache.cocoon.portal.layout.LayoutFactory;
@@ -55,30 +56,29 @@
protected ServiceManager manager;
- protected LinkService linkService;
-
- protected ProfileManager profileManager;
-
protected String profileManagerRole;
+ protected ProfileManager profileManager;
protected String linkServiceRole;
+ protected LinkService linkService;
protected String rendererSelectorRole;
-
protected ServiceSelector rendererSelector;
protected Map renderers;
protected String copletFactoryRole;
-
- protected String layoutFactoryRole;
-
protected CopletFactory copletFactory;
+ protected String layoutFactoryRole;
protected LayoutFactory layoutFactory;
+ protected String eventManagerRole;
protected EventManager eventManager;
+ protected String portalManagerRole;
+ protected PortalManager portalManager;
+
/* (non-Javadoc)
* @see
org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
*/
@@ -120,7 +120,7 @@
public EventManager getEventManager() {
if ( null == this.eventManager ) {
try {
- this.eventManager = (EventManager)this.manager.lookup(
EventManager.ROLE );
+ this.eventManager = (EventManager)this.manager.lookup(
this.eventManagerRole );
} catch (ServiceException e) {
throw new CascadingRuntimeException("Unable to lookup event
manager with role " + EventManager.ROLE, e);
}
@@ -152,6 +152,8 @@
this.layoutFactory = null;
this.manager.release(this.eventManager);
this.eventManager = null;
+ this.manager.release(this.portalManager);
+ this.portalManager = null;
this.manager = null;
}
}
@@ -165,6 +167,8 @@
this.rendererSelectorRole =
config.getChild("renderer-selector").getValue(Renderer.ROLE+"Selector");
this.copletFactoryRole =
config.getChild("coplet-factory").getValue(CopletFactory.ROLE);
this.layoutFactoryRole =
config.getChild("layout-factory").getValue(LayoutFactory.ROLE);
+ this.eventManagerRole =
config.getChild("event-manager").getValue(EventManager.ROLE);
+ this.portalManagerRole =
config.getChild("portal-manager").getValue(PortalManager.ROLE);
}
/* (non-Javadoc)
@@ -219,4 +223,18 @@
return this.layoutFactory;
}
+
+ /**
+ * @see org.apache.cocoon.portal.PortalComponentManager#getPortalManager()
+ */
+ public PortalManager getPortalManager() {
+ if ( null == this.portalManager ) {
+ try {
+ this.portalManager = (PortalManager)this.manager.lookup(
this.portalManagerRole);
+ } catch (ServiceException e) {
+ throw new CascadingRuntimeException("Unable to lookup portal
manager with role " + this.copletFactoryRole, e);
+ }
+ }
+ return this.portalManager;
+ }
}
Modified:
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
URL:
http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java?view=diff&r1=158791&r2=158792
==============================================================================
---
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
(original)
+++
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
Wed Mar 23 08:06:34 2005
@@ -48,14 +48,15 @@
*/
public void process()
throws ProcessingException {
- EventManager eventManager = null;
+ PortalService service = null;
try {
- eventManager =
(EventManager)this.manager.lookup(EventManager.ROLE);
+ service = (PortalService)this.manager.lookup(PortalService.ROLE);
+ EventManager eventManager =
service.getComponentManager().getEventManager();
eventManager.processEvents();
} catch (ServiceException ce) {
throw new ProcessingException("Unable to lookup portal service.",
ce);
} finally {
- this.manager.release(eventManager);
+ this.manager.release(service);
}
}
@@ -80,13 +81,6 @@
contentHandler.endDocument();
} catch (ServiceException ce) {
throw new SAXException("Unable to lookup portal service.", ce);
- } catch (Exception e) {
- getLogger().error("Caught exception", e);
- throw new SAXException(e);
- } catch (Error e) {
- getLogger().error("Caught error", e);
- e.printStackTrace();
- throw e;
} finally {
this.manager.release(service);
}