<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18813"></HEAD>
<BODY>
<DIV><SPAN class=190445102-16092009><FONT color=#000080 size=2 
face="Lucida Sans">Matt,</FONT></SPAN></DIV>
<DIV><SPAN class=190445102-16092009><FONT color=#000080 size=2 
face="Lucida Sans"></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=190445102-16092009><FONT color=#000080 size=2 
face="Lucida Sans">See my comments on the bug.</FONT></SPAN></DIV>
<DIV><SPAN class=190445102-16092009><FONT color=#000080 size=2 
face="Lucida Sans"></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=190445102-16092009><A 
href="http://jira.pentaho.com/browse/MONDRIAN-620">http://jira.pentaho.com/browse/MONDRIAN-620</A></SPAN></DIV>
<DIV><SPAN class=190445102-16092009><FONT color=#000080 size=2 
face="Lucida Sans"></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=190445102-16092009><FONT color=#000080 size=2 
face="Lucida Sans">Julian</FONT></SPAN></DIV><BR>
<BLOCKQUOTE 
style="BORDER-LEFT: #000080 2px solid; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
  <DIV dir=ltr lang=en-us class=OutlookMessageHeader align=left>
  <HR tabIndex=-1>
  <FONT size=2 face=Tahoma><B>From:</B> mondrian-bounces@pentaho.org 
  [mailto:mondrian-bounces@pentaho.org] <B>On Behalf Of </B>Matt 
  Campbell<BR><B>Sent:</B> Tuesday, September 15, 2009 11:32 AM<BR><B>To:</B> 
  Mondrian developer mailing list<BR><B>Subject:</B> [Mondrian] MONDRIAN-620: 
  Incomplete format string<BR></FONT><BR></DIV>
  <DIV></DIV>I just entered MONDRIAN-620 for the following issue.&nbsp; Mondrian 
  supports a format string that follows a layout like this:&nbsp; 
  <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp; #,##0;(#,##0);0<BR><BR>Where the item to the 
  left is the format for positive numbers, the format in the middle is negative, 
  and the format to the right is Nil.<BR><BR>I discovered recently that if you 
  omit the Nil format string you can get an 
  ArrayIndexOutOfBoundsException.&nbsp; The following unit test shows this (it 
  uses checkFormat() from FormatTest):<BR><BR><BR>&nbsp;public void 
  testMissingNilFormat() <BR>&nbsp;&nbsp;&nbsp;&nbsp;{ 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;checkFormat(null, -0.02, 
  "#,##0;(#,##0)"); <BR>&nbsp;&nbsp;&nbsp;&nbsp;} 
  <BR><BR><BR>java.lang.ArrayIndexOutOfBoundsException: 2<BR>&nbsp;&nbsp;&nbsp; 
  at 
  mondrian.util.Format$AlternateFormat.format(Format.java:348)<BR>&nbsp;&nbsp;&nbsp; 
  at mondrian.util.Format.format(Format.java:2432)<BR>&nbsp;&nbsp;&nbsp; at 
  mondrian.util.Format.format(Format.java:2420)<BR>&nbsp;&nbsp;&nbsp; at 
  mondrian.util.FormatTest.checkFormat(FormatTest.java:404)<BR>&nbsp;&nbsp;&nbsp; 
  at 
  mondrian.util.FormatTest.testSmallNumber(FormatTest.java:249)<BR>&nbsp;&nbsp;&nbsp; 
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
  Method)<BR>&nbsp;&nbsp;&nbsp; at 
  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<BR>&nbsp;&nbsp;&nbsp; 
  at 
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<BR>&nbsp;&nbsp;&nbsp; 
  at 
  com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)<BR>&nbsp;&nbsp;&nbsp; 
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
  Method)<BR>&nbsp;&nbsp;&nbsp; at 
  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<BR>&nbsp;&nbsp;&nbsp; 
  at 
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<BR>&nbsp;&nbsp;&nbsp; 
  at 
  com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)<BR><BR>A 
  possible solution would be to use a default format string if none is 
  specified.&nbsp; Does that sound like a reasonable 
fix?<BR></BLOCKQUOTE></BODY></HTML>