You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2005/01/17 09:45:41 UTC
svn commit: r125403 - in cocoon/trunk/src/blocks/portal/java/org/apache/cocoon: components/modules/input components/variables portal/components/modules/input portal/coplet/adapter/impl portal/event/aspect/impl portal/impl portal/layout portal/layout/renderer/aspect/impl portal/profile portal/profile/impl
Author: cziegeler
Date: Mon Jan 17 00:45:38 2005
New Revision: 125403
URL: http://svn.apache.org/viewcvs?view=rev&rev=125403
Log:
Fix copying of profile
Modified:
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/modules/input/PortletURLModule.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/NOPVariableResolver.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/PreparedVariableResolver.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/components/modules/input/SkinModule.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/event/aspect/impl/RequestParameterEventAspect.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/DefaultLinkService.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/AbstractLayout.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/Item.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractCompositeAspect.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractUserProfileManager.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/modules/input/PortletURLModule.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/modules/input/PortletURLModule.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/modules/input/PortletURLModule.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/modules/input/PortletURLModule.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/modules/input/PortletURLModule.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/modules/input/PortletURLModule.java Mon Jan 17 00:45:38 2005
@@ -113,16 +113,16 @@
if (name.length() > 0) {
parameters.put(PortletEnvironment.PARAMETER_PATH_INFO, name);
}
- for (Iterator i = parameters.keySet().iterator(); i.hasNext();) {
- String param = (String) i.next();
- Object values = parameters.get(param);
+ for (Iterator i = parameters.entrySet().iterator(); i.hasNext();) {
+ Map.Entry me = (Map.Entry)i.next();
+ String param = (String)me.getKey();
+ Object values = me.getValue();
if (values instanceof String) {
url.setParameter(param, (String) values);
} else {
url.setParameter(param, (String[]) values);
}
}
-
return url.toString();
}
if (name.startsWith(PREFIX_RENDER)) {
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/NOPVariableResolver.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/NOPVariableResolver.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/NOPVariableResolver.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/NOPVariableResolver.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/NOPVariableResolver.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/NOPVariableResolver.java Mon Jan 17 00:45:38 2005
@@ -63,4 +63,5 @@
public String resolve() throws PatternException {
return this.expression;
}
+
}
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/PreparedVariableResolver.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/PreparedVariableResolver.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/PreparedVariableResolver.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/PreparedVariableResolver.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/PreparedVariableResolver.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/components/variables/PreparedVariableResolver.java Mon Jan 17 00:45:38 2005
@@ -58,6 +58,7 @@
public PreparedVariableResolver(String expr, ServiceManager manager, Context context)
throws PatternException {
+
super(null);
this.expression = expr;
this.manager = manager;
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/components/modules/input/SkinModule.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/components/modules/input/SkinModule.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/components/modules/input/SkinModule.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/components/modules/input/SkinModule.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/components/modules/input/SkinModule.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/components/modules/input/SkinModule.java Mon Jan 17 00:45:38 2005
@@ -25,10 +25,11 @@
import org.apache.avalon.framework.service.ServiceSelector;
import org.apache.cocoon.components.modules.input.InputModule;
import org.apache.cocoon.portal.PortalService;
+import org.apache.cocoon.portal.layout.Layout;
import org.apache.cocoon.portal.layout.SkinDescription;
/**
- * FIXME We can use the module chaining!
+ * This input module provides information about the current selected skin
*
* @version CVS $Id: SkinModule.java,v 1.4 2005/01/07 10:21:46 cziegeler Exp $
*/
@@ -77,11 +78,21 @@
portalService = (PortalService)this.manager.lookup(PortalService.ROLE);
+ String skinName = null;
// get the current skin
- // TODO
- String skinName = (String)this.globalModule.getAttribute("skin", modeConf, objectModel);
+ // the skin is stored as a parameter on the root layout
+ // if not, the global module is used
+ // fallback is: common
+ final Layout rootLayout = portalService.getComponentManager().getProfileManager().getPortalLayout(null, null);
+ if ( rootLayout != null ) {
+ skinName = (String)rootLayout.getParameters().get("skin");
+ }
+ // use the global module
+ if ( skinName == null ) {
+ skinName = (String)this.globalModule.getAttribute("skin", modeConf, objectModel);
if ( skinName == null ) {
- skinName = "basic";
+ skinName = "common";
+ }
}
// find the correct skin
@@ -100,6 +111,14 @@
return desc.getBasePath();
} else if ( "skin.thumbnailpath".equals(name) ) {
return desc.getThumbnailPath();
+ } else if ( name.startsWith("skin.thumbnailuri.") ) {
+ String selectedSkinName = name.substring(name.lastIndexOf(".")+ 1, name.length());
+ for(Iterator it = portalService.getSkinDescriptions().iterator(); it.hasNext();) {
+ SkinDescription selected = (SkinDescription) it.next();
+ if(selected.getName().equals(selectedSkinName)) {
+ return selected.getBasePath() + "/" + selected.getThumbnailPath();
+ }
+ }
}
}
return null;
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java Mon Jan 17 00:45:38 2005
@@ -94,7 +94,7 @@
Boolean addParams = (Boolean)this.getConfiguration(coplet, "appendParameters");
if ( addParams != null && addParams.booleanValue() ) {
final StringBuffer uri = new StringBuffer(event.getLink());
- boolean hasParams = (uri.indexOf("?") != -1);
+ boolean hasParams = (uri.toString().indexOf("?") != -1);
// append parameters - if any
final Map objectModel = ContextHelper.getObjectModel(this.context);
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/event/aspect/impl/RequestParameterEventAspect.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/event/aspect/impl/RequestParameterEventAspect.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/event/aspect/impl/RequestParameterEventAspect.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/event/aspect/impl/RequestParameterEventAspect.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/event/aspect/impl/RequestParameterEventAspect.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/event/aspect/impl/RequestParameterEventAspect.java Mon Jan 17 00:45:38 2005
@@ -54,12 +54,10 @@
}
} else {
List list = (List) request.getAttribute("org.apache.cocoon.portal." + parameterName);
- if (list != null)
- {
+ if (list != null) {
Event[] events = (Event[]) list.toArray(new Event[0]);
final Publisher publisher = context.getEventPublisher();
- for (int i = 0; i < events.length; i++)
- {
+ for (int i = 0; i < events.length; i++) {
publisher.publish(events[i]);
}
}
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/DefaultLinkService.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/DefaultLinkService.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/DefaultLinkService.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/DefaultLinkService.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/DefaultLinkService.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/DefaultLinkService.java Mon Jan 17 00:45:38 2005
@@ -141,8 +141,7 @@
if (!comparableEvent || !current.equalsEvent((ComparableEvent) event)) {
if (hasParams) {
buffer.append('&');
- }
- else {
+ } else {
buffer.append('?');
}
buffer.append((String) objects[1]).append('=').append(SourceUtil.encode((String) objects[2]));
@@ -208,8 +207,7 @@
if (!found) {
if (hasParams) {
buffer.append('&');
- }
- else {
+ } else {
buffer.append('?');
}
buffer.append((String) objects[1]).append('=').append(SourceUtil.encode((String) objects[2]));
@@ -223,12 +221,10 @@
final Object current = iter.next();
if (current instanceof Event) {
hasParams = this.addEvent(buffer, (Event) current, hasParams);
- }
- else if (current instanceof ParameterDescription) {
+ } else if ( current instanceof ParameterDescription ) {
if (hasParams) {
buffer.append('&');
- }
- else {
+ } else {
buffer.append('?');
hasParams = true;
}
@@ -388,4 +384,4 @@
}
return parameterName;
}
-}
\ No newline at end of file
+}
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/AbstractLayout.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/AbstractLayout.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/AbstractLayout.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/AbstractLayout.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/AbstractLayout.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/AbstractLayout.java Mon Jan 17 00:45:38 2005
@@ -42,13 +42,6 @@
protected Map parameters = new LinkedMap();
- /*
- * Default constructor
- */
- public AbstractLayout() {
-
- }
-
/* (non-Javadoc)
* @see org.apache.cocoon.portal.layout.Parameters#getParameters()
*/
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/Item.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/Item.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/Item.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/Item.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/Item.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/Item.java Mon Jan 17 00:45:38 2005
@@ -43,8 +43,10 @@
*/
public final void setLayout(Layout layout) {
this.layout = layout;
+ if(layout != null) {
layout.setParent(this);
}
+ }
public final CompositeLayout getParent() {
return this.parentLayout;
@@ -71,6 +73,7 @@
Item clone = (Item)this.clone();
if ( this.layout != null ) {
clone.layout = this.layout.copy();
+ clone.layout.setParent(clone);
}
clone.parentLayout = parent;
return clone;
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractCompositeAspect.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractCompositeAspect.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractCompositeAspect.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractCompositeAspect.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractCompositeAspect.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractCompositeAspect.java Mon Jan 17 00:45:38 2005
@@ -40,7 +40,7 @@
* @author <a href="mailto:cziegeler@s-und-n.de">Carsten Ziegeler</a>
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
*
- * @version CVS $Id: AbstractCompositeAspect.java,v 1.7 2004/04/25 20:09:34 haul Exp $
+ * @version CVS $Id$
*/
public abstract class AbstractCompositeAspect
extends AbstractAspect {
@@ -81,9 +81,11 @@
* renderer for a layout to render it.
*/
protected void processLayout(Layout layout, PortalService service, ContentHandler handler) throws SAXException {
- final String rendererName = layout.getRendererName();
- final Renderer renderer = service.getComponentManager().getRenderer(rendererName);
- renderer.toSAX(layout, service, handler);
+ if ( layout != null ) {
+ final String rendererName = layout.getRendererName();
+ final Renderer renderer = service.getComponentManager().getRenderer(rendererName);
+ renderer.toSAX(layout, service, handler);
+ }
}
}
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java Mon Jan 17 00:45:38 2005
@@ -116,14 +116,6 @@
Collection getCopletDatas();
/**
- * Copy the current (default) layout and store it under
- * the provided key.
- * The copy includes copying of layout objects (with attached
- * items) and coplet instance datas.
- */
- Layout copyProfile(String layoutKey);
-
- /**
* Store the provided profile under the layoutKey.
* This method can be used to overwrite a profile with another
* one.
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java Mon Jan 17 00:45:38 2005
@@ -108,17 +108,4 @@
// overwrite in subclass
}
- /* (non-Javadoc)
- * @see org.apache.cocoon.portal.profile.ProfileManager#copyProfile(java.lang.String)
- */
- public Layout copyProfile(String layoutKey) {
- throw new RuntimeException("Copy profile is not implemented.");
- }
-
- /* (non-Javadoc)
- * @see org.apache.cocoon.portal.profile.ProfileManager#storeProfile(org.apache.cocoon.portal.layout.Layout, java.lang.String)
- */
- public void storeProfile(Layout rootLayout, String layoutKey) {
- throw new RuntimeException("Store profile is not implemented.");
- }
}
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractUserProfileManager.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractUserProfileManager.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractUserProfileManager.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractUserProfileManager.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractUserProfileManager.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractUserProfileManager.java Mon Jan 17 00:45:38 2005
@@ -411,4 +411,25 @@
}
}
+ /* (non-Javadoc)
+ * @see org.apache.cocoon.portal.profile.ProfileManager#storeProfile(org.apache.cocoon.portal.layout.Layout, java.lang.String)
+ */
+ public void storeProfile(Layout rootLayout, String layoutKey) {
+ PortalService service = null;
+
+ try {
+ service = (PortalService) this.manager.lookup(PortalService.ROLE);
+ if ( null == layoutKey ) {
+ layoutKey = service.getDefaultLayoutKey();
+ }
+
+ final String layoutAttributeKey = "Layout:" + layoutKey;
+
+ service.setAttribute(layoutAttributeKey, rootLayout);
+ } catch (Exception ce) {
+ throw new CascadingRuntimeException("Exception during loading of profile.", ce);
+ } finally {
+ this.manager.release(service);
+ }
+ }
}
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java?view=diff&rev=125403&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java&r1=125402&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java&r2=125403
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java Mon Jan 17 00:45:38 2005
@@ -364,4 +364,12 @@
this.manager.release(service);
}
}
+
+
+ /* (non-Javadoc)
+ * @see org.apache.cocoon.portal.profile.ProfileManager#storeProfile(org.apache.cocoon.portal.layout.Layout, java.lang.String)
+ */
+ public void storeProfile(Layout rootLayout, String layoutKey) {
+ throw new RuntimeException("The static profile manager does not support the storeProfile() method.");
+ }
}