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 2012/09/08 23:44:29 UTC

svn commit: r1382371 - in /jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets: SPARQL_REST.java SPARQL_REST_RW.java SPARQL_Upload.java

Author: andy
Date: Sat Sep  8 21:44:28 2012
New Revision: 1382371

URL: http://svn.apache.org/viewvc?rev=1382371&view=rev
Log:
Attempt to abort if something goes wrong (other data routes)

Modified:
    jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java
    jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_RW.java
    jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java

Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java?rev=1382371&r1=1382370&r2=1382371&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java Sat Sep  8 21:44:28 2012
@@ -269,19 +269,28 @@ public abstract class SPARQL_REST extend
 
     protected static void addDataInto(Graph data, HttpActionREST action)
     {   
-        Target dest = action.getTarget() ;
-        Graph g = dest.graph() ;
-        if ( g == null )
-        {
-            if ( dest.isDefault )
-                errorOccurred("Dataset does not have a default graph") ;
-            log.info(format("[%d] Creating in-memory graph for <%s>", action.id, dest.graphName)) ;
-            // Not default graph.
-            // Not an autocreate dataset -               create something.
-            g = GraphFactory.createDefaultGraph() ;
-            dest.dsg.addGraph(dest.graphName, g) ;
+        try
+        {
+            Target dest = action.getTarget() ;
+            Graph g = dest.graph() ;
+            if (g == null)
+            {
+                if (dest.isDefault) errorOccurred("Dataset does not have a default graph") ;
+                log.info(format("[%d] Creating in-memory graph for <%s>", action.id, dest.graphName)) ;
+                // Not default graph.
+                // Not an autocreate dataset - create something.
+                g = GraphFactory.createDefaultGraph() ;
+                dest.dsg.addGraph(dest.graphName, g) ;
+            }
+            g.getBulkUpdateHandler().add(data) ;
+        } catch (RuntimeException ex)
+        {
+            // If anything went wrong, try to backout.
+            action.abort() ;
+            errorOccurred(ex.getMessage()) ;
+            return ;
         }
-        g.getBulkUpdateHandler().add(data) ;
+        
     }
 
     protected static DatasetGraph parseBody(HttpActionREST action)

Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_RW.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_RW.java?rev=1382371&r1=1382370&r2=1382371&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_RW.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_RW.java Sat Sep  8 21:44:28 2012
@@ -70,8 +70,7 @@ public class SPARQL_REST_RW extends SPAR
                 clearGraph(action.getTarget()) ;
             addDataInto(body.getDefaultGraph(), action) ;
             action.commit() ;
-        } catch (RuntimeException ex) { action.abort() ; errorOccurred(ex.getMessage()) ; return ; }
-        finally { action.endWrite() ; }
+        } finally { action.endWrite() ; }
         // Differentiate: 201 Created or 204 No Content 
         if ( existedBefore )
             SPARQL_ServletBase.successNoContent(action) ;

Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java?rev=1382371&r1=1382370&r2=1382371&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java Sat Sep  8 21:44:28 2012
@@ -185,7 +185,14 @@ public class SPARQL_Upload extends SPARQ
                 else
                     action.getActiveDSG().getGraph(gn).getBulkUpdateHandler().add(graphTmp) ;
                 action.commit() ;
-            } finally { action.endWrite() ; }
+            } catch (RuntimeException ex)
+            {
+                // If anything went wrong, try to backout.
+                action.abort() ;
+                errorOccurred(ex.getMessage()) ;
+                return ;
+            } 
+            finally { action.endWrite() ; }
                     
             response.setContentType("text/plain") ;
             response.getOutputStream().print("Triples = "+tripleCount) ;