mirror of https://github.com/apache/poi.git
Bug 49564 - Fixed default behaviour of XSSFCellStyle.getLocked()
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1139288 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
26c6241c8a
commit
b8df0e686b
|
@ -34,6 +34,7 @@
|
|||
|
||||
<changes>
|
||||
<release version="3.8-beta4" date="2011-??-??">
|
||||
<action dev="poi-developers" type="fix">49564 - Fixed default behaviour of XSSFCellStyle.getLocked() </action>
|
||||
<action dev="poi-developers" type="fix">48314 - Fixed setting column and row breaks in XSSF</action>
|
||||
<action dev="poi-developers" type="add">51424 - Ignore exceptions in ParagraphSprmUncompressor</action>
|
||||
<action dev="poi-developers" type="fix">51415 - Fixed Workbook.createSheet(sheetName) to truncate names longer than 31 characters</action>
|
||||
|
|
|
@ -565,7 +565,10 @@ public class XSSFCellStyle implements CellStyle {
|
|||
* @return boolean - whether the cell using this style is hidden
|
||||
*/
|
||||
public boolean getHidden() {
|
||||
return getCellProtection().getHidden();
|
||||
if (!_cellXf.isSetProtection() || !_cellXf.getProtection().isSetHidden()) {
|
||||
return false;
|
||||
}
|
||||
return _cellXf.getProtection().getHidden();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -619,7 +622,10 @@ public class XSSFCellStyle implements CellStyle {
|
|||
* @return whether the cell using this style are locked
|
||||
*/
|
||||
public boolean getLocked() {
|
||||
return getCellProtection().getLocked();
|
||||
if (!_cellXf.isSetProtection() || !_cellXf.getProtection().isSetLocked()) {
|
||||
return true;
|
||||
}
|
||||
return _cellXf.getProtection().getLocked();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1169,7 +1175,10 @@ public class XSSFCellStyle implements CellStyle {
|
|||
* @param hidden - whether the cell using this style should be hidden
|
||||
*/
|
||||
public void setHidden(boolean hidden) {
|
||||
getCellProtection().setHidden(hidden);
|
||||
if (!_cellXf.isSetProtection()) {
|
||||
_cellXf.addNewProtection();
|
||||
}
|
||||
_cellXf.getProtection().setHidden(hidden);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1218,7 +1227,10 @@ public class XSSFCellStyle implements CellStyle {
|
|||
* @param locked - whether the cell using this style should be locked
|
||||
*/
|
||||
public void setLocked(boolean locked) {
|
||||
getCellProtection().setLocked(locked);
|
||||
if (!_cellXf.isSetProtection()) {
|
||||
_cellXf.addNewProtection();
|
||||
}
|
||||
_cellXf.getProtection().setLocked(locked);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1388,17 +1400,6 @@ public class XSSFCellStyle implements CellStyle {
|
|||
return (int) _cellStyleXf.getFontId();
|
||||
}
|
||||
|
||||
/**
|
||||
* get a cellProtection from the supplied XML definition
|
||||
* @return CTCellProtection
|
||||
*/
|
||||
private CTCellProtection getCellProtection() {
|
||||
if (_cellXf.getProtection() == null) {
|
||||
_cellXf.addNewProtection();
|
||||
}
|
||||
return _cellXf.getProtection();
|
||||
}
|
||||
|
||||
/**
|
||||
* get the cellAlignment object to use for manage alignment
|
||||
* @return XSSFCellAlignment - cell alignment
|
||||
|
|
|
@ -526,15 +526,15 @@ public class TestXSSFCellStyle extends TestCase {
|
|||
|
||||
public void testGetSetHidden() {
|
||||
assertFalse(cellStyle.getHidden());
|
||||
cellXf.getProtection().setHidden(true);
|
||||
cellStyle.setHidden(true);
|
||||
assertTrue(cellStyle.getHidden());
|
||||
cellStyle.setHidden(false);
|
||||
assertFalse(cellStyle.getHidden());
|
||||
}
|
||||
|
||||
public void testGetSetLocked() {
|
||||
assertFalse(cellStyle.getLocked());
|
||||
cellXf.getProtection().setLocked(true);
|
||||
assertTrue(cellStyle.getLocked());
|
||||
cellStyle.setLocked(true);
|
||||
assertTrue(cellStyle.getLocked());
|
||||
cellStyle.setLocked(false);
|
||||
assertFalse(cellStyle.getLocked());
|
||||
|
|
|
@ -544,4 +544,39 @@ public abstract class BaseTestCell extends TestCase {
|
|||
assertEquals(Cell.CELL_TYPE_ERROR, cell2.getCellType());
|
||||
assertEquals(ErrorConstants.ERROR_DIV_0, cell2.getErrorCellValue());
|
||||
}
|
||||
|
||||
public void testDefaultStyleProperties() {
|
||||
Workbook wb = _testDataProvider.createWorkbook();
|
||||
|
||||
Cell cell = wb.createSheet("Sheet1").createRow(0).createCell(0);
|
||||
CellStyle style = cell.getCellStyle();
|
||||
|
||||
assertTrue(style.getLocked());
|
||||
assertFalse(style.getHidden());
|
||||
assertEquals(0, style.getIndention());
|
||||
assertEquals(0, style.getFontIndex());
|
||||
assertEquals(0, style.getAlignment());
|
||||
assertEquals(0, style.getDataFormat());
|
||||
assertEquals(false, style.getWrapText());
|
||||
|
||||
CellStyle style2 = wb.createCellStyle();
|
||||
assertTrue(style2.getLocked());
|
||||
assertFalse(style2.getHidden());
|
||||
style2.setLocked(false);
|
||||
style2.setHidden(true);
|
||||
assertFalse(style2.getLocked());
|
||||
assertTrue(style2.getHidden());
|
||||
|
||||
wb = _testDataProvider.writeOutAndReadBack(wb);
|
||||
cell = wb.getSheetAt(0).getRow(0).getCell(0);
|
||||
style = cell.getCellStyle();
|
||||
assertFalse(style2.getLocked());
|
||||
assertTrue(style2.getHidden());
|
||||
|
||||
style2.setLocked(true);
|
||||
style2.setHidden(false);
|
||||
assertTrue(style2.getLocked());
|
||||
assertFalse(style2.getHidden());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue