nicolaken    02/03/06 23:50:09

  Modified:    
src/java/org/apache/cocoon/components/elementprocessor/impl/poi/hssf/elements
                        EPStyle.java
  Log:
  Fixed repeated value in cell bug. Patch by Mr. Andrew C. Oliver 
([EMAIL PROTECTED]).
  
  Revision  Changes    Path
  1.3       +67 -10    
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.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- EPStyle.java      6 Mar 2002 21:02:19 -0000       1.2
  +++ EPStyle.java      7 Mar 2002 07:50:09 -0000       1.3
  @@ -163,12 +163,15 @@
               Hashtable colorhash = sregion.getColorHash();
   
               HSSFCellStyle style = sregion.getStyle();
  -            style.setAlignment(getHorizontalAlignment().getCode());
  -            style.setVerticalAlignment(getVerticalAlignment().getCode());
  +            short cnvhalign = convertAlignment(getHorizontalAlignment().getCode());
  +            style.setAlignment(cnvhalign);
  +            short cnvvalign = convertVAlignment(getVerticalAlignment().getCode());  
          
  +            style.setVerticalAlignment(cnvvalign);
               style.setFillPattern((short)getShade());
  -
  -            if (getShade() == 1) { //normally this fill is set to true and the 
colors are "reversed" 
  -                                   //according to Gnumeric sources
  +            
  + 
  +            if (getShade() == 1) {   //TODO: change to constant when upgrade to new 
HSSF 
  +                                     //solid w/foreground, bg doesn't matter
                   getLogger().debug("shade = 1");
                   HSSFColor color = (HSSFColor) 
colorhash.get(getBackgroundColor().toString());
                   if (color == null) {
  @@ -202,11 +205,6 @@
               
               invalid = true;
           }
  -        
  -        
  -        
  -        
  -        //style.setFillForegroundColor(
       }    
       
   
  @@ -568,5 +566,64 @@
           return (!invalid);
       }
       
  +   /**
  +    * deal with mismatch between gnumeric align and Excel
  +    */
  +   private short convertAlignment(short alignment) {
  +        short retval=HSSFCellStyle.ALIGN_GENERAL; // its 0
  +
  +        switch (alignment) {
  +        case 1:
  +                retval = HSSFCellStyle.ALIGN_GENERAL;
  +        break;
  +        case 2:
  +                retval = HSSFCellStyle.ALIGN_LEFT;
  +        break;
  +        case 4:
  +                retval = HSSFCellStyle.ALIGN_RIGHT;
  +        break;
  +        case 8:
  +                retval = HSSFCellStyle.ALIGN_CENTER;
  +        break;
  +        case 16:
  +                retval = HSSFCellStyle.ALIGN_FILL;
  +       break;
  +        case 32:
  +                retval = HSSFCellStyle.ALIGN_JUSTIFY;
  +        break;
  +        case 64:
  +                retval = HSSFCellStyle.ALIGN_CENTER_SELECTION;
  +        break;
  +        default:
  +                retval = HSSFCellStyle.ALIGN_GENERAL;
  +        } 
  +
  +        return retval;
  +   }
  +
  +   /**
  +    * deal with mismatch between gnumeric valign and Excel
  +    */
  +   private short convertVAlignment(short alignment) {
  +        short retval=HSSFCellStyle.VERTICAL_TOP; // its 0
  +
  +        switch (alignment) {
  +        case 1:
  +                retval = HSSFCellStyle.VERTICAL_TOP;
  +        break;
  +        case 2:
  +                retval = HSSFCellStyle.VERTICAL_BOTTOM;
  +        break;
  +        case 4:
  +                retval = HSSFCellStyle.VERTICAL_CENTER;
  +        break;
  +        case 8:
  +                retval = HSSFCellStyle.VERTICAL_JUSTIFY;
  +        break;
  +        default:
  +                retval = HSSFCellStyle.VERTICAL_TOP;
  +        }
  +        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