Package org.pentaho.reporting.engine.classic.extensions.datasources.scriptable

Examples of org.pentaho.reporting.engine.classic.extensions.datasources.scriptable.ScriptableDataFactory


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

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

    final ScriptableDataFactory pmdDataFactory = (ScriptableDataFactory) dataFactory;
    final AttributeList configAttrs = new AttributeList();
    configAttrs.setAttribute(ScriptableDataFactoryModule.NAMESPACE,
        "language", String.valueOf(pmdDataFactory.getLanguage()));
    configAttrs.setAttribute(ScriptableDataFactoryModule.NAMESPACE,
        "script", String.valueOf(pmdDataFactory.getScript()));
    xmlWriter.writeTag(ScriptableDataFactoryModule.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(ScriptableDataFactoryModule.NAMESPACE, "query", "name", queryName, XmlWriterSupport.OPEN);
      xmlWriter.writeTextNormalized(query, false);
      xmlWriter.writeCloseTag();
    }
    xmlWriter.writeCloseTag();
View Full Code Here


  public void write(final ReportWriterContext reportWriter,
                    final XmlWriter xmlWriter,
                    final DataFactory dataFactory)
      throws IOException, ReportWriterException
  {
    final ScriptableDataFactory pmdDataFactory = (ScriptableDataFactory) dataFactory;

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

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

    final AttributeList configAttrs = new AttributeList();
    configAttrs.setAttribute(ScriptableDataFactoryModule.NAMESPACE,
        "language", String.valueOf(pmdDataFactory.getLanguage()));
    configAttrs.setAttribute(ScriptableDataFactoryModule.NAMESPACE,
        "script", String.valueOf(pmdDataFactory.getScript()));
    xmlWriter.writeTag(ScriptableDataFactoryModule.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(ScriptableDataFactoryModule.NAMESPACE, "query", "name", queryName, XmlWriterSupport.OPEN);
      xmlWriter.writeTextNormalized(query, false);
      xmlWriter.writeCloseTag();
    }
    xmlWriter.writeCloseTag();
View Full Code Here

   *
   * @throws SAXException if there is a parsing error.
   */
  protected void doneParsing() throws SAXException
  {
    final ScriptableDataFactory srdf = new ScriptableDataFactory();
    if (configReadHandler == null)
    {
      throw new ParseException("Required element 'config' is missing.", getLocator());
    }

    srdf.setLanguage(configReadHandler.getLanguage());
    srdf.setScript(configReadHandler.getScript());
    for (int i = 0; i < queries.size(); i++)
    {
      final PropertyReadHandler handler = (PropertyReadHandler) queries.get(i);
      srdf.setQuery(handler.getName(), handler.getResult());
    }
    dataFactory = srdf;
  }
View Full Code Here

    return produceFactory();
  }

  private ScriptableDataFactory produceFactory()
  {
    final ScriptableDataFactory returnDataFactory = new ScriptableDataFactory();
    returnDataFactory.setLanguage((String) languageField.getSelectedValue());
    if (StringUtils.isEmpty(initScriptTextArea.getText()))
    {
      returnDataFactory.setScript(null);
    }
    else
    {
      returnDataFactory.setScript(initScriptTextArea.getText());
    }

    if (StringUtils.isEmpty(shutdownScriptTextArea.getText()))
    {
      returnDataFactory.setShutdownScript(null);
    }
    else
    {
      returnDataFactory.setShutdownScript(shutdownScriptTextArea.getText());
    }

    final DataSetQuery[] queries = this.queries.values().toArray(new DataSetQuery[this.queries.size()]);
    for (int i = 0; i < queries.length; i++)
    {
      final DataSetQuery query = queries[i];
      returnDataFactory.setQuery(query.getQueryName(), query.getQuery());
    }
    return returnDataFactory;
  }
View Full Code Here

    public void actionPerformed(final ActionEvent aEvt)
    {
      try
      {
        final ScriptableDataFactory dataFactory = produceFactory();
        DataFactoryEditorSupport.configureDataFactoryForPreview(dataFactory, designTimeContext);
        final DataPreviewDialog previewDialog = new DataPreviewDialog(ScriptableDataSourceEditor.this);

        final ScriptablePreviewWorker worker = new ScriptablePreviewWorker(dataFactory, queryNameTextField.getText());
        previewDialog.showData(worker);
View Full Code Here

  {
    DataSourcePlugin editor =
        DataFactoryRegistry.getInstance().getMetaData(ScriptableDataFactory.class.getName()).createEditor();
    assertNotNull(editor);

    assertTrue(editor.canHandle(new ScriptableDataFactory()));
  }
View Full Code Here

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

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

    final ScriptableDataFactory scriptableDataFactory = (ScriptableDataFactory) dataFactory;
    final AttributeList configAttrs = new AttributeList();
    configAttrs.setAttribute(ScriptableDataFactoryModule.NAMESPACE,
        "language", String.valueOf(scriptableDataFactory.getLanguage()));
    if (StringUtils.isEmpty(scriptableDataFactory.getScript()) == false)
    {
      configAttrs.setAttribute(ScriptableDataFactoryModule.NAMESPACE,
          "script", String.valueOf(scriptableDataFactory.getScript()));
    }
    if (StringUtils.isEmpty(scriptableDataFactory.getScript()) == false)
    {
      configAttrs.setAttribute(ScriptableDataFactoryModule.NAMESPACE,
          "shutdown-script", String.valueOf(scriptableDataFactory.getShutdownScript()));
    }
    xmlWriter.writeTag(ScriptableDataFactoryModule.NAMESPACE, "config", configAttrs, XmlWriterSupport.CLOSE);

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

   *
   * @throws SAXException if there is a parsing error.
   */
  protected void doneParsing() throws SAXException
  {
    final ScriptableDataFactory srdf = new ScriptableDataFactory();
    if (configReadHandler == null)
    {
      throw new ParseException("Required element 'config' is missing.", getLocator());
    }

    srdf.setLanguage(configReadHandler.getLanguage());
    if (StringUtils.isEmpty(configReadHandler.getScript()) == false)
    {
      srdf.setScript(configReadHandler.getScript());
    }
    if (StringUtils.isEmpty(configReadHandler.getShutdownScript()) == false)
    {
      srdf.setShutdownScript(configReadHandler.getShutdownScript());
    }
    for (int i = 0; i < queries.size(); i++)
    {
      final PropertyReadHandler handler = queries.get(i);
      srdf.setQuery(handler.getName(), handler.getResult());
    }
    dataFactory = srdf;
  }
View Full Code Here

  public void write(final ReportWriterContext reportWriter,
                    final XmlWriter xmlWriter,
                    final DataFactory dataFactory)
      throws IOException, ReportWriterException
  {
    final ScriptableDataFactory scriptableDataFactory = (ScriptableDataFactory) dataFactory;

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

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

    final AttributeList configAttrs = new AttributeList();
    configAttrs.setAttribute(ScriptableDataFactoryModule.NAMESPACE,
        "language", String.valueOf(scriptableDataFactory.getLanguage()));
    if (StringUtils.isEmpty(scriptableDataFactory.getScript()) == false)
    {
      configAttrs.setAttribute(ScriptableDataFactoryModule.NAMESPACE,
          "script", String.valueOf(scriptableDataFactory.getScript()));
    }
    if (StringUtils.isEmpty(scriptableDataFactory.getScript()) == false)
    {
      configAttrs.setAttribute(ScriptableDataFactoryModule.NAMESPACE,
          "shutdown-script", String.valueOf(scriptableDataFactory.getShutdownScript()));
    }
    xmlWriter.writeTag(ScriptableDataFactoryModule.NAMESPACE, "config", configAttrs, XmlWriterSupport.CLOSE);

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

    return produceFactory();
  }

  private ScriptableDataFactory produceFactory()
  {
    final ScriptableDataFactory returnDataFactory = new ScriptableDataFactory();
    returnDataFactory.setLanguage((String) languageField.getSelectedValue());

    final DataSetQuery[] queries = this.queries.values().toArray(new DataSetQuery[this.queries.size()]);
    for (int i = 0; i < queries.length; i++)
    {
      final DataSetQuery query = queries[i];
      returnDataFactory.setQuery(query.getQueryName(), query.getQuery());
    }
    return returnDataFactory;
  }
View Full Code Here

TOP

Related Classes of org.pentaho.reporting.engine.classic.extensions.datasources.scriptable.ScriptableDataFactory

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.