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/05/20 11:31:22 UTC
[1/4] jena git commit: Check java classpath resource has been found.
Repository: jena
Updated Branches:
refs/heads/master aa2918cf6 -> 86974d3d9
Check java classpath resource has been found.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/69acadc3
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/69acadc3
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/69acadc3
Branch: refs/heads/master
Commit: 69acadc30bcf756700eaf162e3f6469aca310229
Parents: aa2918c
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 20 11:15:14 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 20 11:15:14 2016 +0100
----------------------------------------------------------------------
.../main/java/org/apache/jena/fuseki/server/FusekiServer.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/69acadc3/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
index 5401d9e..2ddd53c 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
@@ -22,6 +22,7 @@ import java.io.File ;
import java.io.IOException ;
import java.io.InputStream ;
import java.io.StringReader ;
+import java.net.URL ;
import java.nio.file.Files ;
import java.nio.file.Path ;
import java.nio.file.StandardCopyOption ;
@@ -194,7 +195,10 @@ public class FusekiServer
} else {
try {
// Get from the file from area "org/apache/jena/fuseki/server" (our package)
- InputStream in = FusekiServer.class.getResource(fn).openStream() ;
+ URL url = FusekiServer.class.getResource(fn) ;
+ if ( url == null )
+ throw new FusekiConfigException("Field to find resource '"+fn+"'") ;
+ InputStream in = url.openStream() ;
Files.copy(in, dstFile) ;
}
catch (IOException e) {
[3/4] jena git commit: Comments.
Posted by an...@apache.org.
Comments.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/8aff6633
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/8aff6633
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/8aff6633
Branch: refs/heads/master
Commit: 8aff6633e4199c31bb2872841af6d2aab0ec5c7e
Parents: 2372a92
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 20 11:19:38 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 20 11:19:38 2016 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/jena/fuseki/Fuseki.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/8aff6633/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java
index b5dd841..ef9d457 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java
@@ -42,7 +42,7 @@ public class Fuseki {
// General fixed constants.
// See also FusekiServer for the naming on the filesystem
- /** Path to ??? */
+ /** Path as package name */
static public String PATH = "org.apache.jena.fuseki" ;
/** a unique IRI for the Fuseki namespace */
@@ -221,6 +221,10 @@ public class Fuseki {
/**
* Initialize an instance of the Fuseki server stack.
+ * This is not done via Jena's initialization mechanism
+ * but done explicitly to give more control.
+ * Touching this class causes this to happen
+ * (see static block at the end of this class).
*/
public synchronized static void init() {
if ( initialized )
[2/4] jena git commit: Additional debug output for initialization.
Posted by an...@apache.org.
Additional debug output for initialization.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/2372a929
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/2372a929
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/2372a929
Branch: refs/heads/master
Commit: 2372a929adacccc1499e773b274a91baefbc413c
Parents: 69acadc
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 20 11:18:42 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 20 11:18:42 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/jena/system/JenaSystem.java | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/2372a929/jena-core/src/main/java/org/apache/jena/system/JenaSystem.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/system/JenaSystem.java b/jena-core/src/main/java/org/apache/jena/system/JenaSystem.java
index 2858bec..433a446 100644
--- a/jena-core/src/main/java/org/apache/jena/system/JenaSystem.java
+++ b/jena-core/src/main/java/org/apache/jena/system/JenaSystem.java
@@ -101,11 +101,19 @@ public class JenaSystem {
// Debug : what did we find?
if ( JenaSystem.DEBUG_INIT ) {
+ logLifecycle("Found:") ;
get().snapshot().forEach(mod->
- logLifecycle(" %s", mod.getClass().getSimpleName())) ;
+ logLifecycle(" %-20s [%d]", mod.getClass().getSimpleName(), mod.level())) ;
}
+
get().add(new JenaInitLevel0()) ;
-
+
+ if ( JenaSystem.DEBUG_INIT ) {
+ logLifecycle("Initialization sequence:") ;
+ JenaSystem.forEach( module ->
+ logLifecycle(" %-20s [%d]", module.getClass().getSimpleName(), module.level()) ) ;
+ }
+
JenaSystem.forEach( module -> {
logLifecycle("Init: %s", module.getClass().getSimpleName());
module.start() ;
@@ -176,9 +184,9 @@ public class JenaSystem {
}
// Order by level (increasing)
- private static Comparator<JenaSubsystemLifecycle> comparator = (obj1, obj2) -> Integer.compare(obj1.level(), obj2.level()) ;
+ private static Comparator<JenaSubsystemLifecycle> comparator = (obj1, obj2) -> Integer.compare(obj1.level(), obj2.level()) ;
// Order by level (decreasing)
- private static Comparator<JenaSubsystemLifecycle> reverseComparator = (obj1, obj2) -> -1 * Integer.compare(obj1.level(), obj2.level()) ;
+ private static Comparator<JenaSubsystemLifecycle> reverseComparator = (obj1, obj2) -> -1 * comparator.compare(obj1, obj2) ;
private synchronized static void forEach(Consumer<JenaSubsystemLifecycle> action, Comparator<JenaSubsystemLifecycle> ordering) {
List<JenaSubsystemLifecycle> x = get().snapshot() ;
[4/4] jena git commit: JENA-1183: Protect against problems writing
RDF (esp RDF/XML)
Posted by an...@apache.org.
JENA-1183: Protect against problems writing RDF (esp RDF/XML)
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/86974d3d
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/86974d3d
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/86974d3d
Branch: refs/heads/master
Commit: 86974d3d922f664413f17e37dd968de55afdea96
Parents: 8aff663
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 20 12:30:31 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 20 12:30:31 2016 +0100
----------------------------------------------------------------------
.../jena/fuseki/servlets/REST_Quads_R.java | 15 ++++++++++++--
.../jena/fuseki/servlets/ResponseDataset.java | 21 +++++++++++++++-----
.../jena/fuseki/servlets/SPARQL_GSP_R.java | 17 +++++++++++++---
3 files changed, 43 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/86974d3d/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_R.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_R.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_R.java
index e51a6fe..8d91854 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_R.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_R.java
@@ -27,6 +27,7 @@ import javax.servlet.ServletOutputStream ;
import org.apache.jena.atlas.web.MediaType ;
import org.apache.jena.atlas.web.TypedOutputStream ;
import org.apache.jena.riot.web.HttpNames ;
+import org.apache.jena.shared.JenaException ;
import org.apache.jena.riot.* ;
import org.apache.jena.sparql.core.DatasetGraph ;
@@ -83,9 +84,19 @@ public class REST_Quads_R extends REST_Quads {
try {
DatasetGraph dsg = action.getActiveDSG() ;
action.response.setHeader("Content-type", lang.getContentType().toHeaderString());
+ // ActionLib.contentNegotationQuads above
+ // RDF/XML is not a choice but this code is general.
RDFFormat fmt =
- ( lang == Lang.RDFXML ) ? RDFFormat.RDFXML_PLAIN : RDFWriterRegistry.defaultSerialization(lang) ;
- RDFDataMgr.write(out, dsg, fmt) ;
+ // Choose streaming.
+ ( lang == Lang.RDFXML ) ? RDFFormat.RDFXML_PLAIN : RDFWriterRegistry.defaultSerialization(lang) ;
+ try {
+ RDFDataMgr.write(out, dsg, fmt) ;
+ } catch (JenaException ex) {
+ if ( fmt.getLang().equals(Lang.RDFXML) )
+ ServletOps.errorBadRequest("Failed to write output in RDF/XML: "+ex.getMessage()) ;
+ else
+ ServletOps.errorOccurred("Failed to write output: "+ex.getMessage(), ex) ;
+ }
ServletOps.success(action) ;
} finally {
action.endRead() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/86974d3d/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ResponseDataset.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ResponseDataset.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ResponseDataset.java
index 26a5023..34d3495 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ResponseDataset.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ResponseDataset.java
@@ -39,6 +39,7 @@ import org.apache.jena.riot.Lang;
import org.apache.jena.riot.RDFDataMgr;
import org.apache.jena.riot.RDFLanguages;
import org.apache.jena.riot.WebContent;
+import org.apache.jena.shared.JenaException ;
import org.apache.jena.web.HttpSC;
public class ResponseDataset
@@ -119,12 +120,22 @@ public class ResponseDataset
ResponseResultSet.setHttpResponse(action, contentType, charset) ;
response.setStatus(HttpSC.OK_200) ;
ServletOutputStream out = response.getOutputStream() ;
- if ( RDFLanguages.isQuads(lang) )
- RDFDataMgr.write(out, dataset, lang) ;
- else
- RDFDataMgr.write(out, dataset.getDefaultModel(), lang) ;
- out.flush() ;
+ try {
+ if ( RDFLanguages.isQuads(lang) )
+ RDFDataMgr.write(out, dataset, lang) ;
+ else
+ RDFDataMgr.write(out, dataset.getDefaultModel(), lang) ;
+ out.flush() ;
+ } catch (JenaException ex) {
+ // Some RDF/XML data is unwritable. All we can do is pretend it's a bad
+ // request (inappropriate content type).
+ if ( lang.equals(Lang.RDFXML) )
+ ServletOps.errorBadRequest("Failed to write output in RDF/XML: "+ex.getMessage()) ;
+ else
+ ServletOps.errorOccurred("Failed to write output: "+ex.getMessage(), ex) ;
+ }
}
+ catch (ActionErrorException ex) { throw ex ; }
catch (Exception ex) {
action.log.info("Exception while writing the response model: "+ex.getMessage(), ex) ;
ServletOps.errorOccurred("Exception while writing the response model: "+ex.getMessage(), ex) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/86974d3d/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java
index b7b5d07..632f3d6 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java
@@ -27,8 +27,9 @@ import javax.servlet.ServletOutputStream ;
import org.apache.jena.atlas.web.MediaType ;
import org.apache.jena.atlas.web.TypedOutputStream ;
import org.apache.jena.graph.Graph ;
-import org.apache.jena.riot.web.HttpNames ;
import org.apache.jena.riot.* ;
+import org.apache.jena.riot.web.HttpNames ;
+import org.apache.jena.shared.JenaException ;
/** Only the READ operations */
public class SPARQL_GSP_R extends SPARQL_GSP
@@ -74,8 +75,18 @@ public class SPARQL_GSP_R extends SPARQL_GSP
Graph g = target.graph() ;
//Special case RDF/XML to be the plain (faster, less readable) form
RDFFormat fmt =
- ( lang == Lang.RDFXML ) ? RDFFormat.RDFXML_PLAIN : RDFWriterRegistry.defaultSerialization(lang) ;
- RDFDataMgr.write(out, g, fmt) ;
+ ( lang == Lang.RDFXML ) ? RDFFormat.RDFXML_PLAIN : RDFWriterRegistry.defaultSerialization(lang) ;
+ try {
+ RDFDataMgr.write(out, g, fmt) ;
+ } catch (JenaException ex) {
+ // Some RDF/XML data is unwritable. All we can do is pretend it's a bad
+ // request (inappropriate content type).
+ // Good news - this happens before any output for RDF/XML-ABBREV.
+ if ( fmt.getLang().equals(Lang.RDFXML) )
+ ServletOps.errorBadRequest("Failed to write output in RDF/XML: "+ex.getMessage()) ;
+ else
+ ServletOps.errorOccurred("Failed to write output: "+ex.getMessage(), ex) ;
+ }
ServletOps.success(action) ;
} finally { action.endRead() ; }
}