Example usage for org.apache.poi.openxml4j.opc OPCPackage open

List of usage examples for org.apache.poi.openxml4j.opc OPCPackage open

Introduction

In this page you can find the example usage for org.apache.poi.openxml4j.opc OPCPackage open.

Prototype

public static OPCPackage open(InputStream in) throws InvalidFormatException, IOException 

Source Link

Document

Open a package.

Usage

From source file:org.obeonetwork.m2doc.tests.parser.RunIteratorTests.java

License:Open Source License

@Test(expected = NotOfficeXmlFileException.class)
public void testEmptyDoc() throws InvalidFormatException, IOException {
    final File file = new File("resources/document/empty/empty-template.docx");
    assertTrue(file.exists());//from  w  w w.j av  a2 s  . c  om
    try (FileInputStream is = new FileInputStream(file);
            OPCPackage oPackage = OPCPackage.open(is);
            XWPFDocument document = new XWPFDocument(oPackage);) {
        TokenIterator iterator = new TokenIterator(document);

        assertTrue(!iterator.hasNext());
    }
}

From source file:org.obeonetwork.m2doc.tests.parser.RunProviderTests.java

License:Open Source License

@Test
public void testNonEmptyDoc() throws InvalidFormatException, IOException {
    try (FileInputStream is = new FileInputStream("resources/document/notEmpty/notEmpty-template.docx");
            OPCPackage oPackage = OPCPackage.open(is);
            XWPFDocument document = new XWPFDocument(oPackage);) {
        TokenProvider iterator = new TokenProvider(document);
        XWPFRun run = iterator.next().getRun();
        assertEquals("P1Run1 ", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();// w  w w.  ja va 2 s .c om
        assertEquals("P1Run2", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertEquals(" P1Run3", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertEquals("P2Run1 ", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertEquals("P2Run2", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertEquals(" ", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertEquals("P2Run3", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertEquals("", run.getText(run.getTextPosition()));
        assertTrue(!iterator.hasNext());
    }
}

From source file:org.obeonetwork.m2doc.tests.parser.RunProviderTests.java

License:Open Source License

@Test(expected = NoSuchElementException.class)
public void testAccessEmptyIterator() throws InvalidFormatException, IOException {
    try (FileInputStream is = new FileInputStream("resources/document/notEmpty/notEmpty-template.docx");
            OPCPackage oPackage = OPCPackage.open(is);
            XWPFDocument document = new XWPFDocument(oPackage);) {
        TokenProvider iterator = new TokenProvider(document);
        iterator.next().getRun();//  www  .j a  va 2  s. co m
        iterator.next().getRun();
        iterator.next().getRun();
        iterator.next().getRun();
        iterator.next().getRun();
        iterator.next().getRun();
        iterator.next().getRun();
        iterator.next().getRun();
        iterator.next().getRun();
    }
}

From source file:org.obeonetwork.m2doc.tests.parser.RunProviderTests.java

License:Open Source License

@Test
public void testLookaheadEmptyIterator() throws InvalidFormatException, IOException {
    try (FileInputStream is = new FileInputStream("resources/document/notEmpty/notEmpty-template.docx");
            OPCPackage oPackage = OPCPackage.open(is);
            XWPFDocument document = new XWPFDocument(oPackage);) {
        TokenProvider iterator = new TokenProvider(document);
        iterator.next().getRun();//  w w w.  ja v  a 2s . c o  m
        iterator.next().getRun();
        iterator.next().getRun();
        iterator.next().getRun();
        iterator.next().getRun();
        iterator.next().getRun();
        iterator.next().getRun();
        iterator.next().getRun();
        assertNull(iterator.lookAhead(1));
    }
}

From source file:org.obeonetwork.m2doc.tests.parser.RunProviderTests.java

License:Open Source License

@Test
public void testHasElements() throws InvalidFormatException, IOException {
    try (FileInputStream is = new FileInputStream("resources/document/notEmpty/notEmpty-template.docx");
            OPCPackage oPackage = OPCPackage.open(is);
            XWPFDocument document = new XWPFDocument(oPackage);) {
        TokenProvider iterator = new TokenProvider(document);
        // CHECKSTYLE:OFF
        assertTrue(iterator.hasElements(7));
        // CHECKSTYLE:ON
        XWPFRun run = iterator.next().getRun();
        assertTrue(iterator.hasElements(6));
        assertEquals("P1Run1 ", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();/*from  ww w  . jav  a 2 s .co  m*/
        assertTrue(iterator.hasElements(5));
        assertEquals("P1Run2", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertTrue(iterator.hasElements(4));
        assertEquals(" P1Run3", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertTrue(iterator.hasElements(3));
        assertEquals("P2Run1 ", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertTrue(iterator.hasElements(2));
        assertEquals("P2Run2", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertTrue(iterator.hasElements(1));
        assertEquals(" ", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertTrue(iterator.hasElements(0));
        assertEquals("P2Run3", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertEquals("", run.getText(run.getTextPosition()));
        assertTrue(!iterator.hasNext());
    }
}

From source file:org.obeonetwork.m2doc.tests.parser.RunProviderTests.java

License:Open Source License

@Test
public void testLookAhead() throws InvalidFormatException, IOException {
    try (FileInputStream is = new FileInputStream("resources/document/notEmpty/notEmpty-template.docx");
            OPCPackage oPackage = OPCPackage.open(is);
            XWPFDocument document = new XWPFDocument(oPackage);) {
        TokenProvider iterator = new TokenProvider(document);
        // CHECKSTYLE:OFF
        assertTrue(iterator.hasElements(7));
        XWPFRun run;//  w w w  .j  av a 2 s  .  c  o m
        run = iterator.lookAhead(1).getRun();
        assertEquals("P1Run1 ", run.getText(run.getTextPosition()));
        run = iterator.lookAhead(2).getRun();
        assertEquals("P1Run2", run.getText(run.getTextPosition()));
        run = iterator.lookAhead(3).getRun();
        assertEquals(" P1Run3", run.getText(run.getTextPosition()));
        run = iterator.lookAhead(4).getRun();
        assertEquals("P2Run1 ", run.getText(run.getTextPosition()));
        run = iterator.lookAhead(5).getRun();
        assertEquals("P2Run2", run.getText(run.getTextPosition()));
        run = iterator.lookAhead(6).getRun();
        assertEquals(" ", run.getText(run.getTextPosition()));
        run = iterator.lookAhead(7).getRun();
        assertEquals("P2Run3", run.getText(run.getTextPosition()));
        assertTrue(iterator.hasElements(7));
        // CHECKSTYLE:ON
    }
}

From source file:org.obeonetwork.m2doc.tests.parser.RunProviderTests.java

License:Open Source License

@Test
public void testNextWitLookAhead() throws InvalidFormatException, IOException {
    try (FileInputStream is = new FileInputStream("resources/document/notEmpty/notEmpty-template.docx");
            OPCPackage oPackage = OPCPackage.open(is);
            XWPFDocument document = new XWPFDocument(oPackage);) {
        TokenProvider iterator = new TokenProvider(document);
        // CHECKSTYLE:OFF
        assertTrue(iterator.hasElements(7));
        // CHECKSTYLE:ON
        XWPFRun run;/* w w  w  .ja  v a2 s. c o  m*/
        run = iterator.lookAhead(1).getRun();
        assertEquals("P1Run1 ", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertEquals("P1Run1 ", run.getText(run.getTextPosition()));
        run = iterator.lookAhead(1).getRun();
        assertEquals("P1Run2", run.getText(run.getTextPosition()));
        run = iterator.lookAhead(2).getRun();
        assertEquals(" P1Run3", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertEquals("P1Run2", run.getText(run.getTextPosition()));
        run = iterator.next().getRun();
        assertEquals(" P1Run3", run.getText(run.getTextPosition()));
        assertTrue(iterator.hasElements(4));
    }
}

From source file:org.obeonetwork.m2doc.ui.popup.actions.GenerateDocumentation.java

License:Open Source License

/**
 * Launch the documentation generation./*from  w  w  w  . j  a v a2 s. c  o  m*/
 * 
 * @param generation
 *            the generation configuration object
 * @param definitions
 *            the set of definitions associated to the generation
 * @throws IOException
 *             if an I/O problem occurs
 * @throws DocumentParserException
 *             if the document coulnd'nt be parsed.
 * @throws DocumentGenerationException
 *             if the document couldn't be generated
 */
private void generate(Generation generation, Map<String, Object> definitions)
        throws IOException, DocumentParserException, DocumentGenerationException {
    IQueryEnvironment queryEnvironment = org.eclipse.acceleo.query.runtime.Query
            .newEnvironmentWithDefaultServices(null);
    registerServices(queryEnvironment);

    for (String nsURI : generation.getPackagesNSURI()) {
        EPackage p = EPackage.Registry.INSTANCE.getEPackage(nsURI);
        if (p == null) {
            Activator.getDefault().getLog().log(new Status(Status.WARNING, Activator.PLUGIN_ID,
                    "Couldn't find package with nsURI " + nsURI));
        } else {
            queryEnvironment.registerEPackage(p);
        }
    }
    IWorkspace workspace = ResourcesPlugin.getWorkspace();
    workspace.getRoot().getLocation();
    IContainer container = workspace.getRoot()
            .findMember(generation.eResource().getURI().toPlatformString(true)).getParent();
    while (!(container instanceof IProject)) {
        container = container.getParent();
    }
    if (generation.getTemplateFileName() == null) {
        throw new DocumentGenerationException("Template file name must be filled.");
    }
    if (generation.getResultFileName() == null) {
        throw new DocumentGenerationException("Generated file name must be filled.");
    }
    IFile templateFile = container.getFile(new Path(generation.getTemplateFileName()));
    IFile generatedFile = container.getFile(new Path(generation.getResultFileName()));
    String projectRoot = container.getLocation().toString();
    if (!templateFile.exists()) {
        MessageDialog.openError(shell, "File not found", "Couldn't find file " + templateFile);
        return;
    }
    FileInputStream is = new FileInputStream(templateFile.getLocation().toFile());
    OPCPackage oPackage;
    try {
        oPackage = OPCPackage.open(is);
    } catch (InvalidFormatException e) {
        throw new IllegalArgumentException("Couldn't open template", e);
    }
    XWPFDocument document = new XWPFDocument(oPackage);
    DocumentParser parser = new DocumentParser(document, queryEnvironment);
    DocumentTemplate template = parser.parseDocument();
    DocumentGenerator generator = new DocumentGenerator(projectRoot,
            templateFile.getLocation().toFile().getAbsolutePath(),
            generatedFile.getLocation().toFile().getAbsolutePath(), template, definitions, queryEnvironment);
    generator.generate();
    MessageDialog.openConfirm(shell, "M2Doc generation",
            "document " + generatedFile.getLocation().toString() + " generated");
}

From source file:org.openflexo.docxparser.DocxFileParser.java

License:Open Source License

private void initialize(InputStream in, Set<String> availableCssClasses, String resourcesDirectory)
        throws InvalidFormatException {
    if (availableCssClasses == null) {
        this.availableCssClasses = new HashSet<String>();
    } else {//from  w w  w  .  j a  va2 s  .c o  m
        this.availableCssClasses = availableCssClasses;
    }

    this.resourcesDirectory = resourcesDirectory;

    try {
        filePackage = OPCPackage.open(in);
    } catch (IOException e) {
        throw new RuntimeException(e);
    } finally {
        try {
            in.close();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

From source file:org.pentaho.di.trans.steps.excelinput.poi.PoiWorkbook.java

License:Apache License

public PoiWorkbook(String filename, String encoding, String password) throws KettleException {
    this.filename = filename;
    this.encoding = encoding;
    this.log = KettleLogStore.getLogChannelInterfaceFactory().create(this);
    try {//from   w  w w .jav a  2  s .co m
        FileObject fileObject = KettleVFS.getFileObject(filename);
        if (fileObject instanceof LocalFile) {
            // This supposedly shaves off a little bit of memory usage by allowing POI to randomly access data in the file
            //
            String localFilename = KettleVFS.getFilename(fileObject);
            File excelFile = new File(localFilename);
            try {
                npoifs = new NPOIFSFileSystem(excelFile);
                workbook = org.apache.poi.ss.usermodel.WorkbookFactory.create(npoifs);
            } catch (Exception ofe) {
                try {
                    opcpkg = OPCPackage.open(excelFile);
                    workbook = org.apache.poi.ss.usermodel.WorkbookFactory.create(opcpkg);
                } catch (Exception ex) {
                    workbook = org.apache.poi.ss.usermodel.WorkbookFactory.create(excelFile, password);
                }
            }
        } else {
            internalIS = KettleVFS.getInputStream(filename);
            workbook = org.apache.poi.ss.usermodel.WorkbookFactory.create(internalIS, password);
        }
    } catch (EncryptedDocumentException e) {
        log.logError(
                "Unable to open spreadsheet.  If the spreadsheet is password protected please double check the password is correct.");
        throw new KettleException(e.getLocalizedMessage());
    } catch (Exception e) {
        throw new KettleException(e);
    }
}