public void write(final OutputRepository outputRepository) throws IOException { if (isEmpty()) { return; } final DefaultTagDescription tagDescription = new DefaultTagDescription(); tagDescription.configure(JFreeReportBoot.getInstance().getGlobalConfig(), TAG_DEF_PREFIX); final OutputStream manifestOutputStream = outputRepository.createOutputStream("META-INF/manifest.xml", "text/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", MANIFEST_NS); xmlWriter.writeTag(MANIFEST_NS, "manifest", rootAttributes, XmlWriterSupport.OPEN); final Iterator<Map.Entry<String, String>> iterator = entries.entrySet().iterator(); while (iterator.hasNext()) { final Map.Entry<String, String> entry = iterator.next(); final AttributeList entryAttrs = new AttributeList(); entryAttrs.setAttribute(MANIFEST_NS, "media-type", entry.getValue()); entryAttrs.setAttribute(MANIFEST_NS, "full-path", entry.getKey()); xmlWriter.writeTag(MANIFEST_NS, "file-entry", entryAttrs, XmlWriterSupport.CLOSE); } xmlWriter.writeCloseTag(); xmlWriter.close(); }
@Override protected Configuration getConfiguration() { return JFreeReportBoot.getInstance().getGlobalConfig(); }