ASF Bugzilla – Attachment 21818 Details for
Bug 30311
Conditional formatting not implemented
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Fixes and API improvements
patch8.txt (text/plain), 24.76 KB, created by
Dmitriy Kumshayev
on 2008-04-11 22:52:58 UTC
(
hide
)
Description:
Fixes and API improvements
Filename:
MIME Type:
Creator:
Dmitriy Kumshayev
Created:
2008-04-11 22:52:58 UTC
Size:
24.76 KB
patch
obsolete
>Index: C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFConditionalFormatting.java >=================================================================== >--- C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFConditionalFormatting.java (revision 646324) >+++ C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFConditionalFormatting.java (working copy) >@@ -50,34 +50,28 @@ > * To create a new Conditional Formatting set use the following approach: > * > * <PRE> >+ * >+ * // Define a Conditional Formatting rule, which triggers formatting >+ * // when cell's value is greater or equal than 100.0 and >+ * // applies patternFormatting defined below. >+ * HSSFConditionalFormattingRule rule = sheet.createConditionalFormattingRule( >+ * ComparisonOperator.GE, >+ * "100.0", // 1st formula >+ * null // 2nd formula is not used for comparison operator GE >+ * ); >+ * > * // Create pattern with red background >- * HSSFPatternFormatting patternFormatting = new HSSFPatternFormatting(); >+ * HSSFPatternFormatting patternFmt = rule.cretePatternFormatting(); > * patternFormatting.setFillBackgroundColor(HSSFColor.RED.index); > * >+ * // Define a region containing first column > * Region [] regions = > * { >- * // Define a region containing first column > * new Region(1,(short)1,-1,(short)1) > * }; > * >- * HSSFConditionalFormattingRule[] rules = >- * { >- * // Define a Conditional Formatting rule, which triggers formatting >- * // when cell's value is greater or equal than 100.0 and >- * // applies patternFormatting defined above. >- * >- * sheet.createConditionalFormattingRule( >- * HSSFConditionalFormattingRule.COMPARISON_OPERATOR_GE, >- * "100.0", // 1st formula >- * null, // 2nd formula is not used for comparison operator GE >- * null, // do not override Font Formatting >- * null, // do not override Border Formatting >- * patternFormatting >- * ) >- * }; >- * >- * // Apply Conditional Formatting rules defined above to the regions >- * sheet.addConditionalFormatting(regions, rules); >+ * // Apply Conditional Formatting rule defined above to the regions >+ * sheet.addConditionalFormatting(regions, rule); > * </PRE> > * > * @author Dmitriy Kumshayev >Index: C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java >=================================================================== >--- C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java (revision 647376) >+++ C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java (working copy) >@@ -1842,8 +1842,7 @@ > > /** > * A factory method allowing to create a conditional formatting rule >- * with a cell comparison operator and >- * formatting rules such as font format, border format and pattern format >+ * with a cell comparison operator > * > * @param comparisonOperation - a constant value from > * <tt>{@link HSSFConditionalFormattingRule.ComparisonOperator}</tt>: <p> >@@ -1862,42 +1861,28 @@ > * @param formula2 - second formula (only used with > * {@link HSSFConditionalFormattingRule#COMPARISON_OPERATOR_BETWEEN}) and > * {@link HSSFConditionalFormattingRule#COMPARISON_OPERATOR_NOT_BETWEEN} operations) >- * @param fontFmt - font formatting rules (may be <code>null</code>) >- * @param bordFmt - border formatting rules (may be <code>null</code>) >- * @param patternFmt - pattern formatting rules (may be <code>null</code>) > */ > public HSSFConditionalFormattingRule createConditionalFormattingRule( > byte comparisonOperation, > String formula1, >- String formula2, >- HSSFFontFormatting fontFmt, >- HSSFBorderFormatting bordFmt, >- HSSFPatternFormatting patternFmt) { >+ String formula2) { > > Workbook wb = workbook.getWorkbook(); > CFRuleRecord rr = CFRuleRecord.create(wb, comparisonOperation, formula1, formula2); >- return new HSSFConditionalFormattingRule(wb, rr, fontFmt, bordFmt, patternFmt); >+ return new HSSFConditionalFormattingRule(wb, rr); > } > > /** >- * A factory method allowing to create a conditional formatting rule with a formula >- * and formatting rules such as font format, border format and pattern format. <br> >+ * A factory method allowing to create a conditional formatting rule with a formula.<br> > * > * The formatting rules are applied by Excel when the value of the formula not equal to 0. > * > * @param formula - formula for the valued, compared with the cell >- * @param fontFmt - font formatting rules (may be <code>null</code>) >- * @param bordFmt - border formatting rules (may be <code>null</code>) >- * @param patternFmt - pattern formatting rules (may be <code>null</code>) > */ >- public HSSFConditionalFormattingRule createConditionalFormattingRule( >- String formula, >- HSSFFontFormatting fontFmt, >- HSSFBorderFormatting bordFmt, >- HSSFPatternFormatting patternFmt) { >+ public HSSFConditionalFormattingRule createConditionalFormattingRule(String formula) { > Workbook wb = workbook.getWorkbook(); > CFRuleRecord rr = CFRuleRecord.create(wb, formula); >- return new HSSFConditionalFormattingRule(wb, rr, fontFmt, bordFmt, patternFmt); >+ return new HSSFConditionalFormattingRule(wb, rr); > } > > /** >@@ -1922,27 +1907,66 @@ > * Allows to add a new Conditional Formatting set to the sheet. > * > * @param regions - list of rectangular regions to apply conditional formatting rules >- * @param hcfRules - set of up to three conditional formatting rules >+ * @param cfRules - set of up to three conditional formatting rules > * > * @return index of the newly created Conditional Formatting object > */ > >- public int addConditionalFormatting(Region [] regions, HSSFConditionalFormattingRule [] hcfRules) { >+ public int addConditionalFormatting(Region [] regions, HSSFConditionalFormattingRule [] cfRules) { > if (regions == null) { > throw new IllegalArgumentException("regions must not be null"); > } >- if (hcfRules == null) { >- throw new IllegalArgumentException("hcfRules must not be null"); >+ if (cfRules == null) { >+ throw new IllegalArgumentException("cfRules must not be null"); > } >+ if (cfRules.length == 0 ) { >+ throw new IllegalArgumentException("cfRules must not be empty"); >+ } >+ if (cfRules.length > 3 ) { >+ throw new IllegalArgumentException("Number of rules must not exceed 3"); >+ } > >- CFRuleRecord[] rules = new CFRuleRecord[hcfRules.length]; >- for (int i = 0; i != hcfRules.length; i++) { >- rules[i] = hcfRules[i].getCfRuleRecord(); >+ CFRuleRecord[] rules = new CFRuleRecord[cfRules.length]; >+ for (int i = 0; i != cfRules.length; i++) { >+ rules[i] = cfRules[i].getCfRuleRecord(); > } > CFRecordsAggregate cfra = new CFRecordsAggregate(regions, rules); > return sheet.addConditionalFormatting(cfra); > } > >+ public int addConditionalFormatting(Region[] regions, >+ HSSFConditionalFormattingRule rule1) >+ { >+ return addConditionalFormatting(regions, >+ new HSSFConditionalFormattingRule[] >+ { >+ rule1 >+ }); >+ } >+ >+ public int addConditionalFormatting(Region[] regions, >+ HSSFConditionalFormattingRule rule1, >+ HSSFConditionalFormattingRule rule2) >+ { >+ return addConditionalFormatting(regions, >+ new HSSFConditionalFormattingRule[] >+ { >+ rule1, rule2 >+ }); >+ } >+ >+ public int addConditionalFormatting(Region[] regions, >+ HSSFConditionalFormattingRule rule1, >+ HSSFConditionalFormattingRule rule2, >+ HSSFConditionalFormattingRule rule3) >+ { >+ return addConditionalFormatting(regions, >+ new HSSFConditionalFormattingRule[] >+ { >+ rule1, rule2, rule3 >+ }); >+ } >+ > /** > * gets Conditional Formatting object at a particular index > * >Index: C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFConditionalFormattingRule.java >=================================================================== >--- C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFConditionalFormattingRule.java (revision 646324) >+++ C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFConditionalFormattingRule.java (working copy) >@@ -46,27 +46,30 @@ > workbook = pWorkbook; > cfRuleRecord = pRuleRecord; > } >- HSSFConditionalFormattingRule(Workbook pWorkbook, CFRuleRecord pRuleRecord, >- HSSFFontFormatting fontFmt, HSSFBorderFormatting bordFmt, HSSFPatternFormatting patternFmt) { >- this(pWorkbook, pRuleRecord); >- setFontFormatting(fontFmt); >- setBorderFormatting(bordFmt); >- setPatternFormatting(patternFmt); >- } > > CFRuleRecord getCfRuleRecord() > { > return cfRuleRecord; > } > >- >- /** >- * @param fontFmt pass <code>null</code> to signify 'font unchanged' >- */ >- public void setFontFormatting(HSSFFontFormatting fontFmt) >+ private HSSFFontFormatting getFontFormatting(boolean create) > { >- FontFormatting block = fontFmt==null ? null : fontFmt.getFontFormattingBlock(); >- cfRuleRecord.setFontFormatting(block); >+ FontFormatting fontFormatting = cfRuleRecord.getFontFormatting(); >+ if ( fontFormatting != null) >+ { >+ cfRuleRecord.setFontFormatting(fontFormatting); >+ return new HSSFFontFormatting(cfRuleRecord); >+ } >+ else if( create ) >+ { >+ fontFormatting = new FontFormatting(); >+ cfRuleRecord.setFontFormatting(fontFormatting); >+ return new HSSFFontFormatting(cfRuleRecord); >+ } >+ else >+ { >+ return null; >+ } > } > > /** >@@ -74,51 +77,90 @@ > */ > public HSSFFontFormatting getFontFormatting() > { >- FontFormatting ff = cfRuleRecord.getFontFormatting(); >- if ( ff == null ) { >- return null; >- } >- return new HSSFFontFormatting(ff); >+ return getFontFormatting(false); > } >- > /** >- * @param borderFmt pass <code>null</code> to signify 'border unchanged' >+ * create a new font formatting structure if it does not exist, >+ * otherwise just return existing object. >+ * @return - font formatting object, never returns <code>null</code>. > */ >- public void setBorderFormatting(HSSFBorderFormatting borderFmt) >+ public HSSFFontFormatting createFontFormatting() > { >- BorderFormatting block = borderFmt==null ? null : borderFmt.getBorderFormattingBlock(); >- cfRuleRecord.setBorderFormatting(block); >+ return getFontFormatting(true); > } >+ >+ private HSSFBorderFormatting getBorderFormatting(boolean create) >+ { >+ BorderFormatting borderFormatting = cfRuleRecord.getBorderFormatting(); >+ if ( borderFormatting != null) >+ { >+ cfRuleRecord.setBorderFormatting(borderFormatting); >+ return new HSSFBorderFormatting(cfRuleRecord); >+ } >+ else if( create ) >+ { >+ borderFormatting = new BorderFormatting(); >+ cfRuleRecord.setBorderFormatting(borderFormatting); >+ return new HSSFBorderFormatting(cfRuleRecord); >+ } >+ else >+ { >+ return null; >+ } >+ } > /** > * @return - border formatting object if defined, <code>null</code> otherwise > */ > public HSSFBorderFormatting getBorderFormatting() > { >- BorderFormatting bf = cfRuleRecord.getBorderFormatting(); >- if ( bf == null ) { >- return null; >- } >- return new HSSFBorderFormatting(bf); >+ return getBorderFormatting(false); > } > /** >- * @param patternFmt pass <code>null</code> to signify 'pattern unchanged' >+ * create a new border formatting structure if it does not exist, >+ * otherwise just return existing object. >+ * @return - border formatting object, never returns <code>null</code>. > */ >- public void setPatternFormatting(HSSFPatternFormatting patternFmt) >+ public HSSFBorderFormatting createBorderFormatting() > { >- PatternFormatting block = patternFmt==null ? null : patternFmt.getPatternFormattingBlock(); >- cfRuleRecord.setPatternFormatting(block); >+ return getBorderFormatting(true); > } >+ >+ private HSSFPatternFormatting getPatternFormatting(boolean create) >+ { >+ PatternFormatting patternFormatting = cfRuleRecord.getPatternFormatting(); >+ if ( patternFormatting != null) >+ { >+ cfRuleRecord.setPatternFormatting(patternFormatting); >+ return new HSSFPatternFormatting(cfRuleRecord); >+ } >+ else if( create ) >+ { >+ patternFormatting = new PatternFormatting(); >+ cfRuleRecord.setPatternFormatting(patternFormatting); >+ return new HSSFPatternFormatting(cfRuleRecord); >+ } >+ else >+ { >+ return null; >+ } >+ } >+ > /** > * @return - pattern formatting object if defined, <code>null</code> otherwise > */ > public HSSFPatternFormatting getPatternFormatting() > { >- PatternFormatting pf = cfRuleRecord.getPatternFormatting(); >- if ( pf == null ) { >- return null; >- } >- return new HSSFPatternFormatting(pf); >+ return getPatternFormatting(false); > } >+ /** >+ * create a new pattern formatting structure if it does not exist, >+ * otherwise just return existing object. >+ * @return - pattern formatting object, never returns <code>null</code>. >+ */ >+ public HSSFPatternFormatting createPatternFormatting() >+ { >+ return getPatternFormatting(true); >+ } > > public String getFormula1() > { >Index: C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFFontFormatting.java >=================================================================== >--- C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFFontFormatting.java (revision 646324) >+++ C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFFontFormatting.java (working copy) >@@ -17,6 +17,7 @@ > > package org.apache.poi.hssf.usermodel; > >+import org.apache.poi.hssf.record.CFRuleRecord; > import org.apache.poi.hssf.record.cf.FontFormatting; > /** > * High level representation for Font Formatting component >@@ -47,15 +48,10 @@ > > private final FontFormatting fontFormatting; > >- public HSSFFontFormatting() >+ protected HSSFFontFormatting(CFRuleRecord cfRuleRecord) > { >- fontFormatting = new FontFormatting(); >+ this.fontFormatting = cfRuleRecord.getFontFormatting(); > } >- >- protected HSSFFontFormatting(FontFormatting ff) >- { >- fontFormatting = ff; >- } > > protected FontFormatting getFontFormattingBlock() > { >Index: C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFPatternFormatting.java >=================================================================== >--- C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFPatternFormatting.java (revision 646324) >+++ C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFPatternFormatting.java (working copy) >@@ -17,6 +17,7 @@ > > package org.apache.poi.hssf.usermodel; > >+import org.apache.poi.hssf.record.CFRuleRecord; > import org.apache.poi.hssf.record.cf.PatternFormatting; > > /** >@@ -66,16 +67,14 @@ > /** Least Dots */ > public final static short LEAST_DOTS = PatternFormatting.LEAST_DOTS; > >- private PatternFormatting patternFormatting; >+ private final CFRuleRecord cfRuleRecord; >+ private final PatternFormatting patternFormatting; > >- public HSSFPatternFormatting() >+ protected HSSFPatternFormatting(CFRuleRecord cfRuleRecord) > { >- patternFormatting = new PatternFormatting(); >+ this.cfRuleRecord = cfRuleRecord; >+ this.patternFormatting = cfRuleRecord.getPatternFormatting(); > } >- protected HSSFPatternFormatting(PatternFormatting patternFormatting) >- { >- this.patternFormatting = patternFormatting; >- } > > protected PatternFormatting getPatternFormattingBlock() > { >@@ -116,6 +115,10 @@ > public void setFillBackgroundColor(short bg) > { > patternFormatting.setFillBackgroundColor(bg); >+ if( bg != 0) >+ { >+ cfRuleRecord.setPatternBackgroundColorModified(true); >+ } > } > > /** >@@ -125,6 +128,10 @@ > public void setFillForegroundColor(short fg) > { > patternFormatting.setFillForegroundColor(fg); >+ if( fg != 0) >+ { >+ cfRuleRecord.setPatternColorModified(true); >+ } > } > > /** >@@ -134,5 +141,9 @@ > public void setFillPattern(short fp) > { > patternFormatting.setFillPattern(fp); >+ if( fp != 0) >+ { >+ cfRuleRecord.setPatternStyleModified(true); >+ } > } > } >Index: C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFBorderFormatting.java >=================================================================== >--- C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFBorderFormatting.java (revision 646324) >+++ C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/usermodel/HSSFBorderFormatting.java (working copy) >@@ -17,6 +17,7 @@ > > package org.apache.poi.hssf.usermodel; > >+import org.apache.poi.hssf.record.CFRuleRecord; > import org.apache.poi.hssf.record.cf.BorderFormatting; > > /** >@@ -58,18 +59,15 @@ > public final static short BORDER_SLANTED_DASH_DOT = BorderFormatting.BORDER_SLANTED_DASH_DOT; > > >+ private final CFRuleRecord cfRuleRecord; > private final BorderFormatting borderFormatting; > >- public HSSFBorderFormatting() >+ protected HSSFBorderFormatting(CFRuleRecord cfRuleRecord) > { >- borderFormatting = new BorderFormatting(); >+ this.cfRuleRecord = cfRuleRecord; >+ this.borderFormatting = cfRuleRecord.getBorderFormatting(); > } > >- protected HSSFBorderFormatting(BorderFormatting borderFormatting) >- { >- this.borderFormatting = borderFormatting; >- } >- > protected BorderFormatting getBorderFormattingBlock() > { > return borderFormatting; >@@ -138,60 +136,110 @@ > public void setBackwardDiagonalOn(boolean on) > { > borderFormatting.setBackwardDiagonalOn(on); >+ if( on ) >+ { >+ cfRuleRecord.setTopLeftBottomRightBorderModified(on); >+ } > } > > public void setBorderBottom(short border) > { > borderFormatting.setBorderBottom(border); >+ if( border != 0) >+ { >+ cfRuleRecord.setBottomBorderModified(true); >+ } > } > > public void setBorderDiagonal(short border) > { > borderFormatting.setBorderDiagonal(border); >+ if( border != 0) >+ { >+ cfRuleRecord.setBottomLeftTopRightBorderModified(true); >+ cfRuleRecord.setTopLeftBottomRightBorderModified(true); >+ } > } > > public void setBorderLeft(short border) > { > borderFormatting.setBorderLeft(border); >+ if( border != 0) >+ { >+ cfRuleRecord.setLeftBorderModified(true); >+ } > } > > public void setBorderRight(short border) > { > borderFormatting.setBorderRight(border); >+ if( border != 0) >+ { >+ cfRuleRecord.setRightBorderModified(true); >+ } > } > > public void setBorderTop(short border) > { > borderFormatting.setBorderTop(border); >+ if( border != 0) >+ { >+ cfRuleRecord.setTopBorderModified(true); >+ } > } > > public void setBottomBorderColor(short color) > { > borderFormatting.setBottomBorderColor(color); >+ if( color != 0) >+ { >+ cfRuleRecord.setBottomBorderModified(true); >+ } > } > > public void setDiagonalBorderColor(short color) > { > borderFormatting.setDiagonalBorderColor(color); >+ if( color != 0) >+ { >+ cfRuleRecord.setBottomLeftTopRightBorderModified(true); >+ cfRuleRecord.setTopLeftBottomRightBorderModified(true); >+ } > } > > public void setForwardDiagonalOn(boolean on) > { > borderFormatting.setForwardDiagonalOn(on); >+ if( on ) >+ { >+ cfRuleRecord.setBottomLeftTopRightBorderModified(on); >+ } > } > > public void setLeftBorderColor(short color) > { > borderFormatting.setLeftBorderColor(color); >+ if( color != 0) >+ { >+ cfRuleRecord.setLeftBorderModified(true); >+ } > } > > public void setRightBorderColor(short color) > { > borderFormatting.setRightBorderColor(color); >+ if( color != 0) >+ { >+ cfRuleRecord.setRightBorderModified(true); >+ } > } > > public void setTopBorderColor(short color) > { > borderFormatting.setTopBorderColor(color); >+ if( color != 0) >+ { >+ cfRuleRecord.setTopBorderModified(true); >+ } > } > } >Index: C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/record/CFRuleRecord.java >=================================================================== >--- C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/record/CFRuleRecord.java (revision 646324) >+++ C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/record/CFRuleRecord.java (working copy) >@@ -29,6 +29,7 @@ > import org.apache.poi.util.BitField; > import org.apache.poi.util.BitFieldFactory; > import org.apache.poi.util.LittleEndian; >+import org.apache.poi.util.StringUtil; > > /** > * Conditional Formatting Rule Record. >@@ -62,7 +63,7 @@ > > private int field_5_options; > >- private static final BitField modificationBits = bf(0x83FFFFFF); // Bits: font,align,bord,patt,prot >+ private static final BitField modificationBits = bf(0x003FFFFF); // Bits: font,align,bord,patt,prot > private static final BitField alignHor = bf(0x00000001); // 0 = Horizontal alignment modified > private static final BitField alignVer = bf(0x00000002); // 0 = Vertical alignment modified > private static final BitField alignWrap = bf(0x00000004); // 0 = Text wrapped flag modified >@@ -607,6 +608,8 @@ > { > StringBuffer buffer = new StringBuffer(); > buffer.append("[CFRULE]\n"); >+ buffer.append(" OPTION FLAGS=0x"+Integer.toHexString(getOptions())); >+ /* > if( containsFontFormattingBlock()) > { > buffer.append(fontFormatting.toString()); >@@ -619,7 +622,7 @@ > { > buffer.append(patternFormatting.toString()); > } >- buffer.append("[/CFRULE]\n"); >+ buffer.append("[/CFRULE]\n");*/ > return buffer.toString(); > } > >Index: C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/record/cf/BorderFormatting.java >=================================================================== >--- C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/record/cf/BorderFormatting.java (revision 646324) >+++ C:/Documents and Settings/dq/workspace/poi/src/java/org/apache/poi/hssf/record/cf/BorderFormatting.java (working copy) >@@ -152,7 +152,7 @@ > private static final BitField bordBottomLineColor= BitFieldFactory.getInstance(0x00003f80); > private static final BitField bordDiagLineColor = BitFieldFactory.getInstance(0x001FC000); > private static final BitField bordDiagLineStyle = BitFieldFactory.getInstance(0x01E00000); >- >+ > /** > * set the type of border to use for the left border of the cell > * @param border type >@@ -557,4 +557,5 @@ > offset += 4; > return 8; > } >+ > } >Index: C:/Documents and Settings/dq/workspace/poi/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java >=================================================================== >--- C:/Documents and Settings/dq/workspace/poi/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java (revision 646324) >+++ C:/Documents and Settings/dq/workspace/poi/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java (working copy) >@@ -34,22 +34,24 @@ > HSSFSheet sheet = workbook.createSheet(); > String formula = "7"; > >- HSSFFontFormatting fontFmt = new HSSFFontFormatting(); >+ HSSFConditionalFormattingRule rule1 = sheet.createConditionalFormattingRule(formula); >+ HSSFFontFormatting fontFmt = rule1.createFontFormatting(); > fontFmt.setFontStyle(true, false); > >- HSSFBorderFormatting bordFmt = new HSSFBorderFormatting(); >+ HSSFBorderFormatting bordFmt = rule1.createBorderFormatting(); > bordFmt.setBorderBottom(HSSFBorderFormatting.BORDER_THIN); > bordFmt.setBorderTop(HSSFBorderFormatting.BORDER_THICK); > bordFmt.setBorderLeft(HSSFBorderFormatting.BORDER_DASHED); > bordFmt.setBorderRight(HSSFBorderFormatting.BORDER_DOTTED); > >- HSSFPatternFormatting patternFmt = new HSSFPatternFormatting(); >- patternFmt.setFillBackgroundColor(HSSFColor.RED.index); >+ HSSFPatternFormatting patternFmt = rule1.createPatternFormatting(); >+ patternFmt.setFillBackgroundColor(HSSFColor.YELLOW.index); > >+ >+ HSSFConditionalFormattingRule rule2 = sheet.createConditionalFormattingRule(ComparisonOperator.BETWEEN, "1", "2"); > HSSFConditionalFormattingRule [] cfRules = > { >- sheet.createConditionalFormattingRule(formula, fontFmt, bordFmt, patternFmt), >- sheet.createConditionalFormattingRule(ComparisonOperator.BETWEEN, "1", "2", fontFmt, bordFmt, patternFmt) >+ rule1, rule2 > }; > > short col = 1; >@@ -79,7 +81,7 @@ > > assertEquals(2, cf.getNumberOfRules()); > >- HSSFConditionalFormattingRule rule1 = cf.getRule(0); >+ rule1 = cf.getRule(0); > assertEquals("7",rule1.getFormula1()); > assertNull(rule1.getFormula2()); > >@@ -98,9 +100,9 @@ > > HSSFPatternFormatting r1pf = rule1.getPatternFormatting(); > assertNotNull(r1pf); >- assertEquals(HSSFColor.RED.index,r1pf.getFillBackgroundColor()); >+ assertEquals(HSSFColor.YELLOW.index,r1pf.getFillBackgroundColor()); > >- HSSFConditionalFormattingRule rule2 = cf.getRule(1); >+ rule2 = cf.getRule(1); > assertEquals("2",rule2.getFormula2()); > assertEquals("1",rule2.getFormula1()); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 30311
:
21680
|
21681
|
21708
|
21709
|
21711
|
21733
|
21784
|
21789
| 21818