List of usage examples for org.apache.poi.openxml4j.opc OPCPackage open
public static OPCPackage open(InputStream in) throws InvalidFormatException, IOException
From source file:org.obeonetwork.m2doc.generator.test.VariousTest.java
License:Open Source License
@Test public void testPropertiesAccess() throws InvalidFormatException, IOException, DocumentParserException, DocumentGenerationException { FileInputStream is = new FileInputStream("templates/propertiesTest.docx"); OPCPackage oPackage = OPCPackage.open(is); XWPFDocument document = new XWPFDocument(oPackage); CustomProperties props = document.getProperties().getCustomProperties(); List<CTProperty> properties = props.getUnderlyingProperties().getPropertyList(); for (CTProperty property : properties) { // TODO Finish this. }/* w w w . j av a 2 s. c o m*/ }
From source file:org.obeonetwork.m2doc.generator.UserContentManager.java
License:Open Source License
/** * Generates lost files if needed and update given {@link GenerationResult}. * /*www. j a va 2 s .c o m*/ * @param result * the {@link GenerationResult} * @throws IOException * if the lost {@link UserContent} can't be written * @throws InvalidFormatException * if the input {@link DocumentTemplate} can't be read */ public void generateLostFiles(GenerationResult result) throws IOException, InvalidFormatException { for (Entry<String, List<UserContent>> entry : mapIdUserContent.entrySet()) { final URI lostUserContentURI = getLostUserContentURI(destination, entry.getKey()); result.getLostUserContents().put(entry.getKey(), lostUserContentURI); final boolean isNewUserContentLoss; final URI inputURI; if (uriConverter.exists(lostUserContentURI, Collections.EMPTY_MAP)) { inputURI = lostUserContentURI; isNewUserContentLoss = false; } else { inputURI = documentTemplate.eResource().getURI(); isNewUserContentLoss = true; } try (InputStream is = uriConverter.createInputStream(inputURI); OPCPackage oPackage = OPCPackage.open(is); XWPFDocument destinationDocument = new XWPFDocument(oPackage);) { if (isNewUserContentLoss) { // clear the document int size = destinationDocument.getBodyElements().size(); for (int i = 0; i < size; i++) { destinationDocument.removeBodyElement(0); } } XWPFParagraph currentGeneratedParagraph = destinationDocument.createParagraph(); M2DocUtils.appendMessageRun(currentGeneratedParagraph, ValidationMessageLevel.WARNING, format.format(new Date()) + " - Lost user content " + entry.getKey()); result.updateLevel(ValidationMessageLevel.WARNING); currentGeneratedParagraph = destinationDocument.createParagraph(); for (UserContent userContent : entry.getValue()) { final UserContentRawCopy userContentRawCopy = new UserContentRawCopy(); try { currentGeneratedParagraph = destinationDocument.createParagraph(); currentGeneratedParagraph = userContentRawCopy.copy(userContent, currentGeneratedParagraph, destinationDocument); } catch (InvalidFormatException e) { M2DocUtils.appendMessageRun(currentGeneratedParagraph, ValidationMessageLevel.ERROR, USERDOC_COPY_ERROR + e.getMessage()); result.updateLevel(ValidationMessageLevel.ERROR); } catch (XmlException e) { M2DocUtils.appendMessageRun(currentGeneratedParagraph, ValidationMessageLevel.ERROR, USERDOC_COPY_ERROR + e.getMessage()); result.updateLevel(ValidationMessageLevel.ERROR); } catch (IOException e) { M2DocUtils.appendMessageRun(currentGeneratedParagraph, ValidationMessageLevel.ERROR, USERDOC_COPY_ERROR + e.getMessage()); result.updateLevel(ValidationMessageLevel.ERROR); } } POIServices.getInstance().saveFile(uriConverter, destinationDocument, lostUserContentURI); } } }
From source file:org.obeonetwork.m2doc.parser.test.DocumentParserErrorsTest.java
License:Open Source License
/** * Tests the error reporting on a repetition tag with a syntactically * invalid expression//from ww w. j a va 2 s . c o m * * @throws InvalidFormatException * @throws IOException * @throws DocumentParserException */ @Test public void testRepetitionError1() throws InvalidFormatException, IOException, DocumentParserException { FileInputStream is = new FileInputStream("templates/testInvalidFor1.docx"); OPCPackage oPackage = OPCPackage.open(is); XWPFDocument document = new XWPFDocument(oPackage); BodyParser parser = new BodyParser(document, env); Template template = parser.parseTemplate(); assertEquals(document, template.getDocument()); assertEquals(1, template.getSubConstructs().size()); assertTrue(template.getSubConstructs().get(0) instanceof Repetition); Repetition repetition = (Repetition) template.getSubConstructs().get(0); assertEquals(1, repetition.getParsingErrors().size()); assertEquals("Expression self. is invalid", repetition.getParsingErrors().get(0).getMessage()); }
From source file:org.obeonetwork.m2doc.parser.test.DocumentParserErrorsTest.java
License:Open Source License
/** * Tess the error reporting on a repetition tag without iteration variable * defined./*from w w w . ja va 2 s .c o m*/ * * @throws InvalidFormatException * @throws IOException * @throws DocumentParserException */ @Test public void testRepetitionError2() throws InvalidFormatException, IOException, DocumentParserException { FileInputStream is = new FileInputStream("templates/testInvalidFor2.docx"); OPCPackage oPackage = OPCPackage.open(is); XWPFDocument document = new XWPFDocument(oPackage); BodyParser parser = new BodyParser(document, env); Template template = parser.parseTemplate(); assertEquals(document, template.getDocument()); assertEquals(1, template.getSubConstructs().size()); assertTrue(template.getSubConstructs().get(0) instanceof Repetition); Repetition repetition = (Repetition) template.getSubConstructs().get(0); assertEquals(1, repetition.getParsingErrors().size()); assertEquals("Malformed tag gd:for : no iteration variable specified.", repetition.getParsingErrors().get(0).getMessage()); }
From source file:org.obeonetwork.m2doc.parser.test.DocumentParserErrorsTest.java
License:Open Source License
/** * Tess the error reporting on a repetition tag without iteration variable * defined./*from www . jav a2 s . c om*/ * * @throws InvalidFormatException * @throws IOException * @throws DocumentParserException */ @Test public void testRepetitionError3() throws InvalidFormatException, IOException, DocumentParserException { FileInputStream is = new FileInputStream("templates/testInvalidFor3.docx"); OPCPackage oPackage = OPCPackage.open(is); XWPFDocument document = new XWPFDocument(oPackage); BodyParser parser = new BodyParser(document, env); Template template = parser.parseTemplate(); assertEquals(document, template.getDocument()); assertEquals(1, template.getSubConstructs().size()); assertTrue(template.getSubConstructs().get(0) instanceof Repetition); Repetition repetition = (Repetition) template.getSubConstructs().get(0); assertEquals(1, repetition.getParsingErrors().size()); assertEquals("Malformed tag gd:for, no '|' found.", repetition.getParsingErrors().get(0).getMessage()); }
From source file:org.obeonetwork.m2doc.parser.test.DocumentParserErrorsTest.java
License:Open Source License
/** * Tess the error reporting on a repetition tag without iteration variable * defined./*w w w.ja va2 s .co m*/ * * @throws InvalidFormatException * @throws IOException * @throws DocumentParserException */ @Test public void testRepetitionError4() throws InvalidFormatException, IOException, DocumentParserException { FileInputStream is = new FileInputStream("templates/testInvalidFor4.docx"); OPCPackage oPackage = OPCPackage.open(is); XWPFDocument document = new XWPFDocument(oPackage); BodyParser parser = new BodyParser(document, env); Template template = parser.parseTemplate(); assertEquals(document, template.getDocument()); assertEquals(1, template.getSubConstructs().size()); assertTrue(template.getSubConstructs().get(0) instanceof Repetition); Repetition repetition = (Repetition) template.getSubConstructs().get(0); assertEquals(1, repetition.getParsingErrors().size()); assertEquals("Unexpected tag EOF at this location", repetition.getParsingErrors().get(0).getMessage()); }
From source file:org.obeonetwork.m2doc.parser.test.DocumentParserErrorsTest.java
License:Open Source License
/** * Tess the error reporting on a repetition tag without iteration variable * defined.//from ww w.j a v a 2 s .c om * * @throws InvalidFormatException * @throws IOException * @throws DocumentParserException */ @Test public void testRepetitionError5() throws InvalidFormatException, IOException, DocumentParserException { FileInputStream is = new FileInputStream("templates/testInvalidFor5.docx"); OPCPackage oPackage = OPCPackage.open(is); XWPFDocument document = new XWPFDocument(oPackage); BodyParser parser = new BodyParser(document, env); Template template = parser.parseTemplate(); assertEquals(document, template.getDocument()); assertEquals(1, template.getSubConstructs().size()); assertEquals(1, template.getParsingErrors().size()); assertEquals("Unexpected tag m:endfor at this location", template.getParsingErrors().get(0).getMessage()); }
From source file:org.obeonetwork.m2doc.parser.test.DocumentParserErrorsTest.java
License:Open Source License
/** * Tess the error reporting on a query tag with an invalid expression. * /*from w ww. j av a 2s. c o m*/ * @throws InvalidFormatException * @throws IOException * @throws DocumentParserException */ @Test public void testQueryTagError() throws InvalidFormatException, IOException, DocumentParserException { FileInputStream is = new FileInputStream("templates/testInvalidAQL.docx"); OPCPackage oPackage = OPCPackage.open(is); XWPFDocument document = new XWPFDocument(oPackage); BodyParser parser = new BodyParser(document, env); Template template = parser.parseTemplate(); assertEquals(document, template.getDocument()); assertEquals(2, template.getSubConstructs().size()); assertTrue(template.getSubConstructs().get(1) instanceof Query); Query query = (Query) template.getSubConstructs().get(1); assertEquals("Expression self. is invalid", query.getParsingErrors().get(0).getMessage()); }
From source file:org.obeonetwork.m2doc.parser.test.DocumentParserErrorsTest.java
License:Open Source License
/** * Tests the error reporting on a conditionnal tag with a syntactically * invalid expression//from w w w . ja va 2s. c o m * * @throws InvalidFormatException * @throws IOException * @throws DocumentParserException */ @Test public void testConditionnalError1() throws InvalidFormatException, IOException, DocumentParserException { FileInputStream is = new FileInputStream("templates/testInvalidConditionnal1.docx"); OPCPackage oPackage = OPCPackage.open(is); XWPFDocument document = new XWPFDocument(oPackage); BodyParser parser = new BodyParser(document, env); Template template = parser.parseTemplate(); assertEquals(document, template.getDocument()); assertEquals(1, template.getSubConstructs().size()); assertTrue(template.getSubConstructs().get(0) instanceof Conditionnal); Conditionnal conditionnal = (Conditionnal) template.getSubConstructs().get(0); assertEquals(1, conditionnal.getParsingErrors().size()); assertEquals("Expression x= is invalid", conditionnal.getParsingErrors().get(0).getMessage()); }
From source file:org.obeonetwork.m2doc.parser.test.DocumentParserErrorsTest.java
License:Open Source License
/** * Tests the error reporting on a conditionnal without an gd:endif tag * /*from www .j a v a2 s.c om*/ * @throws InvalidFormatException * @throws IOException * @throws DocumentParserException */ @Test public void testConditionnalError2() throws InvalidFormatException, IOException, DocumentParserException { FileInputStream is = new FileInputStream("templates/testInvalidConditionnal2.docx"); OPCPackage oPackage = OPCPackage.open(is); XWPFDocument document = new XWPFDocument(oPackage); BodyParser parser = new BodyParser(document, env); Template template = parser.parseTemplate(); assertEquals(document, template.getDocument()); assertEquals(1, template.getSubConstructs().size()); assertTrue(template.getSubConstructs().get(0) instanceof Conditionnal); Conditionnal conditionnal = (Conditionnal) template.getSubConstructs().get(0); assertEquals(2, conditionnal.getParsingErrors().size()); assertEquals("Unexpected tag EOF at this location", conditionnal.getParsingErrors().get(0).getMessage()); assertEquals("gd:elseif, gd:else or gd:endif expected here.", conditionnal.getParsingErrors().get(1).getMessage()); }