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;