Package org.pentaho.reporting.engine.classic.core.modules.misc.datafactory.sql

Examples of org.pentaho.reporting.engine.classic.core.modules.misc.datafactory.sql.DriverConnectionProvider


    }
  }

  private SQLReportDataFactory fixSQLDataFactoryConfiguration(SQLReportDataFactory factory, HashMap<String, String> postgres_settings) throws Exception {
    SQLReportDataFactory new_factory;
    DriverConnectionProvider new_settings;

    String postgres_host = postgres_settings.get("host");
    String postgres_port = postgres_settings.get("port");
    String postgres_db = postgres_settings.get("db");
    String postgres_login = postgres_settings.get("login");
    String postgres_password = postgres_settings.get("password");

    if(postgres_host == null || postgres_db == null)
      throw new Exception("Invalid JDBC data source settings passed: PostgreS server's hostname (or IP address) and the database name must be set if specifying custom connection settings.");

    if(postgres_login == null)
      postgres_login = factory.getUserField();

    if(postgres_password == null)
      postgres_password = factory.getPasswordField();

    if(postgres_port == null)
      postgres_port = "5432";

    String jdbc_url = "jdbc:postgresql://" + postgres_host + ":" + postgres_port + "/" + postgres_db;

    new_settings = new DriverConnectionProvider();
    new_settings.setDriver("org.postgresql.Driver");
    new_settings.setUrl(jdbc_url);
    new_settings.setProperty("user", postgres_login);
    new_settings.setProperty("password", postgres_password);

    //The following may not be necessary since we set the JDBC URL
    new_settings.setProperty("::pentaho-reporting::name", "Custom PostgreS datasource");
    new_settings.setProperty("::pentaho-reporting::hostname", postgres_host);
    new_settings.setProperty("::pentaho-reporting::port", postgres_port);
    new_settings.setProperty("::pentaho-reporting::database-name", postgres_db);
    new_settings.setProperty("::pentaho-reporting::database-type", "POSTGRESQL");

    new_factory = new SQLReportDataFactory(new_settings);
    new_factory.setUserField(postgres_login);
    new_factory.setPasswordField(postgres_password);
    new_factory.setGlobalScriptLanguage(factory.getGlobalScriptLanguage());
View Full Code Here

TOP

Related Classes of org.pentaho.reporting.engine.classic.core.modules.misc.datafactory.sql.DriverConnectionProvider

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.