Author: andreas
Date: Tue Aug 29 07:08:08 2006
New Revision: 438078
URL: http://svn.apache.org/viewvc?rev=438078&view=rev
Log:
Avoid NPE in menu XSP when document is null, return original source URI in
usecase when source document is not referenced in site structure.
Modified:
lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/DocumentUsecase.java
lenya/trunk/src/pubs/default/config/menus/generic.xsp
Modified:
lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/DocumentUsecase.java
URL:
http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/DocumentUsecase.java?rev=438078&r1=438077&r2=438078&view=diff
==============================================================================
---
lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/DocumentUsecase.java
(original)
+++
lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/DocumentUsecase.java
Tue Aug 29 07:08:08 2006
@@ -118,10 +118,11 @@
* @see org.apache.lenya.cms.usecase.AbstractUsecase#getSourceURL()
*/
public String getSourceURL() {
- if (getSourceDocument() == null) {
+ Document doc = getSourceDocument();
+ if (doc == null || !doc.hasLink()) {
return super.getSourceURL();
}
- return getSourceDocument().getCanonicalWebappURL();
+ return doc.getCanonicalWebappURL();
}
/**
Modified: lenya/trunk/src/pubs/default/config/menus/generic.xsp
URL:
http://svn.apache.org/viewvc/lenya/trunk/src/pubs/default/config/menus/generic.xsp?rev=438078&r1=438077&r2=438078&view=diff
==============================================================================
--- lenya/trunk/src/pubs/default/config/menus/generic.xsp (original)
+++ lenya/trunk/src/pubs/default/config/menus/generic.xsp Tue Aug 29 07:08:08
2006
@@ -41,8 +41,13 @@
Object documentObject = <input:get-attribute as="object"
module="page-envelope" name="document"/>;
Document document = null;
+ String visible = null;
if (documentObject != null && !"".equals(documentObject)) {
document = (Document) documentObject;
+
+ visible = <input:get-attribute module="doc-info" as="string">
+ <input:param name="name"><xsp:expr>document.getPublication().getId()
+ ":" + document.getArea() + ":" + document.getId() + ":" +
document.getLanguage() + ":visibleInNav"</xsp:expr></input:param>
+ </input:get-attribute>;
}
boolean isDocument = false;
@@ -55,9 +60,6 @@
throw new ProcessingException(e);
}
- String visible = <input:get-attribute module="doc-info" as="string">
- <input:param name="name"><xsp:expr>document.getPublication().getId() +
":" + document.getArea() + ":" + document.getId() + ":" +
document.getLanguage() + ":visibleInNav"</xsp:expr></input:param>
- </input:get-attribute>;
</xsp:logic>
|