mmidy       00/08/07 14:45:35

  Modified:    java/src/org/apache/xalan/templates ElemNumber.java
  Log:
  Initialize character array if necessary
  
  Revision  Changes    Path
  1.3       +20 -8     
xml-xalan/java/src/org/apache/xalan/templates/ElemNumber.java
  
  Index: ElemNumber.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemNumber.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ElemNumber.java   2000/07/05 14:40:12     1.2
  +++ ElemNumber.java   2000/08/07 21:45:35     1.3
  @@ -450,7 +450,7 @@
       throws SAXException
     {
       if(TransformerImpl.S_DEBUG)
  -      transformer.getTraceManager().fireTraceEvent(sourceNode, mode, this);
  +      transformer.getTraceManager().fireTraceEvent(sourceNode, mode, this);  
  
   
       String countString = getCountString(transformer, sourceNode);
   
  @@ -1023,16 +1023,28 @@
                                                                                
   contextNode, this,
                                                                                
   new StringBuffer()) : null;
       switch(numberType)
  -    {
  +    {     
       case 'A':
  +      if (m_alphaCountTable == null)
  +      {  
  +        thisBundle = 
(XSLTResourceBundle)XSLTResourceBundle.loadResourceBundle( 
Constants.LANG_BUNDLE_NAME, getLocale(transformer, contextNode) );       
  +        char[] alphabet;
  +        alphabet= (char[]) thisBundle.getObject(Constants.LANG_ALPHABET);
  +        m_alphaCountTable = alphabet;
  +      }    
         int2alphaCount(listElement, m_alphaCountTable, formattedNumber);
         break;
  -    case 'a':
  -      {
  -        StringBuffer stringBuf = new StringBuffer();
  -        int2alphaCount(listElement, m_alphaCountTable, stringBuf);
  -        
formattedNumber.append(stringBuf.toString().toLowerCase(getLocale(transformer, 
contextNode)));
  -      }
  +    case 'a':      
  +      if (m_alphaCountTable == null)
  +      {  
  +        thisBundle = 
(XSLTResourceBundle)XSLTResourceBundle.loadResourceBundle( 
Constants.LANG_BUNDLE_NAME, getLocale(transformer, contextNode) );       
  +        char[] alphabet;
  +        alphabet= (char[]) thisBundle.getObject(Constants.LANG_ALPHABET);
  +        m_alphaCountTable = alphabet;
  +      }
  +      StringBuffer stringBuf = new StringBuffer();
  +      int2alphaCount(listElement, m_alphaCountTable, stringBuf);
  +      
formattedNumber.append(stringBuf.toString().toLowerCase(getLocale(transformer, 
contextNode)));      
         break;
       case 'I':
         formattedNumber.append( long2roman(listElement, true));
  
  
  

Reply via email to