Package org.pentaho.di.core.database

Examples of org.pentaho.di.core.database.DatabaseInterface


  {
    final HashSet knownDrivers = new HashSet();
    final DatabaseInterface[] interfaces = DatabaseMeta.getDatabaseInterfaces();
    for (int i = 0; i < interfaces.length; i++)
    {
      final DatabaseInterface dbi = interfaces[i];
      final int[] accessTypeList = dbi.getAccessTypeList();
      for (int j = 0; j < accessTypeList.length; j++)
      {
        final int al = accessTypeList[j];
        if (al != DatabaseMeta.TYPE_ACCESS_ODBC)
        {

          dbi.setAccessType(al);
          final String driver = dbi.getDriverClass();
          if (knownDrivers.contains(driver) == false)
          {
            System.out.println (driver + "=" + dbi.getClass().getName());
            knownDrivers.add (driver);
          }
        }
      }
    }
View Full Code Here


    try
    {

      // if the connection type is not of the current dialect, regenerate the query
      final DatabaseInterface di = getDatabaseInterface(connection);

      if ((di != null) && !databaseMeta.getPluginId().equals(di.getPluginId()))
      {
        // we need to reinitialize our mqlQuery object and reset the query.
        // note that using this di object wipes out connection info
        final DatabaseMeta meta = (DatabaseMeta) databaseMeta.clone();
        final DatabaseInterface di2 = (DatabaseInterface) di.clone();
        di2.setAccessType(databaseMeta.getAccessType());
        di2.setDatabaseName(databaseMeta.getDatabaseName());
        meta.setDatabaseInterface(di2);
        return meta;
      }
      else
      {
View Full Code Here

  private DatabaseInterface getDatabaseInterface(final Connection conn)
  {
    try
    {
      final String prod = conn.getMetaData().getDatabaseProductName();
      final DatabaseInterface di = DatabaseMetaUtil.getDatabaseInterface(prod);
      if (prod != null && di == null)
      {
        logger.warn("dialect not detected"); //$NON-NLS-1$
      }
      return di;
View Full Code Here

    try
    {

      // if the connection type is not of the current dialect, regenerate the query
      final DatabaseInterface di = getDatabaseInterface(connection);

      if ((di != null) && !databaseMeta.getPluginId().equals(di.getPluginId()))
      {
        // we need to reinitialize our mqlQuery object and reset the query.
        // note that using this di object wipes out connection info
        final DatabaseMeta meta = (DatabaseMeta) databaseMeta.clone();
        final DatabaseInterface di2 = (DatabaseInterface) di.clone();
        di2.setAccessType(databaseMeta.getAccessType());
        di2.setDatabaseName(databaseMeta.getDatabaseName());
        meta.setDatabaseInterface(di2);
        return meta;
      }
      else
      {
View Full Code Here

  private DatabaseInterface getDatabaseInterface(final Connection conn)
  {
    try
    {
      final String prod = conn.getMetaData().getDatabaseProductName();
      final DatabaseInterface di = DatabaseMetaUtil.getDatabaseInterface(prod);
      if (prod != null && di == null)
      {
        logger.warn("dialect not detected"); //$NON-NLS-1$
      }
      return di;
View Full Code Here

  {
    final HashSet knownDrivers = new HashSet();
    final DatabaseInterface[] interfaces = DatabaseMeta.getDatabaseInterfaces();
    for (int i = 0; i < interfaces.length; i++)
    {
      final DatabaseInterface dbi = interfaces[i];
      final int[] accessTypeList = dbi.getAccessTypeList();
      for (int j = 0; j < accessTypeList.length; j++)
      {
        final int al = accessTypeList[j];
        if (al != DatabaseMeta.TYPE_ACCESS_ODBC)
        {

          dbi.setAccessType(al);
          final String driver = dbi.getDriverClass();
          if (knownDrivers.contains(driver) == false)
          {
            System.out.println (driver + "=" + dbi.getClass().getName());
            knownDrivers.add (driver);
          }
        }
      }
    }
View Full Code Here

         this.meta.getAttributes().put(GenericDatabaseMeta.ATRRIBUTE_CUSTOM_URL, jdbcDef.getConnectionString());
         this.meta.getAttributes().put(GenericDatabaseMeta.ATRRIBUTE_CUSTOM_DRIVER_CLASS, jdbcDef.getDriverClass());
      }
      else
      {
        final DatabaseInterface databaseInterface = DatabaseMapping.getMappingForDriver(jdbcDef.getDriverClass());
        this.meta.setDatabaseType(databaseInterface.getPluginId());
        log.debug("Database type is unknown, using " + databaseInterface);
        try
        {
          final String pattern;
          if (databaseInterface instanceof HypersonicDatabaseMeta)
          {
            final String connectionString = jdbcDef.getConnectionString();
            if (connectionString.startsWith(HSQLDB_PREFIX))
            {
              if (connectionString.indexOf(':', HSQLDB_PREFIX.length()) == -1)
              {
                pattern = HSQLDB_PREFIX + "{0}/{2}";
              }
              else
              {
                pattern = HSQLDB_PREFIX + "{0}:{1}/{2}";
              }
            }
            else
            {
              pattern = databaseInterface.getURL("{0}", "{1}", "{2}");
            }
          }
          else
          {
            pattern = databaseInterface.getURL("{0}", "{1}", "{2}");
          }
          // knowing that most databases are written in C, we can be sure that the zero-character
          // is not a common value.
          if (pattern != null && pattern.length() > 0)
          {
View Full Code Here

    final String mappedInstance = configuration.getConfigProperty
        ("org.pentaho.reporting.ui.datasources.jdbc.driver-mapping." + driverClass);
    final DatabaseInterface[] interfaces = DatabaseMeta.getDatabaseInterfaces();
    for (int i = 0; i < interfaces.length; i++)
    {
      final DatabaseInterface databaseInterface = interfaces[i];
      if (databaseInterface.getClass().getName().equals(mappedInstance))
      {
        return databaseInterface;
      }
    }
    return mapTypeFromDriver(driverClass);
View Full Code Here

    // of kettle. There is no safe way (since numeric ids are deprecated) to actually reference a database
    // meta object without hardcoding its ID.
    final DatabaseInterface[] interfaces = DatabaseMeta.getDatabaseInterfaces();
    for (int i = 0; i < interfaces.length; i++)
    {
      final DatabaseInterface anInterface = interfaces[i];
      if ("GENERIC".equals(anInterface.getPluginId()))
      {
        return anInterface;
      }
    }
    return null;
View Full Code Here

    }

    final DatabaseInterface[] interfaces = DatabaseMeta.getDatabaseInterfaces();
    for (int i = 0; i < interfaces.length; i++)
    {
      final DatabaseInterface dbi = interfaces[i];
      final int[] accessTypeList = dbi.getAccessTypeList();
      for (int j = 0; j < accessTypeList.length; j++)
      {
        final int al = accessTypeList[j];
        if (al != DatabaseMeta.TYPE_ACCESS_ODBC)
        {
          dbi.setAccessType(al);
          if (driverClass.equals(dbi.getDriverClass()))
          {
            return dbi;
          }
        }
      }
View Full Code Here

TOP

Related Classes of org.pentaho.di.core.database.DatabaseInterface

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.