Tag: cws_src680_oj14 User: fs Date: 2007-06-19 11:55:52+0000 Added: dba/reportdesign/java/com/sun/star/report/pentaho/output/OfficeManifest.java
Log: #i78373# File Changes: Directory: /dba/reportdesign/java/com/sun/star/report/pentaho/output/ ===================================================================== File [added]: OfficeManifest.java Url: http://dba.openoffice.org/source/browse/dba/reportdesign/java/com/sun/star/report/pentaho/output/OfficeManifest.java?rev=1.1.2.1&content-type=text/vnd.viewcvs-markup Added lines: 76 --------------- package com.sun.star.report.pentaho.output; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import com.sun.star.report.pentaho.OfficeNamespaces; import com.sun.star.report.OutputRepository; import org.jfree.report.JFreeReportBoot; import org.jfree.xmlns.common.AttributeList; import org.jfree.xmlns.writer.DefaultTagDescription; import org.jfree.xmlns.writer.XmlWriter; import org.jfree.xmlns.writer.XmlWriterSupport; /** * Creation-Date: 19.06.2007, 10:27:02 * * @author Thomas Morgner */ public class OfficeManifest { private HashMap entries; public OfficeManifest() { entries = new HashMap(); } public void addEntry (final String fullPath, final String mimeType) { if (fullPath == null) { throw new NullPointerException(); } if (mimeType == null) { throw new NullPointerException(); } entries.put (fullPath, mimeType); } public void write (final OutputRepository outputRepository) throws IOException { final DefaultTagDescription tagDescription = new DefaultTagDescription(); tagDescription.configure (JFreeReportBoot.getInstance().getGlobalConfig(), OfficeDocumentReportTarget.TAG_DEF_PREFIX); final OutputStream manifestOutputStream = outputRepository.createOutputStream("META-INF/manifest.xml"); final OutputStreamWriter writer = new OutputStreamWriter(manifestOutputStream, "UTF-8"); final XmlWriter xmlWriter = new XmlWriter(writer, tagDescription); xmlWriter.setAlwaysAddNamespace(true); xmlWriter.writeXmlDeclaration("UTF-8"); final AttributeList rootAttributes = new AttributeList(); rootAttributes.addNamespaceDeclaration("manifest", OfficeNamespaces.MANIFEST_NS); xmlWriter.writeTag(OfficeNamespaces.MANIFEST_NS, "manifest", rootAttributes, XmlWriterSupport.OPEN); final Iterator iterator = entries.entrySet().iterator(); while (iterator.hasNext()) { final Map.Entry entry = (Map.Entry) iterator.next(); final AttributeList entryAttrs = new AttributeList(); entryAttrs.setAttribute(OfficeNamespaces.MANIFEST_NS, "media-type", (String) entry.getValue()); entryAttrs.setAttribute(OfficeNamespaces.MANIFEST_NS, "full-path", (String) entry.getKey()); xmlWriter.writeTag(OfficeNamespaces.MANIFEST_NS, "file-entry", entryAttrs, XmlWriterSupport.CLOSE); } xmlWriter.writeCloseTag(); xmlWriter.close(); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
