See 
<https://builds.apache.org/job/POI-DSL-OpenJDK/462/display/redirect?page=changes>

Changes:

[fanningpj] [github-115] implement endnote. This closes #115

------------------------------------------
[...truncated 415.96 KB...]
     [echo]  * <p>The only significant difference between footnotes and
     [echo]  * end notes is which part they go on. Footnotes are managed by the 
Footnotes part
     [echo]  * {@link XWPFFootnotes} and end notes are managed by the Endnotes 
part {@link XWPFEndnotes}.</p>
     [echo]  * @since 4.0.0
     [echo]  */
     [echo] public abstract class AbstractXWPFFootnoteEndnote  implements 
Iterable<XWPFParagraph>, IBody {
     [echo] 
     [echo]     private List<XWPFParagraph> paragraphs = new ArrayList<>();
     [echo]     private List<XWPFTable> tables = new ArrayList<>();
     [echo]     private List<XWPFPictureData> pictures = new ArrayList<>();
     [echo]     private List<IBodyElement> bodyElements = new ArrayList<>();
     [echo]     protected CTFtnEdn ctFtnEdn;
     [echo]     protected AbstractXWPFFootnotesEndnotes footnotes;
     [echo]     protected XWPFDocument document;
     [echo] 
     [echo]     public AbstractXWPFFootnoteEndnote() {
     [echo]         super();
     [echo]     }
     [echo] 
     [echo]     @Internal
     [echo]     protected AbstractXWPFFootnoteEndnote(XWPFDocument document, 
CTFtnEdn body) {
     [echo]         ctFtnEdn = body;
     [echo]         this.document = document;
     [echo]         init();
     [echo]     }
     [echo] 
     [echo]     @Internal
     [echo] 
     [echo] =====================================================
     [echo] == File: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/src/ooxml/java/org/apache/poi/xwpf/usermodel/AbstractXWPFFootnotesEndnotes.java>
     [echo] =====================================================
     [echo] package org.apache.poi.xwpf.usermodel;
     [echo] 
     [echo] import java.util.ArrayList;
     [echo] import java.util.List;
     [echo] 
     [echo] import org.apache.poi.ooxml.POIXMLDocumentPart;
     [echo] import org.apache.poi.openxml4j.opc.OPCPackage;
     [echo] import org.apache.poi.openxml4j.opc.PackagePart;
     [echo] 
     [echo] /**
     [echo]  * Base class for the Footnotes and Endnotes part implementations.
     [echo]  * @since 4.0.0
     [echo]  */
     [echo] public abstract class AbstractXWPFFootnotesEndnotes extends 
POIXMLDocumentPart {
     [echo] 
     [echo]     protected XWPFDocument document;
     [echo]     protected List<AbstractXWPFFootnoteEndnote> listFootnote = new 
ArrayList<>();
     [echo]     private FootnoteEndnoteIdManager idManager;
     [echo]     
     [echo]     public AbstractXWPFFootnotesEndnotes(OPCPackage pkg) {
     [echo]         super(pkg);
     [echo]     }
     [echo] 
     [echo]     public AbstractXWPFFootnotesEndnotes(OPCPackage pkg,
     [echo]             String coreDocumentRel) {
     [echo]         super(pkg, coreDocumentRel);
     [echo]     }
     [echo] 
     [echo]     public AbstractXWPFFootnotesEndnotes() {
     [echo]         super();
     [echo]     }
     [echo] 
     [echo]     public AbstractXWPFFootnotesEndnotes(PackagePart part) {
     [echo]         super(part);
     [echo]     }
     [echo] 
     [echo]     public AbstractXWPFFootnotesEndnotes(POIXMLDocumentPart parent, 
PackagePart part) {
     [echo]         super(parent, part);
     [echo]     }
     [echo] 
     [echo] 
     [echo]     public AbstractXWPFFootnoteEndnote getFootnoteById(int id) {
     [echo]         for (AbstractXWPFFootnoteEndnote note : listFootnote) {
     [echo]             if (note.getCTFtnEdn().getId().intValue() == id)
     [echo]                 return note;
     [echo]         }
     [echo]         return null;
     [echo]     }
     [echo] 
     [echo]     /**
     [echo] 
     [echo] =====================================================
     [echo] == File: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/src/ooxml/java/org/apache/poi/xwpf/usermodel/FootnoteEndnoteIdManager.java>
     [echo] =====================================================
     [echo] package org.apache.poi.xwpf.usermodel;
     [echo] 
     [echo] import java.math.BigInteger;
     [echo] import java.util.ArrayList;
     [echo] import java.util.List;
     [echo] 
     [echo] /**
     [echo]  * Manages IDs for footnotes and endnotes.
     [echo]  * <p>Footnotes and endnotes are managed in separate parts but
     [echo]  * represent a single namespace of IDs.</p>
     [echo]  */
     [echo] public class FootnoteEndnoteIdManager {
     [echo] 
     [echo]     private XWPFDocument document;    
     [echo] 
     [echo]     public FootnoteEndnoteIdManager(XWPFDocument document) {
     [echo]         this.document = document;
     [echo]     }
     [echo] 
     [echo]     /**
     [echo]      * Gets the next ID number.
     [echo]      *
     [echo]      * @return ID number to use.
     [echo]      */
     [echo]     public BigInteger nextId() {
     [echo]         
     [echo]         List<BigInteger> ids = new ArrayList<BigInteger>();
     [echo]         for (AbstractXWPFFootnoteEndnote note : 
document.getFootnotes()) {
     [echo]             ids.add(note.getId());
     [echo]         }
     [echo]         for (AbstractXWPFFootnoteEndnote note : 
document.getEndnotes()) {
     [echo]             ids.add(note.getId());
     [echo]         }
     [echo]         int cand = ids.size();
     [echo]         BigInteger newId = BigInteger.valueOf(cand);
     [echo]         while (ids.contains(newId)) {
     [echo]             cand++;
     [echo]             newId = BigInteger.valueOf(cand);
     [echo]         } 
     [echo]         
     [echo]         return newId;
     [echo]     }
     [echo] 
     [echo] 
     [echo] }
     [echo] 
     [echo] =====================================================
     [echo] == File: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFEndnote.java>
     [echo] =====================================================
     [echo] package org.apache.poi.xwpf.usermodel;
     [echo] 
     [echo] import org.apache.poi.util.Internal;
     [echo] import 
org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFtnEdn;
     [echo] import 
org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFtnEdnRef;
     [echo] import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTR;
     [echo] 
     [echo] /**
     [echo]  * Represents an end note footnote.
     [echo]  * <p>End notes are collected at the end of a document or section 
rather than
     [echo]  * at the bottom of a page.</p>
     [echo]  * <p>Create a new footnote using {@link 
XWPFDocument#createEndnote()} or
     [echo]  * {@link XWPFEndnotes#createFootnote()}.</p>
     [echo]  * <p>The first body element of a footnote should (or possibly 
must) be a paragraph
     [echo]  * with the first run containing a CTFtnEdnRef object. The {@link 
XWPFFootnote#createParagraph()}
     [echo]  * and {@link XWPFFootnote#createTable()} methods do this for 
you.</p>
     [echo]  * <p>Footnotes have IDs that are unique across all footnotes in 
the document. You use
     [echo]  * the footnote ID to create a reference to a footnote from within 
a paragraph.</p>
     [echo]  * <p>To create a reference to a footnote within a paragraph you 
create a run
     [echo]  * with a CTFtnEdnRef that specifies the ID of the target 
paragraph. 
     [echo]  * The {@link 
XWPFParagraph#addFootnoteReference(AbstractXWPFFootnoteEndnote)}
     [echo]  * method does this for you.</p>
     [echo]  * @since 4.0.0
     [echo]  */
     [echo] public class XWPFEndnote extends AbstractXWPFFootnoteEndnote {
     [echo] 
     [echo]     public XWPFEndnote() {}
     [echo] 
     [echo]     @Internal
     [echo]     public XWPFEndnote(XWPFDocument document, CTFtnEdn body) {
     [echo]         super(document, body);
     [echo]     }
     [echo] 
     [echo]     @Internal
     [echo]     public XWPFEndnote(CTFtnEdn note, AbstractXWPFFootnotesEndnotes 
footnotes) {
     [echo]         super(note, footnotes);
     [echo]     }
     [echo] 
     [echo]     /**
     [echo]      * Ensure that the specified paragraph has a reference marker 
for this
     [echo]      * end note by adding a footnote reference if one is not found.
     [echo]      * <p>This method is for the first paragraph in the footnote, 
not 
     [echo]      * paragraphs that will refer to the footnote. For references to
     [echo]      * the footnote, use {@link 
XWPFParagraph#addFootnoteReference(AbstractXWPFFootnoteEndnote))}.
     [echo]      * </p>
     [echo]      * <p>The first run of the first paragraph in a footnote should
     [echo]      * contain a {@link CTFtnEdnRef} object.</p>
     [echo]      *
     [echo]      * @param p The {@link XWPFParagraph} to ensure
     [echo]      * @since 4.0.0
     [echo] 
     [echo] =====================================================
     [echo] == File: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFEndnotes.java>
     [echo] =====================================================
     [echo] package org.apache.poi.xwpf.usermodel;
     [echo] 
     [echo] import static 
org.apache.poi.ooxml.POIXMLTypeLoader.DEFAULT_XML_OPTIONS;
     [echo] 
     [echo] import java.io.IOException;
     [echo] import java.io.InputStream;
     [echo] import java.io.OutputStream;
     [echo] import java.math.BigInteger;
     [echo] import java.util.ArrayList;
     [echo] import java.util.List;
     [echo] 
     [echo] import javax.xml.namespace.QName;
     [echo] 
     [echo] import org.apache.poi.ooxml.POIXMLException;
     [echo] import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
     [echo] import org.apache.poi.openxml4j.opc.PackagePart;
     [echo] import org.apache.poi.util.Internal;
     [echo] import org.apache.xmlbeans.XmlException;
     [echo] import org.apache.xmlbeans.XmlOptions;
     [echo] import 
org.openxmlformats.schemas.wordprocessingml.x2006.main.CTEndnotes;
     [echo] import 
org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFtnEdn;
     [echo] import 
org.openxmlformats.schemas.wordprocessingml.x2006.main.EndnotesDocument;
     [echo] import 
org.openxmlformats.schemas.wordprocessingml.x2006.main.STFtnEdn;
     [echo] 
     [echo] 
     [echo] /**
     [echo]  * Looks after the collection of end notes for a document.
     [echo]  * Managed end notes ({@link XWPFEndnote}).
     [echo]  * @since 4.0.0
     [echo]  */
     [echo] public class XWPFEndnotes extends AbstractXWPFFootnotesEndnotes {
     [echo] 
     [echo]     protected CTEndnotes ctEndnotes;
     [echo] 
     [echo]     public XWPFEndnotes() {
     [echo]         super();
     [echo]     }
     [echo] 
     [echo]     /**
     [echo]      * Construct XWPFEndnotes from a package part
     [echo]      *
     [echo]      * @param part the package part holding the data of the 
footnotes,
     [echo]      * 
     [echo]      * @since POI 3.14-Beta1
     [echo]      */
     [echo]     public XWPFEndnotes(PackagePart part) throws IOException, 
OpenXML4JException {
     [echo]         super(part);
     [echo]     }
     [echo]     
     [echo]     /**

BUILD FAILED
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build.xml>:2187: condition 
satisfied

Total time: 19 minutes 39 seconds
Build step 'Invoke Ant' marked build as failure
Skipping publisher since build result is FAILURE
Archiving artifacts
[Fast Archiver] Compressed 234.52 MB of artifacts by 42.5% relative to #461
Skipping publisher since build result is FAILURE
Recording test results

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org

Reply via email to