public static URI resolve()

in command.line/java/jetbrains/buildServer/core/runtime/RuntimeUtil.java [192:216]


    public static URI resolve(final URI uri, IProgressMonitor monitor) {
      if ("class".equals(uri.getScheme())) {
        String className = uri.getPath() != null && uri.getPath().trim().length() > 0 ? uri.getPath() : uri.getSchemeSpecificPart();
        if (className != null && className.length() > 0) {
          int i = 0;
          while (i < className.length()) {
            if (Character.isLetter(className.charAt(i))) {
              break;
            }
            i++;
          }
          if (i < className.length()) {
            className = className.substring(i);
            try {
              final Class<?> clazz = Class.forName(className);
              return new URI(clazz.newInstance().toString());
            } catch (Exception e) {
              monitor.status(new ProgressStatus(ProgressStatus.ERROR, e.getMessage(), e));
            }
          }
        }
      }
      monitor.status(new ProgressStatus(ProgressStatus.OK, String.format("Nothing resolve: '%s'", uri)));
      return uri;
    }