public String fromURI()

in archiva-jarinfo/archiva-jarinfo-cli/src/main/java/org/apache/archiva/jarinfo/scanner/LibLocator.java [44:79]


    public String fromURI( String uri )
    {
        URL url = null;
        try
        {
            url = new URL( uri );
        }
        catch ( MalformedURLException ignore )
        {
            /* ignore */
        }
        if ( url == null || !( "file".equals( url.getProtocol() ) ) )
        {
            throw new IllegalArgumentException( "Can only handle valid file: URIs" );
        }
        StringBuffer buf = new StringBuffer( url.getHost() );
        if ( buf.length() > 0 )
        {
            buf.insert( 0, File.separatorChar ).insert( 0, File.separatorChar );
        }

        String file = url.getFile();
        int queryPos = file.indexOf( '?' );
        buf.append( ( queryPos < 0 ) ? file : file.substring( 0, queryPos ) );

        String tmpUri = buf.toString().replace( '/', File.separatorChar );

        if ( File.pathSeparatorChar == ';' && uri.startsWith( "\\" ) && uri.length() > 2
            && Character.isLetter( uri.charAt( 1 ) ) && uri.lastIndexOf( ':' ) > -1 )
        {
            tmpUri = uri.substring( 1 );
        }

        String path = decodeUri( tmpUri );
        return path;
    }