Skip to content

Commit

Permalink
Test Member Properties
Browse files Browse the repository at this point in the history
[git-p4: depot-paths = "//open/mondrian/": change = 153]
  • Loading branch information
Andreas Voss committed Sep 17, 2002
1 parent 642c108 commit 0efac28
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 15 deletions.
43 changes: 29 additions & 14 deletions src/main/mondrian/web/taglib/DOMBuilder.java
Expand Up @@ -11,28 +11,26 @@
*/
package mondrian.web.taglib;

import javax.servlet.http.HttpSession;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import mondrian.olap.Result;
import java.io.StringReader;

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.CDATASection;
import mondrian.olap.Axis;
import mondrian.olap.Position;
import javax.xml.transform.TransformerFactory;
import java.io.StringReader;
import javax.xml.transform.Templates;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import mondrian.olap.Member;

import mondrian.olap.Axis;
import mondrian.olap.Cell;
import java.util.Map;
import java.util.HashMap;
import mondrian.olap.Member;
import mondrian.olap.Position;
import mondrian.olap.Property;
import mondrian.olap.Result;
import org.w3c.dom.CDATASection;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

/**
* transforms a mondrian result into a DOM
Expand Down Expand Up @@ -291,9 +289,26 @@ private Element createMemberElem(String name, Element parent, Member m) {
e.setAttribute("uname", m.getUniqueName());
e.setAttribute("colspan", "1");
e.setAttribute("rowspan", "1");

// add properties to dom tree
addMemberProperties(m, e);

return e;
}

private void addMemberProperties(Member m, Element e) {
Property[] props = m.getLevel().getProperties();
if (props != null) {
for (int i = 0; i < props.length; i++) {
String propName = props[i].getName();
String propValue = "" + m.getProperty(propName);
Element propElem = elem("property", e);
propElem.setAttribute("name", propName);
propElem.setAttribute("value", propValue);
}
}
}

private Element elem(String name, Element parent) {
Element elem = factory.createElement(name);
parent.appendChild(elem);
Expand Down
3 changes: 2 additions & 1 deletion src/main/mondrian/web/taglib/TransformTag.java
Expand Up @@ -58,8 +58,9 @@ public int doEndTag() throws javax.servlet.jsp.JspException {
Transformer transformer = ar.getTransformer(xsltURI, xsltCache);
transformer.transform(new DOMSource(doc), new StreamResult(pageContext.getOut()));
}
catch (TransformerException e) {
catch (Exception e) {
e.printStackTrace();
throw new JspException(e);
}
return EVAL_PAGE;
}
Expand Down
12 changes: 12 additions & 0 deletions webapp/WEB-INF/mdxtable.xsl
Expand Up @@ -102,6 +102,7 @@ td.cell-odd {
<xsl:template match="column-heading">
<th nowrap="nowrap" class="column-heading" colspan="{@colspan}" rowspan="{@rowspan}">
<xsl:value-of select="@caption"/>
<xsl:apply-templates select="property"/>
</th>
</xsl:template>

Expand All @@ -110,9 +111,20 @@ td.cell-odd {
<th align="left" nowrap="nowrap" class="row-heading-{@style}" colspan="{@colspan}" rowspan="{@rowspan}">
<!--xsl:value-of select="@depth"/ -->
<xsl:value-of select="@caption"/>
<xsl:apply-templates select="property"/>
</th>
</xsl:template>

<xsl:template match="property">
<!--
<xsl:text>[</xsl:text>
<xsl:value-of select="@name"/>
<xsl:text>=</xsl:text>
<xsl:value-of select="@value"/>
<xsl:text>]</xsl:text>
-->
</xsl:template>


<xsl:template match="cell">
<td nowrap="nowrap" class="cell-{@style}" align="right">
Expand Down

0 comments on commit 0efac28

Please sign in to comment.