Package org.pentaho.reporting.libraries.xmlns.writer

Examples of org.pentaho.reporting.libraries.xmlns.writer.XmlWriter


    final OutputStream outputStream = new BufferedOutputStream(bundle.createEntry(contentState.getFileName(),
        "text/xml"));
    final DefaultTagDescription tagDescription =
        new DefaultTagDescription(ClassicEngineBoot.getInstance().getGlobalConfig(), BundleXmlModule.TAG_DEF_PREFIX);
    final XmlWriter writer = new XmlWriter(new OutputStreamWriter(outputStream, "UTF-8"), tagDescription, "  ", "\n");
    writer.writeXmlDeclaration("UTF-8");

    final AttributeList rootAttributes = new AttributeList();
    rootAttributes.addNamespaceDeclaration("", BundleNamespaces.DATADEFINITION);

    writer.writeTag(BundleNamespaces.DATADEFINITION, "data-definition", rootAttributes, XmlWriterSupport.OPEN);// NON-NLS

    // write parameters
    writeParameterDefinitions(contentState, writer);
    // write data-source
    final AbstractReportDefinition report = contentState.getReport();

    final String query = report.getQuery();
    final int queryLimit = report.getQueryLimit();
    final AttributeList dataSourceAtts = new AttributeList();
    if (query != null)
    {
      dataSourceAtts.setAttribute(BundleNamespaces.DATADEFINITION, "report-query", query);// NON-NLS
      dataSourceAtts.setAttribute(BundleNamespaces.DATADEFINITION, "limit", String.valueOf(queryLimit));// NON-NLS
    }
    if (report instanceof MasterReport)
    {
      final MasterReport masterReport = (MasterReport) report;
      final String dataSourceDefFile = writeDataFactory(bundle, contentState, masterReport.getDataFactory());
      final String relativePath = IOUtils.getInstance().createRelativePath(dataSourceDefFile,
          contentState.getFileName());
      dataSourceAtts.setAttribute(BundleNamespaces.DATADEFINITION, "ref", relativePath);// NON-NLS
    }
    else if (report instanceof SubReport)
    {
      final SubReport subreport = (SubReport) report;
      if (subreport.getDataFactory() != null)
      {
        final String dataSourceDefFile = writeDataFactory(bundle, contentState, subreport.getDataFactory());
        final String relativePath = IOUtils.getInstance().createRelativePath(dataSourceDefFile,
            contentState.getFileName());
        dataSourceAtts.setAttribute(BundleNamespaces.DATADEFINITION, "ref", relativePath);// NON-NLS
      }
    }
    writer.writeTag(BundleNamespaces.DATADEFINITION, "data-source", dataSourceAtts, XmlWriterSupport.CLOSE);// NON-NLS

    // write expressions
    ExpressionWriterUtility.writeDataExpressions(bundle, contentState, writer);

    writer.writeCloseTag();
    writer.close();

    return contentState.getFileName();
  }
View Full Code Here


    final OutputStream outputStream = new BufferedOutputStream(bundle.createEntry(styleFileState.getFileName(),
        "text/xml"));
    final DefaultTagDescription tagDescription = new DefaultTagDescription(
        ClassicEngineBoot.getInstance().getGlobalConfig(), BundleXmlModule.TAG_DEF_PREFIX);
    final XmlWriter writer = new XmlWriter(new OutputStreamWriter(outputStream, "UTF-8"), tagDescription, "  ", "\n");
    writer.writeXmlDeclaration("UTF-8");

    final AttributeList rootAttributes = new AttributeList();
    rootAttributes.addNamespaceDeclaration("", BundleNamespaces.STYLE);
    rootAttributes.addNamespaceDeclaration("layout", BundleNamespaces.LAYOUT);
    rootAttributes.addNamespaceDeclaration("core", AttributeNames.Core.NAMESPACE);
    rootAttributes.addNamespaceDeclaration("html", AttributeNames.Html.NAMESPACE);
    rootAttributes.addNamespaceDeclaration("swing", AttributeNames.Swing.NAMESPACE);
    rootAttributes.addNamespaceDeclaration("pdf", AttributeNames.Pdf.NAMESPACE);

    writer.writeTag(BundleNamespaces.STYLE, "style", rootAttributes, XmlWriterSupport.OPEN);

    final ReportDefinition report = styleFileState.getReport();
    if (report instanceof MasterReport)
    {
      // only the master report can carry page-definitions ..
      final PageDefinition definition = report.getPageDefinition();
      writePageDefinition(writer, definition);
    }

    // write list of styles
    final StyleSheetCollection styles = report.getStyleSheetCollection();
    final String[] styleNames = styles.getStyleNames();

    for (int i = 0; i < styleNames.length; i++)
    {
      final String name = styleNames[i];
      final ElementStyleSheet style = styles.getStyleSheet(name);

      StyleWriterUtility.writeStyleRule(BundleNamespaces.STYLE, "style-rule", writer, style, true);
    }

    // write layout processor section
    if (ExpressionWriterUtility.isGlobalLayoutExpressionActive(styleFileState))
    {
      writer.writeTag(BundleNamespaces.LAYOUT, "layout-processors", XmlWriterSupport.OPEN);
      ExpressionWriterUtility.writeGlobalLayoutExpressions(bundle, styleFileState, writer);
      writer.writeCloseTag();
    }

    // write watermark
    final Watermark watermark = report.getWatermark();
    final BundleElementWriteHandler watermarkHandler = BundleElementWriterFactory.createHandler(watermark);
    watermarkHandler.writeElement(bundle, styleFileState, writer, watermark);

    // write page-header
    final PageHeader pageHeader = report.getPageHeader();
    final BundleElementWriteHandler pageHeaderHandler = BundleElementWriterFactory.createHandler(pageHeader);
    pageHeaderHandler.writeElement(bundle, styleFileState, writer, pageHeader);

    // write page-footer
    final PageFooter pageFooter = report.getPageFooter();
    final BundleElementWriteHandler pageFooterHandler = BundleElementWriterFactory.createHandler(pageFooter);
    pageFooterHandler.writeElement(bundle, styleFileState, writer, pageFooter);


    writer.writeCloseTag();
    writer.close();

    return styleFileState.getFileName();
  }
View Full Code Here

    final BundleWriterState layoutFileState = new BundleWriterState(state, "layout.xml");
    final OutputStream outputStream = new BufferedOutputStream(bundle.createEntry(layoutFileState.getFileName(),
        "text/xml"));
    final DefaultTagDescription tagDescription = new DefaultTagDescription(
        ClassicEngineBoot.getInstance().getGlobalConfig(), BundleXmlModule.TAG_DEF_PREFIX);
    final XmlWriter writer = new XmlWriter(new OutputStreamWriter(outputStream, "UTF-8"), tagDescription, "  ", "\n");
    writer.writeXmlDeclaration("UTF-8");

    final ReportDefinitionWriteHandler writeHandler = new ReportDefinitionWriteHandler();
    writeHandler.writeElement(bundle, layoutFileState, writer, report);

    writer.close();
    return layoutFileState.getFileName();
  }
View Full Code Here

    }

    final OutputStream outputStream = bundle.createEntry(fileName, "text/xml");
    final DefaultTagDescription tagDescription = new DefaultTagDescription(
        ClassicEngineBoot.getInstance().getGlobalConfig(), SQLDataFactoryModule.TAG_DEF_PREFIX);
    final XmlWriter xmlWriter = new XmlWriter(new OutputStreamWriter(outputStream, "UTF-8"), tagDescription, "  ",
        "\n");
    final AttributeList rootAttrs = new AttributeList();
    rootAttrs.addNamespaceDeclaration("data", ExternalDataFactoryModule.NAMESPACE);
    xmlWriter.writeTag(ExternalDataFactoryModule.NAMESPACE, "external-datasource", rootAttrs, XmlWriterSupport.CLOSE);
    xmlWriter.close();

    return fileName;
  }
View Full Code Here

    }

    final OutputStream outputStream = bundle.createEntry(fileName, "text/xml");
    final DefaultTagDescription tagDescription = new DefaultTagDescription(
        ClassicEngineBoot.getInstance().getGlobalConfig(), CompoundDataFactoryModule.TAG_DEF_PREFIX);
    final XmlWriter xmlWriter = new XmlWriter(new OutputStreamWriter(outputStream, "UTF-8"), tagDescription, "  ",
        "\n");
    final AttributeList rootAttrs = new AttributeList();
    rootAttrs.addNamespaceDeclaration("data", CompoundDataFactoryModule.NAMESPACE);
    xmlWriter.writeTag(CompoundDataFactoryModule.NAMESPACE, "compound-datasource", rootAttrs, XmlWriterSupport.OPEN);

    for (int i = 0; i < compoundDataFactory.size(); i++)
    {
      final DataFactory df = compoundDataFactory.get(i);
      final BundleDataFactoryWriterHandler writerHandler = BundleWriterUtilities.lookupWriteHandler(df);
      if (writerHandler == null)
      {
        throw new BundleWriterException("Unable to find writer-handler for data-factory " + df.getClass());
      }

      final String file = writerHandler.writeDataFactory(bundle, df, state);
      if (file == null)
      {
        throw new BundleWriterException("Data-factory writer did not create a file for " + df.getClass());
      }
      final String refFile = IOUtils.getInstance().createRelativePath(file, fileName);
      xmlWriter.writeTag(CompoundDataFactoryModule.NAMESPACE, "data-factory", "href", refFile,
          XmlWriterSupport.CLOSE);
    }

    xmlWriter.writeCloseTag();
    xmlWriter.close();
    return fileName;
  }
View Full Code Here

      }

      final OutputStream outputStream = bundle.createEntry(fileName, "text/xml");
      final DefaultTagDescription tagDescription = new DefaultTagDescription(
          ClassicEngineBoot.getInstance().getGlobalConfig(), InlineDataFactoryModule.TAG_DEF_PREFIX);
      final XmlWriter xmlWriter = new XmlWriter(new OutputStreamWriter(outputStream, "UTF-8"), tagDescription, "  ",
          "\n");
      final AttributeList rootAttrs = new AttributeList();
      rootAttrs.addNamespaceDeclaration("data", InlineDataFactoryModule.NAMESPACE);
      xmlWriter.writeTag(InlineDataFactoryModule.NAMESPACE, "inline-datasource", rootAttrs, XmlWriterSupport.OPEN);

      final String[] tables = tableDataFactory.getQueryNames();
      for (int i = 0; i < tables.length; i++)
      {
        final String tableName = tables[i];
        final TableModel tableModel = tableDataFactory.queryData(tableName, null);

        xmlWriter.writeTag(InlineDataFactoryModule.NAMESPACE, "inline-table", "name", tableName, XmlWriterSupport.OPEN);
        xmlWriter.writeTag(InlineDataFactoryModule.NAMESPACE, "definition", XmlWriterSupport.OPEN);

        final Class[] colTypes = new Class[tableModel.getColumnCount()];
        for (int col = 0; col < tableModel.getColumnCount(); col += 1)
        {
          final AttributeList colAttrs = new AttributeList();
          colAttrs.setAttribute(InlineDataFactoryModule.NAMESPACE, "name", tableModel.getColumnName(col));

          final Class columnClass = tableModel.getColumnClass(col);
          if (columnClass == null)
          {
            colAttrs.setAttribute(InlineDataFactoryModule.NAMESPACE, "type", Object.class.getName());
            colTypes[col] = Object.class;
          }
          else
          {
            colAttrs.setAttribute(InlineDataFactoryModule.NAMESPACE, "type", columnClass.getName());
            colTypes[col] = columnClass;
          }

          xmlWriter.writeTag(InlineDataFactoryModule.NAMESPACE, "column", colAttrs, XmlWriterSupport.CLOSE);
        }
        xmlWriter.writeCloseTag(); // definition

        for (int row = 0; row < tableModel.getRowCount(); row += 1)
        {
          xmlWriter.writeTag(InlineDataFactoryModule.NAMESPACE, "row", XmlWriterSupport.OPEN);
          for (int col = 0; col < tableModel.getColumnCount(); col += 1)
          {
            final AttributeList colAttrs = new AttributeList();
            final Object value = tableModel.getValueAt(row, col);
            if (value == null)
            {
              colAttrs.setAttribute(InlineDataFactoryModule.NAMESPACE, "null", "true");
              xmlWriter.writeTag(InlineDataFactoryModule.NAMESPACE, "data", colAttrs, XmlWriterSupport.CLOSE);
            }
            else
            {
              final Class valueClass = value.getClass();
              if (ObjectUtilities.equal(colTypes[col], valueClass) == false)
              {
                colAttrs.setAttribute(InlineDataFactoryModule.NAMESPACE, "type", valueClass.getName());
              }

              try
              {
                final String s = ConverterRegistry.toAttributeValue(value);
                xmlWriter.writeTag(InlineDataFactoryModule.NAMESPACE, "data", colAttrs, XmlWriterSupport.OPEN);
                xmlWriter.writeTextNormalized(s, true);
                xmlWriter.writeCloseTag();

              }
              catch (BeanException e)
              {
                throw new BundleWriterException("Unable to convert value at (row:" + row + ";column:" +
                    col + ") into a string." + value.getClass());
              }
            }

          }
          xmlWriter.writeCloseTag(); // row

        }

        xmlWriter.writeCloseTag(); // inline-table
      }

      xmlWriter.writeCloseTag();
      xmlWriter.close();
      return fileName;
    }
    catch (ReportDataFactoryException e)
    {
      throw new BundleWriterException
View Full Code Here

      final BundleWriterState wizardFileState = new BundleWriterState(state, "wizard-specification.xml");
      final OutputStream outputStream = new BufferedOutputStream(bundle.createEntry(wizardFileState.getFileName(), "text/xml"));
      final DefaultTagDescription tagDescription = new DefaultTagDescription(
          ClassicEngineBoot.getInstance().getGlobalConfig(), WizardCoreModule.TAG_DEF_PREFIX);
      final XmlWriter xmlWriter = new XmlWriter
          (new OutputStreamWriter(outputStream, "UTF-8"), tagDescription, "  ", "\n");

      final AttributeList rootAttrs = new AttributeList();
      rootAttrs.addNamespaceDeclaration("wizard", WizardCoreModule.NAMESPACE);

      xmlWriter.writeTag(WizardCoreModule.NAMESPACE, "wizard-specification", rootAttrs, XmlWriter.OPEN);

      final RootBandWriterHandler rootBandWriterHandler = new RootBandWriterHandler();
      rootBandWriterHandler.writeReport(bundle, wizardFileState, xmlWriter, specification.getColumnHeader(), "column-header");
      rootBandWriterHandler.writeReport(bundle, wizardFileState, xmlWriter, specification.getColumnFooter(), "column-footer");


      xmlWriter.writeTag(WizardCoreModule.NAMESPACE, "detail-fields", XmlWriter.OPEN);
      final DetailFieldDefinition[] detailFieldDefinitions = specification.getDetailFieldDefinitions();
      final DetailFieldDefinitionWriteHandler detailWriteHandler = new DetailFieldDefinitionWriteHandler();
      for (int i = 0; i < detailFieldDefinitions.length; i++)
      {
        final DetailFieldDefinition definition = detailFieldDefinitions[i];
        detailWriteHandler.writeReport(bundle, wizardFileState, xmlWriter, definition);
      }
      xmlWriter.writeCloseTag();

      xmlWriter.writeTag(WizardCoreModule.NAMESPACE, "group-definitions", XmlWriter.OPEN);
      final GroupDefinition[] groupDefinitions = specification.getGroupDefinitions();
      final GroupDefinitionWriteHandler groupDefinitionWriteHandler = new GroupDefinitionWriteHandler();
      for (int i = 0; i < groupDefinitions.length; i++)
      {
        final GroupDefinition definition = groupDefinitions[i];
        groupDefinitionWriteHandler.writeReport(bundle, wizardFileState, xmlWriter, definition);
      }
      xmlWriter.writeCloseTag();

      final WatermarkDefinitionWriterHandler watermarkDefinitionWriterHandler = new WatermarkDefinitionWriterHandler();
      watermarkDefinitionWriterHandler.writeReport(bundle, wizardFileState, xmlWriter, specification.getWatermarkDefinition());
      xmlWriter.writeCloseTag();
      xmlWriter.close();
      return wizardFileState.getFileName();
    }
    catch (final ReportProcessingException e)
    {
      throw new BundleWriterException("Failed to load wizard-specifiation",e);
View Full Code Here

    td.addDefaultDefinition(LAYOUT_OUTPUT_NAMESPACE, false);
    td.addTagDefinition(LAYOUT_OUTPUT_NAMESPACE, "text", true);

    // prepare anything that might needed to be prepared ..
    final Writer writer = new BufferedWriter(new OutputStreamWriter(outputStream));
    this.xmlWriter = new XmlWriter(writer, td);
    this.xmlWriter.writeXmlDeclaration(null);
    final AttributeList attrs = new AttributeList();
    attrs.addNamespaceDeclaration("", LAYOUT_OUTPUT_NAMESPACE);
    xmlWriter.writeTag(LAYOUT_OUTPUT_NAMESPACE, "layout-output", attrs, XmlWriter.OPEN);
  }
View Full Code Here

    {
      throw new NullPointerException();
    }


    final XmlWriter writer = new XmlWriter(new OutputStreamWriter(outputStream, encoding),
        new DefaultTagDescription(ClassicEngineBoot.getInstance().getGlobalConfig(), BundleXmlModule.TAG_DEF_PREFIX));
    writer.writeXmlDeclaration(encoding);

    final AttributeList rootAttributes = new AttributeList();
    rootAttributes.addNamespaceDeclaration("", ClassicEngineBoot.DATASCHEMA_NAMESPACE);
    rootAttributes.addNamespaceDeclaration("core", MetaAttributeNames.Core.NAMESPACE);
    rootAttributes.addNamespaceDeclaration("database", MetaAttributeNames.Database.NAMESPACE);
    rootAttributes.addNamespaceDeclaration("expressions", MetaAttributeNames.Expressions.NAMESPACE);
    rootAttributes.addNamespaceDeclaration("formatting", MetaAttributeNames.Formatting.NAMESPACE);
    rootAttributes.addNamespaceDeclaration("numeric", MetaAttributeNames.Numeric.NAMESPACE);
    rootAttributes.addNamespaceDeclaration("style", MetaAttributeNames.Style.NAMESPACE);

    writer.writeTag(ClassicEngineBoot.DATASCHEMA_NAMESPACE, "data-schema", rootAttributes, XmlWriterSupport.OPEN);

    final DataSchemaRule[] globalRules = definition.getGlobalRules();
    final DataSchemaRule[] indirectRules = definition.getIndirectRules();
    final DataSchemaRule[] directRules = definition.getDirectRules();
    try
    {

      for (int i = 0; i < globalRules.length; i++)
      {
        final DataSchemaRule rule = globalRules[i];
        if (rule instanceof GlobalRule)
        {
          writer.writeTag(ClassicEngineBoot.DATASCHEMA_NAMESPACE, "global-mapping", XmlWriterSupport.OPEN);
          writeAttributes(writer, rule.getStaticAttributes());
          writer.writeCloseTag();
        }
      }

      for (int i = 0; i < indirectRules.length; i++)
      {
        final DataSchemaRule rule = indirectRules[i];
        if (rule instanceof MetaSelectorRule)
        {
          final MetaSelectorRule selectorRule = (MetaSelectorRule) rule;
          writer.writeTag(ClassicEngineBoot.DATASCHEMA_NAMESPACE, "indirect-mapping", XmlWriterSupport.OPEN);
          final MetaSelector[] selectors = selectorRule.getSelectors();
          for (int j = 0; j < selectors.length; j++)
          {
            final MetaSelector selector = selectors[j];
            final AttributeList selectorAttributeList = new AttributeList();
            selectorAttributeList.setAttribute(ClassicEngineBoot.DATASCHEMA_NAMESPACE, "domain", selector.getDomain());
            selectorAttributeList.setAttribute(ClassicEngineBoot.DATASCHEMA_NAMESPACE, "name", selector.getName());
            final String stringValue = ConverterRegistry.toAttributeValue(selector.getValue());
            selectorAttributeList.setAttribute(ClassicEngineBoot.DATASCHEMA_NAMESPACE, "value", stringValue);
            writer.writeTag(ClassicEngineBoot.DATASCHEMA_NAMESPACE, "match", selectorAttributeList,
                XmlWriterSupport.CLOSE);
          }
          writeAttributes(writer, rule.getStaticAttributes());
          writer.writeCloseTag();
        }
      }

      for (int i = 0; i < directRules.length; i++)
      {
        final DataSchemaRule rule = directRules[i];
        if (rule instanceof DirectFieldSelectorRule)
        {
          final DirectFieldSelectorRule fieldSelectorRule = (DirectFieldSelectorRule) rule;
          writer.writeTag(ClassicEngineBoot.DATASCHEMA_NAMESPACE,
              "direct-mapping", "fieldame", fieldSelectorRule.getFieldName(), XmlWriterSupport.OPEN);
          writeAttributes(writer, rule.getStaticAttributes());
          writer.writeCloseTag();
        }
      }
    }
    catch (BeanException e)
    {
      StandaloneDataSchemaWriter.logger.warn("Failed to write data-schema: Reason: ", e);
      throw new IOException("Failed to write declared data-schema attribute");
    }
    writer.writeCloseTag();
    writer.flush();
  }
View Full Code Here

    }

    final OutputStream outputStream = bundle.createEntry(fileName, "text/xml");
    final DefaultTagDescription tagDescription =
        new DefaultTagDescription(ClassicEngineBoot.getInstance().getGlobalConfig(), CdaModule.TAG_DEF_PREFIX);
    final XmlWriter xmlWriter = new XmlWriter(new OutputStreamWriter(outputStream, "UTF-8"), tagDescription, "  ",
        "\n");

    final AttributeList rootAttrs = new AttributeList();
    rootAttrs.addNamespaceDeclaration("data", CdaModule.NAMESPACE);

    xmlWriter.writeTag(CdaModule.NAMESPACE, "scriptable-datasource", rootAttrs, XmlWriter.OPEN);

    final CdaDataFactory pmdDataFactory = (CdaDataFactory) dataFactory;
    final AttributeList configAttrs = new AttributeList();
    if (pmdDataFactory.getBaseUrl() != null)
    {
      configAttrs.setAttribute(CdaModule.NAMESPACE,
          "base-url", String.valueOf(pmdDataFactory.getBaseUrl()));
    }
    if (pmdDataFactory.getBaseUrlField() != null)
    {
      configAttrs.setAttribute(CdaModule.NAMESPACE,
          "base-url-field", String.valueOf(pmdDataFactory.getBaseUrlField()));
    }
    if (pmdDataFactory.getSolution() != null)
    {
      configAttrs.setAttribute(CdaModule.NAMESPACE,
          "solution", String.valueOf(pmdDataFactory.getSolution()));
    }
    if (pmdDataFactory.getPath() != null)
    {
      configAttrs.setAttribute(CdaModule.NAMESPACE,
          "path", String.valueOf(pmdDataFactory.getPath()));
    }
    if (pmdDataFactory.getFile() != null)
    {
      configAttrs.setAttribute(CdaModule.NAMESPACE,
          "file", String.valueOf(pmdDataFactory.getFile()));
    }
    if (pmdDataFactory.getUsername() != null)
    {
      configAttrs.setAttribute(CdaModule.NAMESPACE,
          "username", String.valueOf(pmdDataFactory.getUsername()));
    }
    if (pmdDataFactory.getPassword() != null)
    {
      configAttrs.setAttribute(CdaModule.NAMESPACE,
          "password", String.valueOf(pmdDataFactory.getPassword()));
    }
    xmlWriter.writeTag(CdaModule.NAMESPACE, "config", configAttrs, XmlWriterSupport.CLOSE);

    final String[] queryNames = pmdDataFactory.getQueryNames();
    for (int i = 0; i < queryNames.length; i++)
    {
      final String queryName = queryNames[i];
      final String query = pmdDataFactory.getQuery(queryName);
      xmlWriter.writeTag(CdaModule.NAMESPACE, "query", "name", queryName, XmlWriterSupport.OPEN);
      xmlWriter.writeTextNormalized(query, false);
      xmlWriter.writeCloseTag();
    }
    xmlWriter.writeCloseTag();
    xmlWriter.close();
    return fileName;
  }
View Full Code Here

TOP

Related Classes of org.pentaho.reporting.libraries.xmlns.writer.XmlWriter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.