public static void writeReportToZipStream( final MasterReport report, final OutputStream out,
final DocumentMetaData metaData ) throws IOException, BundleWriterException, ContentIOException {
if ( report == null ) {
throw new NullPointerException();
}
if ( out == null ) {
throw new NullPointerException();
}
final MemoryDocumentBundle documentBundle = new MemoryDocumentBundle();
final BundleWriter writer = new BundleWriter();
writer.writeReport( documentBundle, report );
final WriteableDocumentMetaData targetMetaData = (WriteableDocumentMetaData) documentBundle.getMetaData();
for ( final String namespace : metaData.getMetaDataNamespaces() ) {
for ( final String name : metaData.getMetaDataNames( namespace ) ) {
targetMetaData.setBundleAttribute( namespace, name, metaData.getBundleAttribute( namespace, name ) );
}
}
BundleUtilities.writeAsZip( out, documentBundle );
}