/** * Sets the primary key of this document to the document's header if not * already existent. If there is no header, also the header is created and * primary key set. The document ID is left blank. * * @param data * @param cas * @throws CollectionException */ private String setPrimaryKeyAsDocId(byte[][] data, boolean setPKAsDocId, JCas cas) { String pkString = null; Header header = null; FSIterator<Annotation> itHeader = cas.getAnnotationIndex(Header.type).iterator(); if (itHeader.hasNext()) header = (Header) itHeader.next(); if (null == header) { log.trace("No header found, setting a new one."); header = new Header(cas); header.addToIndexes(); } if (setPKAsDocId) { pkString = getPkStringFromData(data); header.setDocId(pkString); } return pkString; }