<br><font size=2 face="sans-serif">Julian,</font>
<br>
<br><font size=2 face="sans-serif">We are using XMLA in the deployment
scenario. This is what we have done to post process the rolap result in
xmla pipeline</font>
<br>
<br><font size=2 face="sans-serif">- Extend XmlaServlet</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Override
&quot;protected XmlaHandler getXmlaHandler()&quot; to return our own XmlaHandler</font>
<br>
<br><font size=2 face="sans-serif">- Extend XmlaHandler</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Override
&quot;protected Connection getConnection(final DataSourcesConfig.Catalog
catalog, final Role role, final String roleName) throws XmlaException&quot;
to return our own RolapConnection</font>
<br>
<br><font size=2 face="sans-serif">- Implement Connection, delegate to
RolapConnection</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Wrap
&quot;public Result execute(Query query)&quot; to return our own Result.
Delegate all other method calls to RolapConnection. </font>
<br>
<br>
<br><font size=2 face="sans-serif">- Extend ResultBase to do the Result
post processing as required. Use in the Connection execute method</font>
<br>
<br><font size=2 face="sans-serif">- Define the classes that need to access
RolapCell (package visibility) in package mondrian.rolap</font>
<br>
<br><font size=2 face="sans-serif">- Use reflection to invoke getMembers
on RolapCell. Required to determine whether the cell value is a result
of literal calculated member evaluation</font>
<br>
<br>
<br><font size=2 face="sans-serif">This takes care of the post processing
the result in Xmla pipeline. We also use Mdx servlet in our development
setup for simplifying the development cycle. We will need to handle the
post processing separately for this</font>
<br>
<br>
<br><font size=2 face="sans-serif">In the post I mentioned about removing
final</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; protected
final Axis[] axes; // remove final </font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; </font>
<br><font size=2 face="sans-serif">This is not required</font>
<br>
<br>
<br><font size=2 face="sans-serif">It doesn't feel very clean the way we
have made changes from the end of the xmla processing pipeline, added the
new classes in mondrian.rolap package and used reflection in one case.
It will be much simpler and cleaner if we could intercept the result and
change visibility, accessibility of few things. Hence the proposal. </font>
<br>
<br>
<br><font size=2 face="sans-serif">-Ajit</font>