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 2016/08/19 14:44:22 UTC
[1/2] jena git commit: Catch bad IRI and make it 400 "Bad Request".
Repository: jena
Updated Branches:
refs/heads/master fe2df58f9 -> 9c6f87040
Catch bad IRI and make it 400 "Bad Request".
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/f1eca148
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/f1eca148
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/f1eca148
Branch: refs/heads/master
Commit: f1eca14867ca738dc4b211ad8acf021632683638
Parents: fe2df58
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Aug 19 13:44:47 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Aug 19 15:42:38 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/jena/fuseki/servlets/SPARQL_GSP.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/f1eca148/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP.java
index b72c597..fed3fe4 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP.java
@@ -27,6 +27,7 @@ import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.riot.web.HttpNames ;
+import org.apache.jena.riot.RiotException ;
import org.apache.jena.riot.system.IRIResolver ;
import org.apache.jena.sparql.core.DatasetGraph ;
@@ -73,8 +74,12 @@ public abstract class SPARQL_GSP extends ActionREST
// Make sure it ends in "/", ie. dataset as container.
if ( action.request.getQueryString() != null && ! base.endsWith("/") )
base = base + "/" ;
-
- String absUri = IRIResolver.resolveString(uri, base) ;
+ String absUri = null ;
+ try { absUri = IRIResolver.resolveString(uri, base) ; }
+ catch (RiotException ex) {
+ // Bad IRI
+ ServletOps.errorBadRequest("Bad IRI: "+ex.getMessage()) ;
+ }
return namedTarget(action, absUri) ;
}
[2/2] jena git commit: Add PrefixMapping.clearNsPrefixMap.
Posted by an...@apache.org.
Add PrefixMapping.clearNsPrefixMap.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/9c6f8704
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/9c6f8704
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/9c6f8704
Branch: refs/heads/master
Commit: 9c6f87040f90946539a38b15ba44a58008eaefce
Parents: f1eca14
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Aug 19 15:35:06 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Aug 19 15:43:55 2016 +0100
----------------------------------------------------------------------
.../jena/query/ParameterizedSparqlString.java | 5 +++++
.../apache/jena/sparql/util/PrefixMapping2.java | 7 +++++++
.../org/apache/jena/rdf/model/impl/ModelCom.java | 7 +++++++
.../org/apache/jena/shared/PrefixMapping.java | 6 ++++++
.../jena/shared/impl/PrefixMappingImpl.java | 17 +++++++++++++++--
.../jena/shared/AbstractTestPrefixMapping.java | 15 +++++++++++++++
.../graph/impl/SecuredPrefixMappingImpl.java | 7 +++++++
.../permissions/model/impl/SecuredModelImpl.java | 18 +++++++++---------
.../jena/permissions/MockPrefixMapping.java | 6 ++++++
9 files changed, 77 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/9c6f8704/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java b/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java
index b6d7460..928b728 100644
--- a/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java
+++ b/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java
@@ -1458,6 +1458,11 @@ public class ParameterizedSparqlString implements PrefixMapping {
}
@Override
+ public PrefixMapping clearNsPrefixMap() {
+ return this.prefixes.clearNsPrefixMap() ;
+ }
+
+ @Override
public PrefixMapping setNsPrefixes(PrefixMapping other) {
return this.prefixes.setNsPrefixes(other);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/9c6f8704/jena-arq/src/main/java/org/apache/jena/sparql/util/PrefixMapping2.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/PrefixMapping2.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/PrefixMapping2.java
index 9a773d2..f837300 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/PrefixMapping2.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/PrefixMapping2.java
@@ -68,6 +68,13 @@ public class PrefixMapping2 implements PrefixMapping
return this ;
}
+ /** Clear the local prefix map, but leave the immutable global one alone */
+ @Override
+ public PrefixMapping clearNsPrefixMap() {
+ getLocalPrefixMapping().clearNsPrefixMap() ;
+ return this ;
+ }
+
/** @see org.apache.jena.shared.PrefixMapping#setNsPrefixes(org.apache.jena.shared.PrefixMapping) */
@Override
public PrefixMapping setNsPrefixes(PrefixMapping other)
http://git-wip-us.apache.org/repos/asf/jena/blob/9c6f8704/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
index 4207962..5810f5a 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
@@ -1000,6 +1000,13 @@ implements Model, PrefixMapping, Lock
}
@Override
+ public PrefixMapping clearNsPrefixMap()
+ {
+ getPrefixMapping().clearNsPrefixMap();
+ return this ;
+ }
+
+ @Override
public PrefixMapping setNsPrefixes( PrefixMapping pm )
{
getPrefixMapping().setNsPrefixes( pm );
http://git-wip-us.apache.org/repos/asf/jena/blob/9c6f8704/jena-core/src/main/java/org/apache/jena/shared/PrefixMapping.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/shared/PrefixMapping.java b/jena-core/src/main/java/org/apache/jena/shared/PrefixMapping.java
index dafd74f..2ff26de 100644
--- a/jena-core/src/main/java/org/apache/jena/shared/PrefixMapping.java
+++ b/jena-core/src/main/java/org/apache/jena/shared/PrefixMapping.java
@@ -76,6 +76,12 @@ public interface PrefixMapping
PrefixMapping removeNsPrefix( String prefix );
+ /**
+ * Clear this prefix mapping of all mappings
+ */
+ PrefixMapping clearNsPrefixMap();
+
+
/**
Copies the prefixes from other into this. Any existing binding of the
same prefix is lost. The result is this same prefixMapping.
http://git-wip-us.apache.org/repos/asf/jena/blob/9c6f8704/jena-core/src/main/java/org/apache/jena/shared/impl/PrefixMappingImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/shared/impl/PrefixMappingImpl.java b/jena-core/src/main/java/org/apache/jena/shared/impl/PrefixMappingImpl.java
index 78f5d93..4a492a1 100644
--- a/jena-core/src/main/java/org/apache/jena/shared/impl/PrefixMappingImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/shared/impl/PrefixMappingImpl.java
@@ -18,11 +18,13 @@
package org.apache.jena.shared.impl;
-import java.util.*;
+import java.util.ArrayList ;
+import java.util.List ;
+import java.util.Map ;
import java.util.Map.Entry;
import org.apache.jena.rdf.model.impl.Util ;
-import org.apache.jena.shared.* ;
+import org.apache.jena.shared.PrefixMapping ;
import org.apache.jena.util.CollectionFactory ;
import org.apache.xerces.util.XMLChar;
@@ -83,6 +85,17 @@ public class PrefixMappingImpl implements PrefixMapping
return this;
}
+ @Override
+ public PrefixMapping clearNsPrefixMap() {
+ checkUnlocked();
+ // Do by calling down via the interception point remove(prefix).
+ // Copy prefixes to avoid possible concurrent modification exceptions
+ List<String> prefixes = new ArrayList<>(prefixToURI.keySet()) ;
+ prefixes.forEach(p->remove(p));
+ regenerateReverseMapping() ;
+ return this ;
+ }
+
protected void regenerateReverseMapping()
{
URItoPrefix.clear();
http://git-wip-us.apache.org/repos/asf/jena/blob/9c6f8704/jena-core/src/test/java/org/apache/jena/shared/AbstractTestPrefixMapping.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/shared/AbstractTestPrefixMapping.java b/jena-core/src/test/java/org/apache/jena/shared/AbstractTestPrefixMapping.java
index ec72d9f..776f07b 100644
--- a/jena-core/src/test/java/org/apache/jena/shared/AbstractTestPrefixMapping.java
+++ b/jena-core/src/test/java/org/apache/jena/shared/AbstractTestPrefixMapping.java
@@ -400,6 +400,21 @@ public abstract class AbstractTestPrefixMapping extends GraphTestBase
assertEquals( bURI, A.getNsPrefixURI( "br" ) );
}
+ public void testClear()
+ {
+ String hURI = "http://test.remove.prefixes/prefix#";
+ String bURI = "http://other.test.remove.prefixes/prefix#";
+ PrefixMapping A = getMapping();
+ A.setNsPrefix( "hr", hURI );
+ A.setNsPrefix( "br", bURI );
+ A.clearNsPrefixMap() ;
+ assertEquals( null, A.getNsURIPrefix( "hr" ) );
+ assertEquals( null, A.getNsURIPrefix( "br" ) );
+ assertEquals( null, A.getNsURIPrefix(bURI) ) ;
+ assertEquals( null, A.getNsURIPrefix(hURI) ) ;
+ }
+
+
public void testEquality()
{
testEquals( "" );
http://git-wip-us.apache.org/repos/asf/jena/blob/9c6f8704/jena-permissions/src/main/java/org/apache/jena/permissions/graph/impl/SecuredPrefixMappingImpl.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/graph/impl/SecuredPrefixMappingImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/graph/impl/SecuredPrefixMappingImpl.java
index daa6a0f..0f4d36d 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/graph/impl/SecuredPrefixMappingImpl.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/graph/impl/SecuredPrefixMappingImpl.java
@@ -104,6 +104,13 @@ public class SecuredPrefixMappingImpl extends SecuredItemImpl implements
}
@Override
+ public PrefixMapping clearNsPrefixMap() {
+ checkUpdate();
+ holder.getBaseItem().clearNsPrefixMap() ;
+ return holder.getSecuredItem();
+ }
+
+ @Override
public boolean samePrefixMappingAs(final PrefixMapping other)
throws ReadDeniedException, AuthenticationRequiredException {
checkRead();
http://git-wip-us.apache.org/repos/asf/jena/blob/9c6f8704/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java
index ca1a52c..ec2a3c5 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java
@@ -1907,15 +1907,8 @@ public class SecuredModelImpl extends SecuredItemImpl implements SecuredModel {
public SecuredModel read(final String url, final String base,
final String lang) throws ReadDeniedException,
AuthenticationRequiredException {
- try {
- final InputStream is = new URL(url).openStream();
- try {
- read(is, base, lang);
- } finally {
- if (null != is) {
- is.close();
- }
- }
+ try (InputStream is = new URL(url).openStream()) {
+ read(is, base, lang);
} catch (final IOException e) {
throw new WrappedIOException(e);
}
@@ -2106,6 +2099,13 @@ public class SecuredModelImpl extends SecuredItemImpl implements SecuredModel {
holder.getBaseItem().removeNsPrefix(prefix);
return holder.getSecuredItem();
}
+
+ @Override
+ public SecuredPrefixMapping clearNsPrefixMap() {
+ checkUpdate();
+ holder.getBaseItem().clearNsPrefixMap() ;
+ return holder.getSecuredItem();
+ }
@Override
public void removeReification(final ReifiedStatement rs)
http://git-wip-us.apache.org/repos/asf/jena/blob/9c6f8704/jena-permissions/src/test/java/org/apache/jena/permissions/MockPrefixMapping.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/test/java/org/apache/jena/permissions/MockPrefixMapping.java b/jena-permissions/src/test/java/org/apache/jena/permissions/MockPrefixMapping.java
index a52b659..21ecee2 100644
--- a/jena-permissions/src/test/java/org/apache/jena/permissions/MockPrefixMapping.java
+++ b/jena-permissions/src/test/java/org/apache/jena/permissions/MockPrefixMapping.java
@@ -68,6 +68,12 @@ public class MockPrefixMapping implements PrefixMapping
}
@Override
+ public PrefixMapping clearNsPrefixMap()
+ {
+ return this ;
+ }
+
+ @Override
public boolean samePrefixMappingAs( final PrefixMapping other )
{
return false;