nicolaken    02/04/08 11:21:51

  Modified:    
src/java/org/apache/cocoon/components/elementprocessor/impl/poi/hssf/elements
                        EPStyle.java
  Log:
  [PATCH] Data Format support for HSSF Serializer submitted by
  [EMAIL PROTECTED] (Andy Oliver) Bug#: 7830
  
  Revision  Changes    Path
  1.4       +30 -1     
xml-cocoon2/src/java/org/apache/cocoon/components/elementprocessor/impl/poi/hssf/elements/EPStyle.java
  
  Index: EPStyle.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/elementprocessor/impl/poi/hssf/elements/EPStyle.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- EPStyle.java      7 Mar 2002 07:50:09 -0000       1.3
  +++ EPStyle.java      8 Apr 2002 18:21:50 -0000       1.4
  @@ -201,6 +201,15 @@
               }
               style.setWrapText(getWrapText());
               style.setLocked(true);
  +            
  +            String format = getFormat();
  +            if (format != null) {
  +                format = kludgeForGnumericMisformats(format);
  +                short nformat = 
org.apache.poi.hssf.usermodel.HSSFDataFormat.getFormat(format);
  +                getLogger().debug("setting format to "+ nformat);
  +                style.setDataFormat(nformat);
  +             }
  +             
           } else {
               
               invalid = true;
  @@ -625,5 +634,25 @@
           }
           return retval;
      }
  -    
  +
  +    /**
  +     * Takes in a Gnumeric format string and applies some rules to it.  Some
  +     * versions of Gnumeric seem to leave off the first parenthesis which 
  +     * causes them not to match the Excel-style format string.  (which of course
  +     * makes it a little hard to match)
  +     */
  +    private String kludgeForGnumericMisformats(String format) {        
  +        String retval = format;
  +        getLogger().debug("going out of the format kludger "+ retval);        
  +        getLogger().debug("first )="+format.indexOf(')'));
  +        getLogger().debug("first (="+format.indexOf('('));
  +        if ( (format.indexOf(')') < format.indexOf('(')) && 
  +             (format.indexOf(')') != -1 )
  +             ) {
  +            retval = "("+format;
  +        }
  +        getLogger().debug("going out of the format kludger "+ retval);        
  +        return retval;
  +    }    
  +   
   }   // end public class EPStyle
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to