mirror of
https://github.com/apache/poi.git
synced 2026-02-27 20:40:08 +08:00
Sonar fixes
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1885253 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4bc450ef5f
commit
09464f1fea
@ -17,6 +17,8 @@
|
||||
|
||||
package org.apache.poi.hssf.usermodel;
|
||||
|
||||
import static org.apache.poi.ss.usermodel.BorderStyle.*;
|
||||
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||
@ -30,6 +32,8 @@ import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.Random;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.apache.poi.hssf.HSSFTestDataSamples;
|
||||
import org.apache.poi.ss.usermodel.BorderStyle;
|
||||
@ -189,10 +193,10 @@ public final class TestCellStyle {
|
||||
HSSFCellStyle cs = wb.createCellStyle();
|
||||
HSSFCellStyle cs2 = wb.createCellStyle();
|
||||
|
||||
cs.setBorderBottom(BorderStyle.THIN);
|
||||
cs.setBorderLeft(BorderStyle.THIN);
|
||||
cs.setBorderRight(BorderStyle.THIN);
|
||||
cs.setBorderTop(BorderStyle.THIN);
|
||||
cs.setBorderBottom(THIN);
|
||||
cs.setBorderLeft(THIN);
|
||||
cs.setBorderRight(THIN);
|
||||
cs.setBorderTop(THIN);
|
||||
cs.setFillForegroundColor((short) 0xA);
|
||||
cs.setFillPattern(FillPatternType.DIAMONDS);
|
||||
fnt.setColor((short) 0xf);
|
||||
@ -359,45 +363,17 @@ public final class TestCellStyle {
|
||||
|
||||
@Test
|
||||
public void testGetSetBorderHair() throws IOException {
|
||||
try (HSSFWorkbook wb = openSample("55341_CellStyleBorder.xls")) {
|
||||
BorderStyle[] bs = {
|
||||
HAIR, DOTTED, DASH_DOT_DOT, DASHED, THIN, MEDIUM_DASH_DOT_DOT, SLANTED_DASH_DOT,
|
||||
MEDIUM_DASH_DOT, MEDIUM_DASHED, MEDIUM, THICK, DOUBLE
|
||||
};
|
||||
|
||||
try (HSSFWorkbook wb = openSample("55341_CellStyleBorder.xls")) {
|
||||
HSSFSheet s = wb.getSheetAt(0);
|
||||
HSSFCellStyle cs;
|
||||
|
||||
cs = s.getRow(0).getCell(0).getCellStyle();
|
||||
assertEquals(BorderStyle.HAIR, cs.getBorderRight());
|
||||
|
||||
cs = s.getRow(1).getCell(1).getCellStyle();
|
||||
assertEquals(BorderStyle.DOTTED, cs.getBorderRight());
|
||||
|
||||
cs = s.getRow(2).getCell(2).getCellStyle();
|
||||
assertEquals(BorderStyle.DASH_DOT_DOT, cs.getBorderRight());
|
||||
|
||||
cs = s.getRow(3).getCell(3).getCellStyle();
|
||||
assertEquals(BorderStyle.DASHED, cs.getBorderRight());
|
||||
|
||||
cs = s.getRow(4).getCell(4).getCellStyle();
|
||||
assertEquals(BorderStyle.THIN, cs.getBorderRight());
|
||||
|
||||
cs = s.getRow(5).getCell(5).getCellStyle();
|
||||
assertEquals(BorderStyle.MEDIUM_DASH_DOT_DOT, cs.getBorderRight());
|
||||
|
||||
cs = s.getRow(6).getCell(6).getCellStyle();
|
||||
assertEquals(BorderStyle.SLANTED_DASH_DOT, cs.getBorderRight());
|
||||
|
||||
cs = s.getRow(7).getCell(7).getCellStyle();
|
||||
assertEquals(BorderStyle.MEDIUM_DASH_DOT, cs.getBorderRight());
|
||||
|
||||
cs = s.getRow(8).getCell(8).getCellStyle();
|
||||
assertEquals(BorderStyle.MEDIUM_DASHED, cs.getBorderRight());
|
||||
|
||||
cs = s.getRow(9).getCell(9).getCellStyle();
|
||||
assertEquals(BorderStyle.MEDIUM, cs.getBorderRight());
|
||||
|
||||
cs = s.getRow(10).getCell(10).getCellStyle();
|
||||
assertEquals(BorderStyle.THICK, cs.getBorderRight());
|
||||
|
||||
cs = s.getRow(11).getCell(11).getCellStyle();
|
||||
assertEquals(BorderStyle.DOUBLE, cs.getBorderRight());
|
||||
for (int i = 0; i<bs.length; i++) {
|
||||
HSSFCellStyle cs = s.getRow(i).getCell(i).getCellStyle();
|
||||
assertEquals(bs[i], cs.getBorderRight());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -435,62 +411,26 @@ public final class TestCellStyle {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static class CellFormatBugExample extends Thread {
|
||||
private final String fileName;
|
||||
private Throwable exception;
|
||||
|
||||
public CellFormatBugExample(String fileName) {
|
||||
this.fileName = fileName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
for(int i = 0;i< 10;i++) {
|
||||
try (Workbook wb = HSSFTestDataSamples.openSampleWorkbook(fileName)) {
|
||||
Sheet sheet = wb.getSheetAt(0);
|
||||
|
||||
for (Row row : sheet) {
|
||||
for (int idxCell = 0; idxCell < row.getLastCellNum(); idxCell++) {
|
||||
|
||||
Cell cell = row.getCell(idxCell);
|
||||
cell.getCellStyle().getDataFormatString();
|
||||
if (cell.getCellType() == CellType.NUMERIC) {
|
||||
boolean isDate = DateUtil.isCellDateFormatted(cell);
|
||||
assertFalse(idxCell > 0 && isDate, "cell " + idxCell + " is not a date.");
|
||||
}
|
||||
@Test
|
||||
public void test56563() {
|
||||
Stream.of("56563a.xls", "56563b.xls").parallel().forEach(fileName -> assertDoesNotThrow(() -> {
|
||||
Random rand = new Random();
|
||||
for(int i=0; i<10; i++) {
|
||||
Thread.sleep(rand.nextInt(300));
|
||||
try (Workbook wb = openSample(fileName)) {
|
||||
for (Row row : wb.getSheetAt(0)) {
|
||||
for (Cell cell : row) {
|
||||
cell.getCellStyle().getDataFormatString();
|
||||
if (cell.getCellType() == CellType.NUMERIC) {
|
||||
boolean isDate = DateUtil.isCellDateFormatted(cell);
|
||||
int cid = cell.getColumnIndex();
|
||||
assertFalse(cid > 0 && isDate, "cell " + cid + " is not a date.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
exception = e;
|
||||
}
|
||||
}
|
||||
|
||||
public Throwable getException() {
|
||||
return exception;
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test56563() throws Throwable {
|
||||
CellFormatBugExample threadA = new CellFormatBugExample("56563a.xls");
|
||||
threadA.start();
|
||||
CellFormatBugExample threadB = new CellFormatBugExample("56563b.xls");
|
||||
threadB.start();
|
||||
|
||||
threadA.join();
|
||||
threadB.join();
|
||||
|
||||
if(threadA.getException() != null) {
|
||||
throw threadA.getException();
|
||||
}
|
||||
if(threadB.getException() != null) {
|
||||
throw threadB.getException();
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -509,7 +449,7 @@ public final class TestCellStyle {
|
||||
font.setColor(Font.COLOR_RED);
|
||||
|
||||
CellStyle style = wb.createCellStyle();
|
||||
style.setBorderBottom(BorderStyle.DOTTED);
|
||||
style.setBorderBottom(DOTTED);
|
||||
style.setFont(font);
|
||||
|
||||
Cell cell = row.createCell(0);
|
||||
@ -522,7 +462,7 @@ public final class TestCellStyle {
|
||||
newCell.setCellValue("2testtext2");
|
||||
|
||||
CellStyle newStyle = newCell.getCellStyle();
|
||||
assertEquals(BorderStyle.DOTTED, newStyle.getBorderBottom());
|
||||
assertEquals(DOTTED, newStyle.getBorderBottom());
|
||||
assertEquals(Font.COLOR_RED, ((HSSFCellStyle) newStyle).getFont(wb).getColor());
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,7 +17,9 @@
|
||||
|
||||
package org.apache.poi.hssf.usermodel;
|
||||
|
||||
import static org.apache.poi.hssf.HSSFTestDataSamples.openSampleWorkbook;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
@ -43,6 +45,7 @@ import org.apache.poi.ss.formula.ptg.RefPtg;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellType;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.util.CellReference;
|
||||
import org.apache.poi.util.LocaleUtil;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
@ -76,7 +79,7 @@ public final class TestFormulaEvaluatorBugs {
|
||||
// Open the existing file, tweak one value and
|
||||
// re-calculate
|
||||
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("44636.xls");
|
||||
HSSFWorkbook wb = openSampleWorkbook("44636.xls");
|
||||
HSSFSheet sheet = wb.getSheetAt(0);
|
||||
HSSFRow row = sheet.getRow(0);
|
||||
|
||||
@ -129,7 +132,7 @@ public final class TestFormulaEvaluatorBugs {
|
||||
@Test
|
||||
public void test44297() throws Exception {
|
||||
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("44297.xls");
|
||||
HSSFWorkbook wb = openSampleWorkbook("44297.xls");
|
||||
|
||||
HSSFRow row;
|
||||
HSSFCell cell;
|
||||
@ -192,7 +195,7 @@ public final class TestFormulaEvaluatorBugs {
|
||||
*/
|
||||
@Test
|
||||
public void test44410() throws Exception {
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("SingleLetterRanges.xls");
|
||||
HSSFWorkbook wb = openSampleWorkbook("SingleLetterRanges.xls");
|
||||
|
||||
HSSFSheet sheet = wb.getSheetAt(0);
|
||||
|
||||
@ -273,27 +276,23 @@ public final class TestFormulaEvaluatorBugs {
|
||||
|
||||
@Test
|
||||
public void testClassCast_bug44861() throws Exception {
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("44861.xls");
|
||||
try (HSSFWorkbook wb = openSampleWorkbook("44861.xls")) {
|
||||
// Check direct
|
||||
HSSFFormulaEvaluator.evaluateAllFormulaCells(wb);
|
||||
|
||||
// Check direct
|
||||
HSSFFormulaEvaluator.evaluateAllFormulaCells(wb);
|
||||
// And via calls
|
||||
for (Sheet s : wb) {
|
||||
HSSFFormulaEvaluator eval = new HSSFFormulaEvaluator(wb);
|
||||
|
||||
// And via calls
|
||||
int numSheets = wb.getNumberOfSheets();
|
||||
for (int i = 0; i < numSheets; i++) {
|
||||
HSSFSheet s = wb.getSheetAt(i);
|
||||
HSSFFormulaEvaluator eval = new HSSFFormulaEvaluator(wb);
|
||||
|
||||
for (Iterator<Row> rows = s.rowIterator(); rows.hasNext();) {
|
||||
HSSFRow r = (HSSFRow)rows.next();
|
||||
for (Iterator<Cell> cells = r.cellIterator(); cells.hasNext();) {
|
||||
HSSFCell c = (HSSFCell)cells.next();
|
||||
eval.evaluateFormulaCell(c);
|
||||
for (Row r : s) {
|
||||
for (Cell c : r) {
|
||||
CellType ct = eval.evaluateFormulaCell(c);
|
||||
assertNotNull(ct);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
wb.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
package org.apache.poi.hssf.usermodel;
|
||||
|
||||
import static org.apache.poi.hssf.HSSFTestDataSamples.writeOutAndReadBack;
|
||||
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertSame;
|
||||
@ -864,7 +865,7 @@ public final class TestFormulas {
|
||||
public void testMissingArgPtg() throws IOException {
|
||||
try (HSSFWorkbook wb = new HSSFWorkbook()) {
|
||||
HSSFCell cell = wb.createSheet("Sheet1").createRow(4).createCell(0);
|
||||
cell.setCellFormula("IF(A1=\"A\",1,)");
|
||||
assertDoesNotThrow(() -> cell.setCellFormula("IF(A1=\"A\",1,)"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -17,7 +17,9 @@
|
||||
|
||||
package org.apache.poi.hssf.usermodel;
|
||||
|
||||
import static org.apache.poi.hssf.HSSFTestDataSamples.openSampleWorkbook;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotSame;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
|
||||
@ -38,7 +40,7 @@ public final class TestHSSFChart {
|
||||
|
||||
@Test
|
||||
public void testSingleChart() {
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("WithChart.xls");
|
||||
HSSFWorkbook wb = openSampleWorkbook("WithChart.xls");
|
||||
|
||||
HSSFSheet s1 = wb.getSheetAt(0);
|
||||
HSSFSheet s2 = wb.getSheetAt(1);
|
||||
@ -68,7 +70,7 @@ public final class TestHSSFChart {
|
||||
|
||||
@Test
|
||||
public void testTwoCharts() {
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("WithTwoCharts.xls");
|
||||
HSSFWorkbook wb = openSampleWorkbook("WithTwoCharts.xls");
|
||||
|
||||
HSSFSheet s1 = wb.getSheetAt(0);
|
||||
HSSFSheet s2 = wb.getSheetAt(1);
|
||||
@ -101,7 +103,7 @@ public final class TestHSSFChart {
|
||||
|
||||
@Test
|
||||
public void testThreeCharts() {
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("WithThreeCharts.xls");
|
||||
HSSFWorkbook wb = openSampleWorkbook("WithThreeCharts.xls");
|
||||
|
||||
HSSFSheet s1 = wb.getSheetAt(0);
|
||||
HSSFSheet s2 = wb.getSheetAt(1);
|
||||
@ -142,7 +144,7 @@ public final class TestHSSFChart {
|
||||
|
||||
@Test
|
||||
public void testExistingSheet3() throws Exception {
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("49581.xls");
|
||||
HSSFWorkbook wb = openSampleWorkbook("49581.xls");
|
||||
|
||||
HSSFSheet sheet = wb.getSheetAt( 2 ) ;
|
||||
HSSFChart[] charts = HSSFChart.getSheetCharts( sheet ) ;
|
||||
@ -165,7 +167,7 @@ public final class TestHSSFChart {
|
||||
|
||||
@Test
|
||||
public void testExistingSheet2() throws Exception {
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("49581.xls");
|
||||
HSSFWorkbook wb = openSampleWorkbook("49581.xls");
|
||||
HSSFSheet sheet = wb.getSheetAt( 1 ) ;
|
||||
HSSFChart[] charts = HSSFChart.getSheetCharts( sheet ) ;
|
||||
|
||||
@ -197,45 +199,38 @@ public final class TestHSSFChart {
|
||||
|
||||
@Test
|
||||
public void testExistingSheet1() throws Exception {
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("49581.xls");
|
||||
HSSFSheet sheet = wb.getSheetAt( 0 ) ;
|
||||
HSSFChart[] charts = HSSFChart.getSheetCharts( sheet ) ;
|
||||
try (HSSFWorkbook wb = openSampleWorkbook("49581.xls")) {
|
||||
HSSFSheet sheet = wb.getSheetAt(0);
|
||||
HSSFChart[] charts = HSSFChart.getSheetCharts(sheet);
|
||||
|
||||
for ( HSSFChart chart : charts ) {
|
||||
//System.out.println( chart.getType() ) ;
|
||||
HSSFSeries[] seriesArray = chart.getSeries() ;
|
||||
//System.out.println( "seriesArray.length=" + seriesArray.length ) ;
|
||||
for ( HSSFSeries series : seriesArray )
|
||||
{
|
||||
//System.out.println( "serie.getNumValues()=" + series.getNumValues() ) ;
|
||||
CellRangeAddressBase range ;
|
||||
for (HSSFChart chart : charts) {
|
||||
for (HSSFSeries series : chart.getSeries()) {
|
||||
CellRangeAddressBase range;
|
||||
|
||||
range = series.getValuesCellRange() ;
|
||||
//System.out.println( range.toString() ) ;
|
||||
range.setLastRow( range.getLastRow() + 1 ) ;
|
||||
series.setValuesCellRange( range ) ;
|
||||
range = series.getValuesCellRange();
|
||||
range.setLastRow(range.getLastRow() + 1);
|
||||
series.setValuesCellRange(range);
|
||||
|
||||
range = series.getCategoryLabelsCellRange() ;
|
||||
//System.out.println( range.toString() ) ;
|
||||
range.setLastRow( range.getLastRow() + 1 ) ;
|
||||
series.setCategoryLabelsCellRange( range ) ;
|
||||
}
|
||||
range = series.getCategoryLabelsCellRange();
|
||||
range.setLastRow(range.getLastRow() + 1);
|
||||
series.setCategoryLabelsCellRange(range);
|
||||
}
|
||||
|
||||
for ( int id = 0 ; id < 2 ; id++ )
|
||||
{
|
||||
HSSFSeries newSeries = chart.createSeries() ;
|
||||
newSeries.setValuesCellRange( new CellRangeAddress( 1 + id, 4, 3, 3 ) ) ;
|
||||
String oldSeriesTitle = newSeries.getSeriesTitle() ;
|
||||
if ( oldSeriesTitle != null )
|
||||
{
|
||||
//System.out.println( "old series title: " + oldSeriesTitle ) ;
|
||||
newSeries.setSeriesTitle( "new series" ) ;
|
||||
for (int id = 0; id < 2; id++) {
|
||||
HSSFSeries newSeries = chart.createSeries();
|
||||
assertNotNull(newSeries);
|
||||
newSeries.setValuesCellRange(new CellRangeAddress(1 + id, 4, 3, 3));
|
||||
String oldSeriesTitle = newSeries.getSeriesTitle();
|
||||
if (oldSeriesTitle != null) {
|
||||
newSeries.setSeriesTitle("new series");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HSSFChart chart = charts[ 2 ] ;
|
||||
chart.removeSeries( chart.getSeries()[ 0 ] ) ;
|
||||
HSSFChart chart = charts[2];
|
||||
chart.removeSeries(chart.getSeries()[0]);
|
||||
assertEquals(2, chart.getSeries().length);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -243,7 +238,7 @@ public final class TestHSSFChart {
|
||||
*/
|
||||
@Test
|
||||
public void test26862() throws IOException, Exception {
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("SimpleChart.xls");
|
||||
HSSFWorkbook wb = openSampleWorkbook("SimpleChart.xls");
|
||||
HSSFSheet srcSheet = wb.getSheetAt(0);
|
||||
HSSFChart[] srcCharts = HSSFChart.getSheetCharts(srcSheet);
|
||||
assertEquals(1, srcCharts.length);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user