Changeset 1092


Ignore:
Timestamp:
02/27/10 17:43:39 (2 years ago)
Author:
jharrop
Message:

don't trip up on bookmarks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/docx4j/src/main/java/org/docx4j/model/table/TableModel.java

    r960 r1092  
    2525import java.util.Vector; 
    2626 
    27 import javax.xml.bind.JAXBElement; 
    28 import javax.xml.bind.JAXBException; 
    2927import javax.xml.transform.TransformerException; 
    3028 
    3129import org.apache.log4j.Logger; 
    32 import org.docx4j.UnitsOfMeasurement; 
    3330import org.docx4j.XmlUtils; 
    34 import org.docx4j.convert.out.Converter; 
    3531import org.docx4j.jaxb.Context; 
    3632import org.docx4j.model.Model; 
    3733import org.docx4j.model.PropertyResolver; 
    3834import org.docx4j.model.TransformState; 
    39 import org.docx4j.model.properties.Property; 
    4035import org.docx4j.model.structure.PageDimensions; 
    4136import org.docx4j.openpackaging.exceptions.Docx4JException; 
    42 import org.docx4j.openpackaging.packages.WordprocessingMLPackage; 
    43  
    4437import org.docx4j.wml.CTTblPrBase; 
    4538import org.docx4j.wml.ObjectFactory; 
     
    5649import org.docx4j.wml.TcPrInner.GridSpan; 
    5750import org.docx4j.wml.TcPrInner.VMerge; 
    58  
    5951import org.w3c.dom.Node; 
    6052import org.w3c.dom.NodeList; 
     53 
     54import javax.xml.bind.JAXBElement; 
     55import javax.xml.bind.JAXBException; 
    6156 
    6257/** 
     
    298293                int r = 0; 
    299294                for (Object o : rows) { 
    300                         startRow(); 
    301                         Tr tr = (Tr) o; 
     295                        startRow();                      
     296                        Tr tr = null; 
     297                         if (o instanceof org.docx4j.wml.Tr) {                            
     298                                 log.debug( "\n in w:tr .. "); 
     299                                 tr = (org.docx4j.wml.Tr)o;              
     300                         } else if (o instanceof javax.xml.bind.JAXBElement 
     301                                         && ((JAXBElement)o).getDeclaredType().getName().equals("org.docx4j.wml.Tr")) { 
     302                                 tr = (org.docx4j.wml.Tr)((JAXBElement)o).getValue(); 
     303                         } else { 
     304                                 // What? 
     305                                if (o instanceof javax.xml.bind.JAXBElement) { 
     306                                        if (((JAXBElement) o).getDeclaredType().getName().equals( 
     307                                                        "org.docx4j.wml.CTMarkupRange")) { 
     308                                                // Ignore w:bookmarkEnd 
     309                                        } else { 
     310                                                log.warn("TODO - skipping JAXBElement:  " 
     311                                                                                + ((JAXBElement) o).getDeclaredType() 
     312                                                                                                .getName()); 
     313                                                log.debug(XmlUtils.marshaltoString(o, true)); 
     314                                        } 
     315                                } else { 
     316                                        log.warn("TODO - skipping:  " + o.getClass().getName()); 
     317                                        log.debug(XmlUtils.marshaltoString(o, true)); 
     318                                } 
     319                                continue; 
     320                         }                       
     321                         
    302322                        if (borderConflictResolutionRequired && tr.getTblPrEx()!=null 
    303323                                        && tr.getTblPrEx().getTblCellSpacing()!=null) { 
     
    308328                        for (Object o2 : cells) { 
    309329 
    310                                 if (o2 instanceof javax.xml.bind.JAXBElement) { 
    311  
    312                                         //                                      System.out.println( ((JAXBElement)o2).getName() ); 
    313                                         //                                      System.out.println( ((JAXBElement)o2).getDeclaredType().getName() + "\n\n"); 
    314  
    315                                         Tc tc = (Tc) ((JAXBElement) o2).getValue(); 
    316                                         Node wtrNode = cellContents.item(r); //w:tr 
    317                                         addCell(tc, wtrNode.getChildNodes().item(c)); 
    318                                         // addCell(tc, cellContents.item(i)); 
    319                                         // i++; 
    320                                         c++; 
    321  
    322                                 } else { 
    323  
    324                                         log.warn("Encountered unexpected: " 
    325                                                         + o2.getClass().getName()); 
    326                                 } 
     330                                Tc tc = null; 
     331                                 if (o2 instanceof org.docx4j.wml.Tc) {                           
     332                                         tc = (org.docx4j.wml.Tc)o2;             
     333                                 } else if (o2 instanceof javax.xml.bind.JAXBElement 
     334                                                 && ((JAXBElement)o2).getDeclaredType().getName().equals("org.docx4j.wml.Tc")) { 
     335                                         tc = (org.docx4j.wml.Tc)((JAXBElement)o2).getValue(); 
     336                                 } else { 
     337                                         // What? 
     338                                         if (o2 instanceof javax.xml.bind.JAXBElement) { 
     339                                                 log.warn("TODO - skipping JAXBElement:  " + ((JAXBElement)o2).getDeclaredType().getName() ); 
     340                                         } else { 
     341                                                 log.warn("TODO - skipping:  " + o2.getClass().getName() ); 
     342                                         } 
     343                                         log.debug( XmlUtils.marshaltoString(o2, true)); 
     344                                         continue; 
     345                                 } 
     346                                 
     347                                Node wtrNode = cellContents.item(r); //w:tr 
     348                                addCell(tc, wtrNode.getChildNodes().item(c)); 
     349                                // addCell(tc, cellContents.item(i)); 
     350                                // i++; 
     351                                c++; 
     352 
    327353                        } 
    328354                        r++; 
Note: See TracChangeset for help on using the changeset viewer.