You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/05/03 16:07:57 UTC
svn commit: r1478799 -
/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IRILib.java
Author: andy
Date: Fri May 3 14:07:56 2013
New Revision: 1478799
URL: http://svn.apache.org/r1478799
Log:
Don't encode ':' (Leave Windows drive marker alone)
Modified:
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IRILib.java
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IRILib.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IRILib.java?rev=1478799&r1=1478798&r2=1478799&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IRILib.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IRILib.java Fri May 3 14:07:56 2013
@@ -28,42 +28,6 @@ import org.apache.jena.atlas.lib.StrUtil
/** Operations related to IRIs */
public class IRILib
{
- /** Encode using the rules for a component (e.g. ':' and '/' get encoded)
- * Does not encode non-ASCII characters
- */
- public static String encodeUriComponent(String string)
- {
- String encStr = StrUtils.encodeHex(string,'%', charsComponent) ;
- return encStr ;
- }
-
- /** Encode using the rules for a file: URL. Same as encodeUriPath except
- * add "~" to the encoded set.
- * Does not encode non-ASCII characters
- *
- */
- public static String encodeFileURL(String string)
- {
- String encStr = StrUtils.encodeHex(string,'%', charsFilename) ;
- return encStr ;
- }
-
- /** Encode using the rules for a path (e.g. ':' and '/' do not get encoded) */
- public static String encodeUriPath(String uri)
- {
- // Not perfect.
- // Encode path.
- // %-encode chars.
- uri = StrUtils.encodeHex(uri, '%', charsPath) ;
- return uri ;
- }
-
- public static String decode(String string)
- {
- return StrUtils.decodeHex(string, '%') ;
- }
-
-
private static final boolean isWindows = (File.pathSeparatorChar == ';' ) ;
// Does not help - we use file.getCanonicalPath
// /*package*/ public static void setIsWindowsForTesting(boolean val) { isWindows = val ; }
@@ -100,7 +64,9 @@ public class IRILib
private static char[] charsFilename =
// reserved, + non-chars + nasties.
- { '!', '*', '"', '\'', '(', ')', ';', ':', '@', '&',
+ // Leave : (Windows drive charcater) and / (separator) alone
+ // include SPC and ~
+ { '!', '*', '"', '\'', '(', ')', ';', /*':',*/ '@', '&',
'=', '+', '$', ',', /*'/',*/ '?', '%', '#', '[', ']',
'{', '}', '|', '\\', '`', '^',
' ', '<', '>', '\n', '\r', '\t',
@@ -224,6 +190,39 @@ public class IRILib
return plainFilenameToURL(fn2) ;
}
+ /** Encode using the rules for a component (e.g. ':' and '/' get encoded)
+ * Does not encode non-ASCII characters
+ */
+ public static String encodeUriComponent(String string)
+ {
+ String encStr = StrUtils.encodeHex(string,'%', charsComponent) ;
+ return encStr ;
+ }
+
+ /** Encode using the rules for a file: URL.
+ * Does not encode non-ASCII characters
+ */
+ public static String encodeFileURL(String string)
+ {
+ String encStr = StrUtils.encodeHex(string,'%', charsFilename) ;
+ return encStr ;
+ }
+
+ /** Encode using the rules for a path (e.g. ':' and '/' do not get encoded) */
+ public static String encodeUriPath(String uri)
+ {
+ // Not perfect.
+ // Encode path.
+ // %-encode chars.
+ uri = StrUtils.encodeHex(uri, '%', charsPath) ;
+ return uri ;
+ }
+
+ public static String decode(String string)
+ {
+ return StrUtils.decodeHex(string, '%') ;
+ }
+
public static String encodeNonASCII(String string)
{
if ( ! containsNonASCII(string) )