You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2007/10/29 18:45:45 UTC
svn commit: r589768 - in /lenya/trunk/src/java/org/apache/lenya/cms:
cocoon/components/modules/input/PageEnvelopeModule.java
publication/PageEnvelope.java
Author: andreas
Date: Mon Oct 29 10:45:43 2007
New Revision: 589768
URL: http://svn.apache.org/viewvc?rev=589768&view=rev
Log:
Added method PageEnvelope.getLanguage() and attribute 'language' to page envelope module which falls back to the default language if the document does not exist (useful for 404 pages).
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java
lenya/trunk/src/java/org/apache/lenya/cms/publication/PageEnvelope.java
Modified: lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java?rev=589768&r1=589767&r2=589768&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java Mon Oct 29 10:45:43 2007
@@ -50,7 +50,7 @@
public class PageEnvelopeModule extends AbstractPageEnvelopeModule {
protected static final String URI_PARAMETER_DOCTYPE = "doctype";
-
+
/**
* @see org.apache.cocoon.components.modules.input.InputModule#getAttribute(java.lang.String,
* org.apache.avalon.framework.configuration.Configuration,
@@ -84,6 +84,8 @@
value = StringUtils.join(envelope.getPublication().getLanguages(), ',');
} else if (name.equals(PageEnvelope.DEFAULT_LANGUAGE)) {
value = envelope.getPublication().getDefaultLanguage();
+ } else if (name.equals(PageEnvelope.LANGUAGE)) {
+ value = envelope.getLanguage();
} else if (name.equals(PageEnvelope.BREADCRUMB_PREFIX)) {
value = envelope.getPublication().getBreadcrumbPrefix();
} else if (name.equals(PageEnvelope.DOCUMENT_PATH)) {
Modified: lenya/trunk/src/java/org/apache/lenya/cms/publication/PageEnvelope.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/publication/PageEnvelope.java?rev=589768&r1=589767&r2=589768&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/publication/PageEnvelope.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/publication/PageEnvelope.java Mon Oct 29 10:45:43 2007
@@ -44,7 +44,7 @@
PageEnvelope.DOCUMENT_UUID, PageEnvelope.DOCUMENT_TYPE, PageEnvelope.DEFAULT_LANGUAGE,
PageEnvelope.DOCUMENT_LANGUAGE, PageEnvelope.DOCUMENT_LANGUAGES,
PageEnvelope.DOCUMENT_LANGUAGES_CSV, PageEnvelope.DOCUMENT_LASTMODIFIED,
- PageEnvelope.BREADCRUMB_PREFIX, PageEnvelope.SSL_PREFIX };
+ PageEnvelope.BREADCRUMB_PREFIX, PageEnvelope.SSL_PREFIX, PageEnvelope.LANGUAGE };
/**
* <code>PUBLICATION_ID</code> The publication id
*/
@@ -132,6 +132,11 @@
*/
public static final String DOCUMENT_LANGUAGE = "document-language";
/**
+ * This attribute returns the document language if the document exists, or the
+ * default language otherwise. This makes it suitable for 404 pages.
+ */
+ public static final String LANGUAGE = "language";
+ /**
* <code>DOCUMENT_LANGUAGES</code> The languages the current document is available in
*/
public static final String DOCUMENT_LANGUAGES = "document-languages";
@@ -303,6 +308,23 @@
*/
public void setDocument(Document _document) {
this.document = _document;
+ }
+
+ /**
+ * @return The document language or the default language if the document doesn't exist.
+ * @see #LANGUAGE
+ */
+ public String getLanguage() {
+ Document document = getDocument();
+ if (document == null) {
+ Publication pub = getPublication();
+ if (pub == null) {
+ throw new RuntimeException("The language attribute can't be used outside a publication.");
+ }
+ return pub.getDefaultLanguage();
+ } else {
+ return document.getLanguage();
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org