Beispiel #1
0
  /**
   * Writes the document to the internal output stream.
   *
   * @throws Exception
   */
  protected void serializeDocument(boolean enableExternalDataMart) throws Exception {
    ReportDesignHandle beforeSerializedDesignHandle = designHandle;
    os = new ByteArrayOutputStream();

    ReportDesignSerializer visitor = new ReportDesignSerializer();
    designHandle.getModule().apply(visitor);

    design = visitor.getTarget();
    designHandle = (ReportDesignHandle) design.getHandle(design);

    if (enableExternalDataMart) {
      design.prepareToSave();
      DesignWriter writer = (DesignWriter) design.getWriter();
      DesignWriterUtil.enableExternalDataMarts(writer);
      writer.write(os);
      design.onSave();

    } else designHandle.serialize(os);

    this.beforeSerializedDesignHandle = beforeSerializedDesignHandle;
  }