You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by rg...@apache.org on 2005/10/07 09:29:31 UTC
svn commit: r307043 - in
/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal: ./ impl/ layout/
layout/impl/ profile/ profile/impl/ util/
Author: rgoers
Date: Fri Oct 7 00:29:21 2005
New Revision: 307043
URL: http://svn.apache.org/viewcvs?rev=307043&view=rev
Log:
<action dev='RG' type='fix' fixes-bug='34802' due-to='Roy Huang' due-to-email='roy_huang@nbmgroup.com'>
PageLabelLinkService generated the wrong url when using 3 layer tabs with showallnav.
</action>
Added:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalException.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutException.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/ProfileException.java
Removed:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/ProfileException.java
Modified:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelLinkService.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelManager.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutFactory.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/impl/DefaultLayoutFactory.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/AuthenticationProfileManager.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletBaseDataReferenceFieldHandler.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletDataReferenceFieldHandler.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletInstanceDataReferenceFieldHandler.java
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalException.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalException.java?rev=307043&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalException.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalException.java Fri Oct 7 00:29:21 2005
@@ -0,0 +1,40 @@
+/*
+ * Copyright 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.portal;
+
+/**
+ *
+ * @author <a href="mailto:rgoers@apache.org">Ralph Goers</a>
+ *
+ * @version $Id: $
+ */
+public class PortalException extends RuntimeException {
+ public PortalException() {
+ super();
+ }
+
+ public PortalException(String message) {
+ super(message);
+ }
+
+ public PortalException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public PortalException(Throwable cause) {
+ super(cause);
+ }
+}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelLinkService.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelLinkService.java?rev=307043&r1=307042&r2=307043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelLinkService.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelLinkService.java Fri Oct 7 00:29:21 2005
@@ -161,7 +161,14 @@
value.append('.');
}
if (item instanceof NamedItem) {
- value.append(((NamedItem)item).getName());
+ if(value.length()>0) {
+ value.append(((NamedItem)item).getName());
+ }
+ else {
+ StringBuffer key = new StringBuffer("");
+ getKey(item, key);
+ value.append(key.toString());
+ }
} else {
value.append(Integer.toString(i));
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelManager.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelManager.java?rev=307043&r1=307042&r2=307043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelManager.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelManager.java Fri Oct 7 00:29:21 2005
@@ -31,6 +31,7 @@
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.cocoon.portal.PortalService;
+import org.apache.cocoon.portal.PortalException;
import org.apache.cocoon.portal.layout.Layout;
import org.apache.cocoon.portal.layout.CompositeLayout;
import org.apache.cocoon.portal.layout.Item;
@@ -161,7 +162,7 @@
return map;
} catch (ServiceException ce) {
- throw new CascadingRuntimeException("Unable to lookup component.", ce);
+ throw new PortalException("Unable to lookup component.", ce);
} finally {
this.manager.release(service);
}
@@ -193,7 +194,7 @@
return list;
} catch (ServiceException ce) {
- throw new CascadingRuntimeException("Unable to lookup component.", ce);
+ throw new PortalException("Unable to lookup component.", ce);
} finally {
this.manager.release(service);
}
@@ -221,7 +222,7 @@
return labels;
}
catch (ServiceException ce) {
- throw new CascadingRuntimeException("Unable to lookup component.", ce);
+ throw new PortalException("Unable to lookup component.", ce);
}
finally {
this.manager.release(service);
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java?rev=307043&r1=307042&r2=307043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java Fri Oct 7 00:29:21 2005
@@ -160,8 +160,12 @@
if ( portalLayout == null ) {
portalLayout = this.portalService.getComponentManager().getProfileManager().getPortalLayout(null, null);
}
+ if ( portalLayout == null) {
+ getLogger().error("No Layout to render");
+ return;
+ }
- Renderer portalLayoutRenderer = this.portalService.getComponentManager().getRenderer( portalLayout.getRendererName());
+ Renderer portalLayoutRenderer = this.portalService.getComponentManager().getRenderer( portalLayout.getRendererName());
ch.startDocument();
portalLayoutRenderer.toSAX(portalLayout, this.portalService, ch);
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutException.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutException.java?rev=307043&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutException.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutException.java Fri Oct 7 00:29:21 2005
@@ -0,0 +1,43 @@
+/*
+ * Copyright 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.portal.layout;
+
+import org.apache.cocoon.portal.PortalException;
+
+/**
+ *
+ * @author <a href="mailto:rgoers@apache.org">Ralph Goers</a>
+ *
+ * @version $Id: $
+ */
+public class LayoutException extends PortalException {
+ public LayoutException() {
+ super();
+ }
+
+ public LayoutException(String message) {
+ super(message);
+ }
+
+ public LayoutException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public LayoutException(Throwable cause) {
+ super(cause);
+ }
+}
+
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutFactory.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutFactory.java?rev=307043&r1=307042&r2=307043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutFactory.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutFactory.java Fri Oct 7 00:29:21 2005
@@ -25,7 +25,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: LayoutFactory.java,v 1.5 2004/03/05 13:02:13 bdelacretaz Exp $
+ * @version CVS $Id$
*/
public interface LayoutFactory {
@@ -34,8 +34,7 @@
/**
* This method is invoked for a newly loaded profile
*/
- void prepareLayout(Layout layout)
- throws ProcessingException;
+ void prepareLayout(Layout layout);
/**
* Create a new layout instance.
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/impl/DefaultLayoutFactory.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/impl/DefaultLayoutFactory.java?rev=307043&r1=307042&r2=307043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/impl/DefaultLayoutFactory.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/impl/DefaultLayoutFactory.java Fri Oct 7 00:29:21 2005
@@ -51,6 +51,7 @@
import org.apache.cocoon.portal.layout.Item;
import org.apache.cocoon.portal.layout.Layout;
import org.apache.cocoon.portal.layout.LayoutFactory;
+import org.apache.cocoon.portal.layout.LayoutException;
import org.apache.cocoon.portal.layout.renderer.Renderer;
import org.apache.cocoon.portal.profile.ProfileManager;
import org.apache.cocoon.util.ClassUtils;
@@ -257,20 +258,19 @@
/* (non-Javadoc)
* @see org.apache.cocoon.portal.layout.LayoutFactory#prepareLayout(org.apache.cocoon.portal.layout.Layout)
*/
- public void prepareLayout(Layout layout)
- throws ProcessingException {
+ public void prepareLayout(Layout layout){
if ( layout != null ) {
this.init();
final String layoutName = layout.getName();
if ( layoutName == null ) {
- throw new ProcessingException("Layout '"+layout.getId()+"' has no associated name.");
+ throw new LayoutException("Layout '"+layout.getId()+"' has no associated name.");
}
Object[] o = (Object[]) this.layouts.get( layoutName );
if ( o == null ) {
- throw new ProcessingException("LayoutDescription with name '" + layoutName + "' not found.");
+ throw new LayoutException("LayoutDescription with name '" + layoutName + "' not found.");
}
DefaultLayoutDescription layoutDescription = (DefaultLayoutDescription)o[0];
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/ProfileException.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/ProfileException.java?rev=307043&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/ProfileException.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/ProfileException.java Fri Oct 7 00:29:21 2005
@@ -0,0 +1,42 @@
+/*
+ * Copyright 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.portal.profile;
+
+import org.apache.cocoon.portal.PortalException;
+
+/**
+ *
+ * @author <a href="mailto:rgoers@apache.org">Ralph Goers</a>
+ *
+ * @version $Id: $
+ */
+public class ProfileException extends PortalException {
+ public ProfileException() {
+ super();
+ }
+
+ public ProfileException(String message) {
+ super(message);
+ }
+
+ public ProfileException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public ProfileException(Throwable cause) {
+ super(cause);
+ }
+}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/AuthenticationProfileManager.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/AuthenticationProfileManager.java?rev=307043&r1=307042&r2=307043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/AuthenticationProfileManager.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/AuthenticationProfileManager.java Fri Oct 7 00:29:21 2005
@@ -35,7 +35,7 @@
import org.apache.cocoon.portal.profile.PortalUser;
import org.apache.cocoon.portal.profile.ProfileLS;
import org.apache.cocoon.portal.util.DeltaApplicableReferencesAdjustable;
-import org.apache.cocoon.portal.util.ProfileException;
+import org.apache.cocoon.portal.profile.ProfileException;
import org.apache.cocoon.webapps.authentication.AuthenticationManager;
import org.apache.cocoon.webapps.authentication.configuration.ApplicationConfiguration;
import org.apache.cocoon.webapps.authentication.user.RequestState;
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java?rev=307043&r1=307042&r2=307043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java Fri Oct 7 00:29:21 2005
@@ -41,6 +41,7 @@
import org.apache.cocoon.portal.layout.Layout;
import org.apache.cocoon.portal.profile.PortalUser;
import org.apache.cocoon.portal.profile.ProfileLS;
+import org.apache.cocoon.portal.profile.ProfileException;
import org.apache.commons.collections.map.LinkedMap;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.excalibur.source.SourceNotFoundException;
@@ -311,11 +312,11 @@
try {
profile = this.loadProfile(layoutKey);
} catch (Exception e) {
- throw new CascadingRuntimeException("Unable to load profile: " + layoutKey, e);
+ throw new ProfileException("Unable to load profile: " + layoutKey, e);
}
}
if ( profile == null ) {
- throw new RuntimeException("Unable to load profile: " + layoutKey);
+ throw new ProfileException("Unable to load profile: " + layoutKey);
}
if ( layoutId != null ) {
return (Layout)profile.getLayouts().get(layoutId);
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletBaseDataReferenceFieldHandler.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletBaseDataReferenceFieldHandler.java?rev=307043&r1=307042&r2=307043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletBaseDataReferenceFieldHandler.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletBaseDataReferenceFieldHandler.java Fri Oct 7 00:29:21 2005
@@ -17,6 +17,7 @@
import org.apache.cocoon.portal.coplet.CopletBaseData;
import org.apache.cocoon.portal.coplet.CopletData;
+import org.apache.cocoon.portal.profile.ProfileException;
/**
* Field handler for external CopletBaseData references.
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletDataReferenceFieldHandler.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletDataReferenceFieldHandler.java?rev=307043&r1=307042&r2=307043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletDataReferenceFieldHandler.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletDataReferenceFieldHandler.java Fri Oct 7 00:29:21 2005
@@ -17,6 +17,7 @@
import org.apache.cocoon.portal.coplet.CopletData;
import org.apache.cocoon.portal.coplet.CopletInstanceData;
+import org.apache.cocoon.portal.profile.ProfileException;
/**
* Field handler for external CopletData references.
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletInstanceDataReferenceFieldHandler.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletInstanceDataReferenceFieldHandler.java?rev=307043&r1=307042&r2=307043&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletInstanceDataReferenceFieldHandler.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/CopletInstanceDataReferenceFieldHandler.java Fri Oct 7 00:29:21 2005
@@ -17,6 +17,7 @@
import org.apache.cocoon.portal.coplet.CopletInstanceData;
import org.apache.cocoon.portal.layout.impl.CopletLayout;
+import org.apache.cocoon.portal.profile.ProfileException;
/**
* Field handler for external CopletInstanceData references.