This is an automated email from the ASF dual-hosted git repository. amagyar pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push: new c9d9f03 AMBARI-23620. Moving DB condifuration related code to common Service Advisor so that both Hive and Oozie can reuse it (#1072) c9d9f03 is described below commit c9d9f03493a81572d7234447d10f57815d4fc870 Author: smolnar82 <34065904+smolna...@users.noreply.github.com> AuthorDate: Tue Apr 24 15:04:45 2018 +0200 AMBARI-23620. Moving DB condifuration related code to common Service Advisor so that both Hive and Oozie can reuse it (#1072) --- .../src/main/resources/stacks/service_advisor.py | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/ambari-server/src/main/resources/stacks/service_advisor.py b/ambari-server/src/main/resources/stacks/service_advisor.py index c8696ea..893863c 100644 --- a/ambari-server/src/main/resources/stacks/service_advisor.py +++ b/ambari-server/src/main/resources/stacks/service_advisor.py @@ -114,3 +114,51 @@ class ServiceAdvisor(DefaultStackAdvisor): such as validateHDFSConfigurations. """ return [] + + def getDBDriver(self, databaseType): + driverDict = { + "NEW MYSQL DATABASE": "com.mysql.jdbc.Driver", + "NEW DERBY DATABASE": "org.apache.derby.jdbc.EmbeddedDriver", + "EXISTING MYSQL DATABASE": "com.mysql.jdbc.Driver", + "EXISTING MYSQL / MARIADB DATABASE": "com.mysql.jdbc.Driver", + "EXISTING POSTGRESQL DATABASE": "org.postgresql.Driver", + "EXISTING ORACLE DATABASE": "oracle.jdbc.driver.OracleDriver", + "EXISTING SQL ANYWHERE DATABASE": "sap.jdbc4.sqlanywhere.IDriver" + } + return driverDict.get(databaseType.upper()) + + def getDBConnectionString(self, databaseType): + driverDict = { + "NEW MYSQL DATABASE": "jdbc:mysql://{0}/{1}?createDatabaseIfNotExist=true", + "NEW DERBY DATABASE": "jdbc:derby:${{oozie.data.dir}}/${{oozie.db.schema.name}}-db;create=true", + "EXISTING MYSQL DATABASE": "jdbc:mysql://{0}/{1}", + "EXISTING MYSQL / MARIADB DATABASE": "jdbc:mysql://{0}/{1}", + "EXISTING POSTGRESQL DATABASE": "jdbc:postgresql://{0}:5432/{1}", + "EXISTING ORACLE DATABASE": "jdbc:oracle:thin:@//{0}:1521/{1}", + "EXISTING SQL ANYWHERE DATABASE": "jdbc:sqlanywhere:host={0};database={1}" + } + return driverDict.get(databaseType.upper()) + + def getProtocol(self, databaseType): + first_parts_of_connection_string = { + "NEW MYSQL DATABASE": "jdbc:mysql", + "NEW DERBY DATABASE": "jdbc:derby", + "EXISTING MYSQL DATABASE": "jdbc:mysql", + "EXISTING MYSQL / MARIADB DATABASE": "jdbc:mysql", + "EXISTING POSTGRESQL DATABASE": "jdbc:postgresql", + "EXISTING ORACLE DATABASE": "jdbc:oracle", + "EXISTING SQL ANYWHERE DATABASE": "jdbc:sqlanywhere" + } + return first_parts_of_connection_string.get(databaseType.upper()) + + def getDBTypeAlias(self, databaseType): + driverDict = { + "NEW MYSQL DATABASE": "mysql", + "NEW DERBY DATABASE": "derby", + "EXISTING MYSQL / MARIADB DATABASE": "mysql", + "EXISTING MYSQL DATABASE": "mysql", + "EXISTING POSTGRESQL DATABASE": "postgres", + "EXISTING ORACLE DATABASE": "oracle", + "EXISTING SQL ANYWHERE DATABASE": "sqla" + } + return driverDict.get(databaseType.upper()) -- To stop receiving notification emails like this one, please contact amag...@apache.org.