You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2009/02/12 03:09:35 UTC

svn commit: r743597 - in /maven/mercury/trunk: mercury-it/pom.xml mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java

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) );
   }