private static void parseInternal(UrlParser urlParser,String url,Properties properties) throws SQLException {
  try {
    int separator=url.indexOf("//");
    if (separator == -1) {
      throw new IllegalArgumentException("url parsing error : '//' is not present in the url " + url);
    }
    setHaMode(urlParser,url,separator);
    String urlSecondPart=url.substring(separator + 2);
    int dbIndex=urlSecondPart.indexOf("/");
    int paramIndex=urlSecondPart.indexOf("?");
    String hostAddressesString;
    String additionalParameters;
    if ((dbIndex < paramIndex && dbIndex < 0) || (dbIndex > paramIndex && paramIndex > -1)) {
      hostAddressesString=urlSecondPart.substring(0,paramIndex);
      additionalParameters=urlSecondPart.substring(paramIndex);
    }
 else     if ((dbIndex < paramIndex && dbIndex > -1) || (dbIndex > paramIndex && paramIndex < 0)) {
      hostAddressesString=urlSecondPart.substring(0,dbIndex);
      additionalParameters=urlSecondPart.substring(dbIndex);
    }
 else {
      hostAddressesString=urlSecondPart;
      additionalParameters=null;
    }
    defineUrlParserParameters(urlParser,properties,hostAddressesString,additionalParameters);
    setDefaultHostAddressType(urlParser);
  }
 catch (  IllegalArgumentException i) {
    throw new SQLException(i.getMessage());
  }
}

private static void parseInternal ( UrlParser urlParser , String url , Properties properties ) throws SQLException { try { int separator = url . indexOf ( "//" ) ; if ( separator == - 1 ) { throw new IllegalArgumentException ( "url parsing error : '//' is not present in the url " + url ) ; } setHaMode ( urlParser , url , separator ) ; String urlSecondPart = url . substring ( separator + 2 ) ; int dbIndex = urlSecondPart . indexOf ( "/" ) ; int paramIndex = urlSecondPart . indexOf ( "?" ) ; String hostAddressesString ; String additionalParameters ; if ( ( dbIndex < paramIndex && dbIndex < 0 ) || ( dbIndex > paramIndex && paramIndex > - 1 ) ) { hostAddressesString = urlSecondPart . substring ( 0 , paramIndex ) ; additionalParameters = urlSecondPart . substring ( paramIndex ) ; } else if ( ( dbIndex < paramIndex && dbIndex > - 1 ) || ( dbIndex > paramIndex && paramIndex < 0 ) ) { hostAddressesString = urlSecondPart . substring ( 0 , dbIndex ) ; additionalParameters = urlSecondPart . substring ( dbIndex ) ; } else { hostAddressesString = urlSecondPart ; additionalParameters = null ; } defineUrlParserParameters ( urlParser , properties , hostAddressesString , additionalParameters ) ; setDefaultHostAddressType ( urlParser ) ; } catch ( IllegalArgumentException i ) { throw new SQLException ( i . getMessage ( ) ) ; } }
parses the connection url in order to set the urlparser instance with all the information provided through the url .
