if (jdbcDriverToPlatform.containsKey(driverName)) { return (String)jdbcDriverToPlatform.get(driverName); } if (jdbcConnectionUrl == null) { return null; } for (Iterator it = jdbcSubProtocolToPlatform.entrySet().iterator(); it.hasNext();) { Map.Entry entry          = (Map.Entry)it.next(); String    curSubProtocol = "jdbc:" + (String)entry.getKey() + ":";  if (jdbcConnectionUrl.startsWith(curSubProtocol)) { return (String)entry.getValue(); } } return null;
return determineDatabaseType(dataSource, null, null);
    public String determineDatabaseType(String driverName, String jdbcConnectionUrl)    {        if (jdbcDriverToPlatform.containsKey(driverName))        {            return (String)jdbcDriverToPlatform.get(driverName);        }        if (jdbcConnectionUrl == null)        {            return null;        }        for (Iterator it = jdbcSubProtocolToPlatform.entrySet().iterator(); it.hasNext();)        {            Map.Entry entry          = (Map.Entry)it.next();            String    curSubProtocol = "jdbc:" + (String)entry.getKey() + ":";            if (jdbcConnectionUrl.startsWith(curSubProtocol))            {                return (String)entry.getValue();            }        }        return null;    }