Author: andy
Date: Tue Feb  5 11:14:13 2013
New Revision: 1442540

URL: http://svn.apache.org/viewvc?rev=1442540&view=rev
Log:
Prepare for overridable local name rules

Modified:
    
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/FastAbbreviatingPrefixMap.java
    
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java
    
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapStd.java

Modified: 
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/FastAbbreviatingPrefixMap.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/FastAbbreviatingPrefixMap.java?rev=1442540&r1=1442539&r2=1442540&view=diff
==============================================================================
--- 
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/FastAbbreviatingPrefixMap.java
 (original)
+++ 
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/FastAbbreviatingPrefixMap.java
 Tue Feb  5 11:14:13 2013
@@ -151,14 +151,14 @@ public class FastAbbreviatingPrefixMap e
     }
 
     @Override
-    protected Pair<String, String> abbrev(Map<String, IRI> prefixes, String 
uriStr, boolean turtleSafe) {
+    protected Pair<String, String> abbrev(Map<String, IRI> prefixes, String 
uriStr, boolean checkLocalPart) {
         //Use longest match to find the longest possible match
         String prefix = this.abbrevs.longestMatch(uriStr);
         if (prefix == null)
             return null;
 
         String ln = 
uriStr.substring(this.prefixes.get(prefix).toString().length());
-        if (!turtleSafe || isTurtleSafe(ln))
+        if (!checkLocalPart || isSafeLocalPart(ln))
             return Pair.create(prefix, ln);
         return null;
     }

Modified: 
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java?rev=1442540&r1=1442539&r2=1442540&view=diff
==============================================================================
--- 
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java
 (original)
+++ 
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java
 Tue Feb  5 11:14:13 2013
@@ -93,13 +93,13 @@ public abstract class PrefixMapBase impl
      * @param turtleSafe
      *            Only return legal Turtle local names.
      */
-    protected Pair<String, String> abbrev(Map<String, IRI> prefixes, String 
uriStr, boolean turtleSafe) {
+    protected Pair<String, String> abbrev(Map<String, IRI> prefixes, String 
uriStr, boolean checkLocalPart) {
         for (Entry<String, IRI> e : prefixes.entrySet()) {
             String uriForPrefix = e.getValue().toString();
 
             if (uriStr.startsWith(uriForPrefix)) {
                 String ln = uriStr.substring(uriForPrefix.length());
-                if (!turtleSafe || this.isTurtleSafe(ln))
+                if (!checkLocalPart || this.isSafeLocalPart(ln))
                     return Pair.create(e.getKey(), ln);
             }
         }
@@ -115,11 +115,13 @@ public abstract class PrefixMapBase impl
     }
     
     /**
-     * Is a local name safe for Turtle
+     * Is a local name safe? Default is a fast check for Turtle-like local 
names.
      * @param ln Local name
      * @return True if safe, false otherwise
      */
-    protected final boolean isTurtleSafe(String ln) {
+    protected boolean isSafeLocalPart(String ln) {
+        // This test isn't complete but covers the common issues that arise. 
+        // Does not consider possible escaping.
         return (strSafeFor(ln, '/') && strSafeFor(ln, '#') && strSafeFor(ln, 
':'));
     }
     

Modified: 
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapStd.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapStd.java?rev=1442540&r1=1442539&r2=1442540&view=diff
==============================================================================
--- 
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapStd.java 
(original)
+++ 
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapStd.java 
Tue Feb  5 11:14:13 2013
@@ -108,7 +108,7 @@ public class PrefixMapStd extends Prefix
         {
             // Fast track.
             String ln = uriStr.substring(candidate.length());
-            if ( isTurtleSafe(ln))
+            if ( isSafeLocalPart(ln))
                 return Pair.create(uriForPrefix, ln); 
         }
         // Not in the uri -> prefix map.  Crunch it.


Reply via email to