Example usage for org.apache.poi.hpsf PropertySetFactory newSummaryInformation

List of usage examples for org.apache.poi.hpsf PropertySetFactory newSummaryInformation

Introduction

In this page you can find the example usage for org.apache.poi.hpsf PropertySetFactory newSummaryInformation.

Prototype

public static SummaryInformation newSummaryInformation() 

Source Link

Document

Creates a new summary information.

Usage

From source file:org.redpill.alfresco.module.metadatawriter.services.msoffice.impl.POIFSFacadeImpl.java

License:Open Source License

private SummaryInformation getSummaryInformation() throws ContentException {
    if (null == si) {
        try {//from   w w w .  ja  v  a 2 s. co m
            final PropertySet ps = createPropertySet(SummaryInformation.DEFAULT_STREAM_NAME);
            si = new SummaryInformation(ps);
        } catch (FileNotFoundException fnf) {
            logger.debug("Summary information does not exist in file, creating new!");
            si = PropertySetFactory.newSummaryInformation();
        } catch (UnexpectedPropertySetTypeException e) {
            throw new ContentException("Summary information property set has invalid type", e);
        }
    }

    return si;
}

From source file:poi.hpsf.examples.ModifyDocumentSummaryInformation.java

License:Apache License

/**
 * <p>Main method - see class description.</p>
 *
 * @param args The command-line parameters.
 * @throws java.io.IOException/*from   w ww  .  ja va 2s  .c  o  m*/
 * @throws MarkUnsupportedException
 * @throws NoPropertySetStreamException
 * @throws UnexpectedPropertySetTypeException
 * @throws WritingNotSupportedException
 */
public static void main(final String[] args) throws IOException, NoPropertySetStreamException,
        MarkUnsupportedException, UnexpectedPropertySetTypeException, WritingNotSupportedException {
    /* Read the name of the POI filesystem to modify from the command line.
     * For brevity to boundary check is performed on the command-line
     * arguments. */
    File poiFilesystem = new File(args[0]);

    /* Open the POI filesystem. */
    InputStream is = new FileInputStream(poiFilesystem);
    POIFSFileSystem poifs = new POIFSFileSystem(is);
    is.close();

    /* Read the summary information. */
    DirectoryEntry dir = poifs.getRoot();
    SummaryInformation si;
    try {
        DocumentEntry siEntry = (DocumentEntry) dir.getEntry(SummaryInformation.DEFAULT_STREAM_NAME);
        DocumentInputStream dis = new DocumentInputStream(siEntry);
        PropertySet ps = new PropertySet(dis);
        dis.close();
        si = new SummaryInformation(ps);
    } catch (FileNotFoundException ex) {
        /* There is no summary information yet. We have to create a new
         * one. */
        si = PropertySetFactory.newSummaryInformation();
    }

    /* Change the author to "Rainer Klute". Any former author value will
     * be lost. If there has been no author yet, it will be created. */
    si.setAuthor("Rainer Klute");
    System.out.println("Author changed to " + si.getAuthor() + ".");

    /* Handling the document summary information is analogous to handling
     * the summary information. An additional feature, however, are the
     * custom properties. */

    /* Read the document summary information. */
    DocumentSummaryInformation dsi;
    try {
        DocumentEntry dsiEntry = (DocumentEntry) dir.getEntry(DocumentSummaryInformation.DEFAULT_STREAM_NAME);
        DocumentInputStream dis = new DocumentInputStream(dsiEntry);
        PropertySet ps = new PropertySet(dis);
        dis.close();
        dsi = new DocumentSummaryInformation(ps);
    } catch (FileNotFoundException ex) {
        /* There is no document summary information yet. We have to create a
         * new one. */
        dsi = PropertySetFactory.newDocumentSummaryInformation();
    }

    /* Change the category to "POI example". Any former category value will
     * be lost. If there has been no category yet, it will be created. */
    dsi.setCategory("POI example");
    System.out.println("Category changed to " + dsi.getCategory() + ".");

    /* Read the custom properties. If there are no custom properties yet,
     * the application has to create a new CustomProperties object. It will
     * serve as a container for custom properties. */
    CustomProperties customProperties = dsi.getCustomProperties();
    if (customProperties == null)
        customProperties = new CustomProperties();

    /* Insert some custom properties into the container. */
    customProperties.put("Key 1", "Value 1");
    customProperties.put("Schl\u00fcssel 2", "Wert 2");
    customProperties.put("Sample Number", new Integer(12345));
    customProperties.put("Sample Boolean", Boolean.TRUE);
    customProperties.put("Sample Date", new Date());

    /* Read a custom property. */
    Object value = customProperties.get("Sample Number");

    /* Write the custom properties back to the document summary
     * information. */
    dsi.setCustomProperties(customProperties);

    /* Write the summary information and the document summary information
     * to the POI filesystem. */
    si.write(dir, SummaryInformation.DEFAULT_STREAM_NAME);
    dsi.write(dir, DocumentSummaryInformation.DEFAULT_STREAM_NAME);

    /* Write the POI filesystem back to the original file. Please note that
     * in production code you should never write directly to the origin
     * file! In case of a writing error everything would be lost. */
    OutputStream out = new FileOutputStream(poiFilesystem);
    poifs.writeFilesystem(out);
    out.close();
}

From source file:ro.nextreports.engine.exporter.XlsExporter.java

License:Apache License

public static void createSummaryInformation(String filePath, String title) {

    if (filePath == null) {
        return;// w  w w.  ja  v  a2  s  . c om
    }
    try {
        File poiFilesystem = new File(filePath);
        InputStream is = new FileInputStream(poiFilesystem);
        POIFSFileSystem poifs = new POIFSFileSystem(is);
        is.close();
        DirectoryEntry dir = poifs.getRoot();

        SummaryInformation si = PropertySetFactory.newSummaryInformation();
        si.setTitle(title);
        si.setAuthor(ReleaseInfoAdapter.getCompany());
        si.setApplicationName("NextReports " + ReleaseInfoAdapter.getVersionNumber());
        si.setSubject("Created by NextReports Designer" + ReleaseInfoAdapter.getVersionNumber());
        si.setCreateDateTime(new Date());
        si.setKeywords(ReleaseInfoAdapter.getHome());

        si.write(dir, SummaryInformation.DEFAULT_STREAM_NAME);

        OutputStream out = new FileOutputStream(poiFilesystem);
        poifs.writeFilesystem(out);
        out.close();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}