Thanks for doing the refactor, I never did find time for that last week

Rob



On 2/5/13 11:14 AM, "[email protected]" <[email protected]> wrote:

>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/FastAbbrevia
>tingPrefixMap.java
>    
>jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBas
>e.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/FastAbbrevia
>tingPrefixMap.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/FastAbbrevia
>tingPrefixMap.java (original)
>+++ 
>jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/FastAbbrevia
>tingPrefixMap.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/PrefixMapBas
>e.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/PrefixMapBas
>e.java (original)
>+++ 
>jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBas
>e.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