You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by jo...@apache.org on 2006/04/11 14:55:59 UTC
svn commit: r393208 - in /lenya/branches/BRANCH_1_2_X/src:
java/org/apache/lenya/cms/cocoon/generation/
java/org/apache/lenya/cms/publication/ webapp/lenya/content/info/
webapp/lenya/xslt/info/ webapp/lenya/xslt/navigation/
Author: josias
Date: Tue Apr 11 05:55:57 2006
New Revision: 393208
URL: http://svn.apache.org/viewcvs?rev=393208&view=rev
Log:
allow a href attribute in the sitetree for each language version of a document. the attribute is used to create the link in the menu and the tabs. its value is displayed in the overview tab of the site area. fixes bug #39165
Modified:
lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/generation/SiteTreeGenerator.java
lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/DefaultSiteTree.java
lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/Label.java
lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/SiteTreeNode.java
lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/SiteTreeNodeImpl.java
lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/info/overview.xsp
lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/info/info.xsl
lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/navigation/menu.xsl
lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/navigation/tabs.xsl
Modified: lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/generation/SiteTreeGenerator.java
URL: http://svn.apache.org/viewcvs/lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/generation/SiteTreeGenerator.java?rev=393208&r1=393207&r2=393208&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/generation/SiteTreeGenerator.java (original)
+++ lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/generation/SiteTreeGenerator.java Tue Apr 11 05:55:57 2006
@@ -174,6 +174,9 @@
atts.clear();
atts.addAttribute(NamespaceSupport.XMLNS, LANG_ATTRIBUTE, Q_LANG_ATTRIBUTE, CDATA, label
.getLanguage());
+ if (label.getHref() != null) {
+ atts.addAttribute("", HREF_ATTRIBUTE, HREF_ATTRIBUTE, CDATA, label.getHref());
+ }
this.contentHandler
.startElement(SiteTree.NAMESPACE_URI, LABEL_ELEMENT, LABEL_ELEMENT, atts);
Modified: lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/DefaultSiteTree.java
URL: http://svn.apache.org/viewcvs/lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/DefaultSiteTree.java?rev=393208&r1=393207&r2=393208&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/DefaultSiteTree.java (original)
+++ lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/DefaultSiteTree.java Tue Apr 11 05:55:57 2006
@@ -343,18 +343,6 @@
child.setAttribute(SiteTreeNodeImpl.LINK_ATTRIBUTE_NAME, "true");
}
- for (int i = 0; i < labels.length; i++) {
- String labelName = labels[i].getLabel();
- Element label = helper.createElement(SiteTreeNodeImpl.LABEL_NAME, labelName);
- String labelLanguage = labels[i].getLanguage();
-
- if ((labelLanguage != null) && (labelLanguage.length() > 0)) {
- label.setAttribute(SiteTreeNodeImpl.LANGUAGE_ATTRIBUTE_NAME, labelLanguage);
- }
-
- child.appendChild(label);
- }
-
// Add Node
if (refDocumentId != null && !refDocumentId.equals("")) {
Node nextSibling = getNodeInternal(refDocumentId);
@@ -366,6 +354,13 @@
} else {
parentNode.appendChild(child);
}
+
+ // Add labels to the node
+ SiteTreeNode siteTreeNode = new SiteTreeNodeImpl(child, this);
+ for (int i = 0; i < labels.length; i++) {
+ siteTreeNode.addLabel(labels[i]);
+ }
+
log.debug("Tree has been modified: " + document.getDocumentElement());
}
/**
Modified: lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/Label.java
URL: http://svn.apache.org/viewcvs/lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/Label.java?rev=393208&r1=393207&r2=393208&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/Label.java (original)
+++ lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/Label.java Tue Apr 11 05:55:57 2006
@@ -25,6 +25,7 @@
public class Label {
private String label = null;
private String language = null;
+ private String href = null;
/**
* Creates a new Label object without language.
@@ -72,6 +73,22 @@
public String getLanguage() {
return language;
+ }
+
+ /**
+ * Get the href of this label.
+ *
+ * @return the href.
+ */
+ public String getHref() {
+ return this.href;
+ }
+
+ /**
+ * Set the href of this label.
+ */
+ public void setHref(String href) {
+ this.href = href;
}
/** (non-Javadoc)
Modified: lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/SiteTreeNode.java
URL: http://svn.apache.org/viewcvs/lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/SiteTreeNode.java?rev=393208&r1=393207&r2=393208&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/SiteTreeNode.java (original)
+++ lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/SiteTreeNode.java Tue Apr 11 05:55:57 2006
@@ -113,6 +113,7 @@
* Get the href of this node.
*
* @return the href.
+ * @deprecated use the href attribute of the label instead
*/
String getHref();
Modified: lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/SiteTreeNodeImpl.java
URL: http://svn.apache.org/viewcvs/lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/SiteTreeNodeImpl.java?rev=393208&r1=393207&r2=393208&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/SiteTreeNodeImpl.java (original)
+++ lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/SiteTreeNodeImpl.java Tue Apr 11 05:55:57 2006
@@ -167,7 +167,15 @@
labelLanguage = languageAttribute.getNodeValue();
}
- labels.add(new Label(labelName, labelLanguage));
+ Label label = new Label(labelName, labelLanguage);
+
+ Node hrefAttribute =
+ child.getAttributes().getNamedItem(HREF_ATTRIBUTE_NAME);
+
+ if (hrefAttribute != null) {
+ label.setHref(hrefAttribute.getNodeValue());
+ }
+ labels.add(label);
}
}
}
@@ -210,6 +218,9 @@
Element labelElem = helper.createElement(SiteTreeNodeImpl.LABEL_NAME, label.getLabel());
labelElem.setAttribute(SiteTreeNodeImpl.LANGUAGE_ATTRIBUTE_NAME, label.getLanguage());
+ if (label.getHref() != null) {
+ labelElem.setAttribute(SiteTreeNodeImpl.HREF_ATTRIBUTE_NAME, label.getHref());
+ }
synchronized (sitetree) {
node.insertBefore(labelElem, node.getFirstChild());
}
Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/info/overview.xsp
URL: http://svn.apache.org/viewcvs/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/info/overview.xsp?rev=393208&r1=393207&r2=393208&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/info/overview.xsp (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/info/overview.xsp Tue Apr 11 05:55:57 2006
@@ -48,10 +48,13 @@
String identifier = null;
final Document doc = (Document)<input:get-attribute module="page-envelope" as="object" name="document"/>;
String visibility = "visible";
+ String href = "";
try {
SiteTreeNode node = doc.getPublication().getTree(doc.getArea()).getNode(doc.getId());
if (!node.visibleInNav()) visibility = "hidden";
+ href = node.getLabel(doc.getLanguage()).getHref();
+ if (href == null) href = "";
} catch(SiteTreeException e) {
throw new ProcessingException(e);
}
@@ -111,6 +114,7 @@
<lenya-info:workflow-state><input:get-attribute module="workflow" as="string" name="state"/></lenya-info:workflow-state>
<lenya-info:is-live><input:get-attribute module="workflow" as="string" name="variable.is_live"/></lenya-info:is-live>
<lenya-info:visibleinnav><xsp:expr>visibility</xsp:expr></lenya-info:visibleinnav>
+ <lenya-info:href><xsp:expr>href</xsp:expr></lenya-info:href>
<lenya-info:identifier><xsp:expr>identifier</xsp:expr></lenya-info:identifier>
}
Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/info/info.xsl
URL: http://svn.apache.org/viewcvs/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/info/info.xsl?rev=393208&r1=393207&r2=393208&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/info/info.xsl (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/info/info.xsl Tue Apr 11 05:55:57 2006
@@ -113,6 +113,9 @@
<tr><td class="lenya-entry-caption"><i18n:text>Document ID</i18n:text>:</td><td><xsl:value-of select="lenya-info:documentid"/></td></tr>
<tr><td class="lenya-entry-caption"><i18n:text>Resource Type</i18n:text>:</td><td><xsl:value-of select="lenya-info:resource-type"/></td></tr>
<tr><td class="lenya-entry-caption"><i18n:text>Visibility in navigation</i18n:text>:</td><td><i18n:text><xsl:value-of select="lenya-info:visibleinnav"/></i18n:text></td></tr>
+ <xsl:if test="lenya-info:href != ''">
+ <tr><td class="lenya-entry-caption"><i18n:text>Navigation Link</i18n:text>:</td><td><i18n:text><xsl:value-of select="lenya-info:href"/></i18n:text></td></tr>
+ </xsl:if>
<xsl:if test="$area='trash'">
<tr><td class="lenya-entry-caption"><i18n:text>Original Path</i18n:text>:</td><td><xsl:value-of select="lenya-info:identifier"/></td></tr>
Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/navigation/menu.xsl
URL: http://svn.apache.org/viewcvs/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/navigation/menu.xsl?rev=393208&r1=393207&r2=393208&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/navigation/menu.xsl (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/navigation/menu.xsl Tue Apr 11 05:55:57 2006
@@ -65,7 +65,14 @@
<xsl:template name="item-default">
<div class="menuitem-{count(ancestor-or-self::nav:node)}">
- <a href="{@href}"><xsl:apply-templates select="nav:label"/></a>
+ <xsl:choose>
+ <xsl:when test="nav:label/@href">
+ <a href="{nav:label/@href}"><xsl:apply-templates select="nav:label"/></a>
+ </xsl:when>
+ <xsl:otherwise>
+ <a href="{@href}"><xsl:apply-templates select="nav:label"/></a>
+ </xsl:otherwise>
+ </xsl:choose>
</div>
</xsl:template>
Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/navigation/tabs.xsl
URL: http://svn.apache.org/viewcvs/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/navigation/tabs.xsl?rev=393208&r1=393207&r2=393208&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/navigation/tabs.xsl (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/navigation/tabs.xsl Tue Apr 11 05:55:57 2006
@@ -64,6 +64,9 @@
<xsl:template name="label">
<xsl:choose>
<xsl:when test="@current='true'"><xsl:apply-templates select="nav:label"/></xsl:when>
+ <xsl:when test="nav:label/@href">
+ <a href="{nav:label/@href}"><xsl:apply-templates select="nav:label"/></a>
+ </xsl:when>
<xsl:otherwise><a href="{@href}"><xsl:apply-templates select="nav:label"/></a></xsl:otherwise>
</xsl:choose>
</xsl:template>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org