Rename/Move xssf.model.Table to xssf.usermodel.XSSFTable as it now has usermodel-like features

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1092286 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2011-04-14 14:32:49 +00:00
parent b3fee7f7e6
commit 5df80fe7ac
10 changed files with 31 additions and 36 deletions

View File

@ -34,6 +34,7 @@
<changes>
<release version="3.8-beta3" date="2011-??-??">
<action dev="poi-developers" type="fix">Rename/Move xssf.model.Table to xssf.usermodel.XSSFTable as it now has usermodel-like features</action>
<action dev="poi-developers" type="fix">51061 - Correct target URI for new XSSF Tables</action>
<action dev="poi-developers" type="add">Initial support for XSSF Charts. Provides easy access to the underlying CTChart object via the Sheet Drawing, but no high level interface onto the chart contents as yet.</action>
<action dev="poi-developers" type="fix">50884 - XSSF and HSSF freeze panes now behave the same</action>

View File

@ -41,7 +41,7 @@ import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.xssf.model.Table;
import org.apache.poi.xssf.usermodel.XSSFTable;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFMap;
import org.apache.poi.xssf.usermodel.XSSFRow;
@ -123,7 +123,7 @@ public class XSSFExportToXml implements Comparator<String>{
*/
public void exportToXML(OutputStream os, String encoding, boolean validate) throws SAXException, ParserConfigurationException, TransformerException{
List<XSSFSingleXmlCell> singleXMLCells = map.getRelatedSingleXMLCell();
List<Table> tables = map.getRelatedTables();
List<XSSFTable> tables = map.getRelatedTables();
String rootElement = map.getCtMap().getRootElement();
@ -141,13 +141,13 @@ public class XSSFExportToXml implements Comparator<String>{
List<String> xpaths = new Vector<String>();
Map<String,XSSFSingleXmlCell> singleXmlCellsMappings = new HashMap<String,XSSFSingleXmlCell>();
Map<String,Table> tableMappings = new HashMap<String,Table>();
Map<String,XSSFTable> tableMappings = new HashMap<String,XSSFTable>();
for(XSSFSingleXmlCell simpleXmlCell : singleXMLCells) {
xpaths.add(simpleXmlCell.getXpath());
singleXmlCellsMappings.put(simpleXmlCell.getXpath(), simpleXmlCell);
}
for(Table table : tables) {
for(XSSFTable table : tables) {
String commonXPath = table.getCommonXpath();
xpaths.add(commonXPath);
tableMappings.put(commonXPath, table);
@ -159,7 +159,7 @@ public class XSSFExportToXml implements Comparator<String>{
for(String xpath : xpaths) {
XSSFSingleXmlCell simpleXmlCell = singleXmlCellsMappings.get(xpath);
Table table = tableMappings.get(xpath);
XSSFTable table = tableMappings.get(xpath);
if (!xpath.matches(".*\\[.*")) {

View File

@ -33,7 +33,7 @@ import javax.xml.xpath.XPathFactory;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.model.Table;
import org.apache.poi.xssf.usermodel.XSSFTable;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFMap;
import org.apache.poi.xssf.usermodel.XSSFRow;
@ -85,7 +85,7 @@ public class XSSFImportFromXML {
List<XSSFSingleXmlCell> singleXmlCells = _map.getRelatedSingleXMLCell();
List<Table> tables = _map.getRelatedTables();
List<XSSFTable> tables = _map.getRelatedTables();
XPathFactory xpathFactory = XPathFactory.newInstance();
XPath xpath = xpathFactory.newXPath();
@ -107,7 +107,7 @@ public class XSSFImportFromXML {
cell.setCellValue(textContent);
}
for (Table table : tables) {
for (XSSFTable table : tables) {
String commonXPath = table.getCommonXpath();
NodeList result = (NodeList) xpath.evaluate(commonXPath, doc, XPathConstants.NODESET);

View File

@ -24,7 +24,6 @@ import org.apache.poi.POIXMLDocumentPart;
import org.apache.poi.util.Internal;
import org.apache.poi.xssf.model.MapInfo;
import org.apache.poi.xssf.model.SingleXmlCells;
import org.apache.poi.xssf.model.Table;
import org.apache.poi.xssf.usermodel.helpers.XSSFSingleXmlCell;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTMap;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSchema;
@ -101,16 +100,16 @@ public class XSSFMap {
/**
* @return the list of all Tables that provide a map rule to this mapping
*/
public List<Table> getRelatedTables() {
public List<XSSFTable> getRelatedTables() {
List<Table> tables = new Vector<Table>();
List<XSSFTable> tables = new Vector<XSSFTable>();
int sheetNumber = mapInfo.getWorkbook().getNumberOfSheets();
for (int i = 0; i < sheetNumber; i++) {
XSSFSheet sheet = mapInfo.getWorkbook().getSheetAt(i);
for (POIXMLDocumentPart p : sheet.getRelations()) {
if (p.getPackageRelationship().getRelationshipType().equals(XSSFRelation.TABLE.getRelation())) {
Table table = (Table) p;
XSSFTable table = (XSSFTable) p;
if (table.mapsTo(ctMap.getID())) {
tables.add(table);
}

View File

@ -39,7 +39,6 @@ import org.apache.poi.xssf.model.MapInfo;
import org.apache.poi.xssf.model.SharedStringsTable;
import org.apache.poi.xssf.model.SingleXmlCells;
import org.apache.poi.xssf.model.StylesTable;
import org.apache.poi.xssf.model.Table;
import org.apache.poi.xssf.model.ThemesTable;
/**
@ -146,7 +145,7 @@ public final class XSSFRelation extends POIXMLRelation {
"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",
"/xl/tables/table#.xml",
Table.class
XSSFTable.class
);
public static final XSSFRelation IMAGES = new XSSFRelation(

View File

@ -59,7 +59,6 @@ import org.apache.poi.util.Internal;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.model.CommentsTable;
import org.apache.poi.xssf.model.Table;
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
import org.apache.poi.xssf.usermodel.helpers.XSSFRowShifter;
import org.apache.xmlbeans.XmlException;
@ -130,7 +129,7 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
* Master shared formula is the first formula in a group of shared formulas is saved in the f element.
*/
private Map<Integer, CTCellFormula> sharedFormulas;
private TreeMap<String,Table> tables;
private TreeMap<String,XSSFTable> tables;
private List<CellRangeAddress> arrayFormulas;
private XSSFDataValidationHelper dataValidationHelper;
@ -194,8 +193,8 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
sheetComments = (CommentsTable)p;
break;
}
if(p instanceof Table) {
tables.put( p.getPackageRelationship().getId(), (Table)p );
if(p instanceof XSSFTable) {
tables.put( p.getPackageRelationship().getId(), (XSSFTable)p );
}
}
@ -217,7 +216,7 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
@SuppressWarnings("deprecation") //YK: getXYZArray() array accessors are deprecated in xmlbeans with JDK 1.5 support
private void initRows(CTWorksheet worksheet) {
_rows = new TreeMap<Integer, XSSFRow>();
tables = new TreeMap<String, Table>();
tables = new TreeMap<String, XSSFTable>();
sharedFormulas = new HashMap<Integer, CTCellFormula>();
arrayFormulas = new ArrayList<CellRangeAddress>();
for (CTRow row : worksheet.getSheetData().getRowArray()) {
@ -3022,7 +3021,7 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
/**
* Creates a new Table, and associates it with this Sheet
*/
public Table createTable() {
public XSSFTable createTable() {
if(! worksheet.isSetTableParts()) {
worksheet.addNewTableParts();
}
@ -3033,7 +3032,7 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
// Table numbers need to be unique in the file, not just
// unique within the sheet. Find the next one
int tableNumber = getPackagePart().getPackage().getPartsByContentType(XSSFRelation.TABLE.getContentType()).size() + 1;
Table table = (Table)createRelationship(XSSFRelation.TABLE, XSSFFactory.getInstance(), tableNumber);
XSSFTable table = (XSSFTable)createRelationship(XSSFRelation.TABLE, XSSFFactory.getInstance(), tableNumber);
tbl.setId(table.getPackageRelationship().getId());
tables.put(tbl.getId(), table);
@ -3044,8 +3043,8 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
/**
* Returns any tables associated with this Sheet
*/
public List<Table> getTables() {
List<Table> tableList = new ArrayList<Table>(
public List<XSSFTable> getTables() {
List<XSSFTable> tableList = new ArrayList<XSSFTable>(
tables.values()
);
return tableList;

View File

@ -15,7 +15,7 @@
limitations under the License.
==================================================================== */
package org.apache.poi.xssf.model;
package org.apache.poi.xssf.usermodel;
import java.io.IOException;
import java.io.InputStream;
@ -28,7 +28,6 @@ import org.apache.poi.POIXMLDocumentPart;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.apache.poi.ss.util.CellReference;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.helpers.XSSFXmlColumnPr;
import org.apache.xmlbeans.XmlException;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTable;
@ -47,7 +46,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.TableDocument;
*
* @author Roberto Manicardi
*/
public class Table extends POIXMLDocumentPart {
public class XSSFTable extends POIXMLDocumentPart {
private CTTable ctTable;
private List<XSSFXmlColumnPr> xmlColumnPr;
@ -56,13 +55,13 @@ public class Table extends POIXMLDocumentPart {
private String commonXPath;
public Table() {
public XSSFTable() {
super();
ctTable = CTTable.Factory.newInstance();
}
public Table(PackagePart part, PackageRelationship rel)
public XSSFTable(PackagePart part, PackageRelationship rel)
throws IOException {
super(part, rel);
readFrom(part.getInputStream());

View File

@ -17,7 +17,7 @@
package org.apache.poi.xssf.usermodel.helpers;
import org.apache.poi.xssf.model.Table;
import org.apache.poi.xssf.usermodel.XSSFTable;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTableColumn;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXmlColumnPr;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STXmlDataType.Enum;
@ -33,11 +33,11 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.STXmlDataType.Enum;
*/
public class XSSFXmlColumnPr {
private Table table;
private XSSFTable table;
private CTTableColumn ctTableColumn;
private CTXmlColumnPr ctXmlColumnPr;
public XSSFXmlColumnPr(Table table ,CTTableColumn ctTableColum,CTXmlColumnPr ctXmlColumnPr){
public XSSFXmlColumnPr(XSSFTable table ,CTTableColumn ctTableColum,CTXmlColumnPr ctXmlColumnPr){
this.table = table;
this.ctTableColumn = ctTableColum;
this.ctXmlColumnPr = ctXmlColumnPr;

View File

@ -43,7 +43,6 @@ import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.XSSFITestDataProvider;
import org.apache.poi.xssf.XSSFTestDataSamples;
import org.apache.poi.xssf.model.CalculationChain;
import org.apache.poi.xssf.model.Table;
import org.apache.poi.xssf.usermodel.extensions.XSSFCellFill;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
@ -852,7 +851,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
assertEquals(0, s2.getTables().size());
assertEquals(0, s3.getTables().size());
Table t = s1.getTables().get(0);
XSSFTable t = s1.getTables().get(0);
assertEquals("Tabella1", t.getName());
assertEquals("Tabella1", t.getDisplayName());
assertEquals("A1:C3", t.getCTTable().getRef());

View File

@ -26,7 +26,6 @@ import org.apache.poi.xssf.XSSFTestDataSamples;
import org.apache.poi.xssf.model.CommentsTable;
import org.apache.poi.xssf.model.StylesTable;
import org.apache.poi.xssf.model.CalculationChain;
import org.apache.poi.xssf.model.Table;
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
import org.apache.poi.util.HexDump;
import org.apache.poi.hssf.record.PasswordRecord;
@ -1050,11 +1049,11 @@ public final class TestXSSFSheet extends BaseTestSheet {
assertEquals("a", s1.getRow(0).getCell(0).getRichStringCellValue().toString());
assertEquals(1.0, s1.getRow(1).getCell(0).getNumericCellValue());
List<Table> tables = s1.getTables();
List<XSSFTable> tables = s1.getTables();
assertNotNull(tables);
assertEquals(1, tables.size());
Table table = tables.get(0);
XSSFTable table = tables.get(0);
assertEquals("Tabella1", table.getName());
assertEquals("Tabella1", table.getDisplayName());