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.