Author: ogusakov Date: Thu Feb 12 02:09:34 2009 New Revision: 743597 URL: http://svn.apache.org/viewvc?rev=743597&view=rev Log: [MERCURY-69] fixed locale dependency in the utils
Modified: maven/mercury/trunk/mercury-it/pom.xml maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java Modified: maven/mercury/trunk/mercury-it/pom.xml URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/pom.xml?rev=743597&r1=743596&r2=743597&view=diff ============================================================================== --- maven/mercury/trunk/mercury-it/pom.xml (original) +++ maven/mercury/trunk/mercury-it/pom.xml Thu Feb 12 02:09:34 2009 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven.mercury</groupId> <artifactId>mercury</artifactId> - <version>1.0-alpha-5-SNAPSHOT</version> + <version>1.0-alpha-6-SNAPSHOT</version> </parent> <artifactId>mercury-it</artifactId> Modified: maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java?rev=743597&r1=743596&r2=743597&view=diff ============================================================================== --- maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java (original) +++ maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java Thu Feb 12 02:09:34 2009 @@ -87,7 +87,9 @@ public static final int K = 1024; public static final int DEFAULT_BUFFER_SIZE = 10 * K; - public static final String [] URL_PROTOCOLS = new String [] {"http://","https://","file://","dav://","davs://","webdav://","webdavs://","dav+http://","dav+https://"}; + public static final String PROTOCOL_DELIM = "://"; + public static final int PROTOCOL_DELIM_LEN = PROTOCOL_DELIM.length(); + public static final String [] URL_PROTOCOLS = new String [] {"http","https","dav","file","davs","webdav","webdavs","dav+http","dav+https"}; //--------------------------------------------------------------------------------------------------------------- private static final IMercuryLogger LOG = MercuryLoggerManager.getLogger( FileUtil.class ); private static final Language LANG = new DefaultLanguage( FileUtil.class ); @@ -981,14 +983,24 @@ public static InputStream toStream( String resource ) throws MalformedURLException, IOException { - if( Util.isEmpty( resource ) ) + if( resource == null ) return null; - String lowerRes = resource.toLowerCase(); + int ind = resource.indexOf( PROTOCOL_DELIM ); - for( String p : URL_PROTOCOLS ) - if( lowerRes.startsWith( p ) ) - return new URL(resource).openStream(); + if( ind > 1 ) + { + String protocol = resource.substring( 0, ind ); + resource = resource.substring( ind + PROTOCOL_DELIM_LEN ); + + for( int i=0; i<URL_PROTOCOLS.length; i++ ) + { + String p = URL_PROTOCOLS[i]; + + if( protocol.regionMatches( true, 0, p, 0, p.length() ) ) + return new URL( p+PROTOCOL_DELIM+resource).openStream(); + } + } return new FileInputStream( new File(resource) ); }