diff --git a/sqldev/pom.xml b/sqldev/pom.xml index ad4c3b18..ac802062 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -5,7 +5,7 @@ org.utplsql org.utplsql.sqldev - 1.0.0 + 1.1.0-SNAPSHOT bundle UTF-8 diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend index d0768738..71f7b8c6 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend @@ -33,6 +33,7 @@ import org.utplsql.sqldev.model.ut.OutputLines class UtplsqlDao { public static val UTPLSQL_PACKAGE_NAME = "UT" + public static val NOT_INSTALLED = 0000000 public static val FIRST_VERSION_WITH_INTERNAL_ANNOTATION_API = 3000004 public static val FIRST_VERSION_WITH_ANNOTATION_API = 3001003 public static val FIRST_VERSION_WITHOUT_INTERNAL_API = 3001008 @@ -60,14 +61,15 @@ class UtplsqlDao { * returns a normalized utPLSQL version in format 9.9.9 */ def String normalizedUtPlsqlVersion() { - val p = Pattern.compile("(\\d+\\.\\d+\\.\\d+)") val version = getUtPlsqlVersion() - val m = p.matcher(version) - if (m.find) { - return m.group(0) - } else { - return "0.0.0" + if (version !== null) { + val p = Pattern.compile("(\\d+\\.\\d+\\.\\d+)") + val m = p.matcher(version) + if (m.find) { + return m.group(0) + } } + return "0.0.0" } /** @@ -97,14 +99,20 @@ class UtplsqlDao { ? := ut.version; END; ''' - cachedUtPlsqlVersion = jdbcTemplate.execute(sql, new CallableStatementCallback() { - override String doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException { - cs.registerOutParameter(1, Types.VARCHAR); - cs.execute - val version = cs.getString(1) - return version - } - }) + try { + cachedUtPlsqlVersion = jdbcTemplate.execute(sql, new CallableStatementCallback() { + override String doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException { + cs.registerOutParameter(1, Types.VARCHAR); + cs.execute + val version = cs.getString(1) + return version + } + }) + } catch (SQLException e) { + // ignore error + } catch (DataAccessException e) { + // ignore error + } } return cachedUtPlsqlVersion } diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend index 25573974..59b83072 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend @@ -588,5 +588,12 @@ class DalTest extends AbstractJdbcTest { Assert.assertEquals("PACKAGE", actual) jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test_pkg") } + + @Test + def void normalizedUtPlsqlVersion() { + val dao = new UtplsqlDao(dataSource.connection) + val version = dao.normalizedUtPlsqlVersion + Assert.assertTrue(version !== null) + } } \ No newline at end of file