public List<URI> downloadDependencies(URI uri) throws URISyntaxException, IOException {
    Map<String, Object> dependencyMap = new HashMap<String, Object>();
    String authority = uri.getAuthority();
    if (authority == null) {
      throw new URISyntaxException(authority, "Invalid url: Expected 'org:module:version', found null");
    }
    String[] authorityTokens = authority.split(":");

    if (authorityTokens.length != 3) {
      throw new URISyntaxException(authority, "Invalid url: Expected 'org:module:version', found " + authority);
    }

    dependencyMap.put("org", authorityTokens[0]);
    dependencyMap.put("module", authorityTokens[1]);
    dependencyMap.put("version", authorityTokens[2]);
    Map<String, Object> queryMap = parseQueryString(uri.getQuery());
    if (queryMap != null) {
      dependencyMap.putAll(queryMap);
    }
    return grab(dependencyMap);
  }
@param uri
@return List of URIs of downloaded jars
@throws URISyntaxException
@throws IOException
ql/src/java/org/apache/hadoop/hive/ql/util/DependencyResolver.java