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/07/21 12:43:25 UTC

[1/3] jena git commit: Added suppressed exception.

Repository: jena
Updated Branches:
  refs/heads/master 902ddc074 -> 9d7e822ba


Added suppressed exception.


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/8cf096c2
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/8cf096c2
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/8cf096c2

Branch: refs/heads/master
Commit: 8cf096c2f9ca7bb0c03df5b97281264bf4193744
Parents: 902ddc0
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Jul 21 12:37:44 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Jul 21 12:38:21 2016 +0100

----------------------------------------------------------------------
 jena-arq/src/main/java/org/apache/jena/system/Txn.java | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/8cf096c2/jena-arq/src/main/java/org/apache/jena/system/Txn.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/system/Txn.java b/jena-arq/src/main/java/org/apache/jena/system/Txn.java
index c422fc4..5db5e6c 100644
--- a/jena-arq/src/main/java/org/apache/jena/system/Txn.java
+++ b/jena-arq/src/main/java/org/apache/jena/system/Txn.java
@@ -21,7 +21,6 @@ package org.apache.jena.system;
 import java.util.function.Supplier ;
 
 import org.apache.jena.query.ReadWrite ;
-import org.apache.jena.sparql.JenaTransactionException ;
 import org.apache.jena.sparql.core.Transactional ;
 
 /** Application utilities for transactions.
@@ -41,7 +40,7 @@ public class Txn {
             txn.begin(ReadWrite.READ) ;
         try { r.run() ; }
         catch (Throwable th) {
-            onThrowable(txn);
+            onThrowable(th, txn);
             throw th ;
         }
         if ( ! b )
@@ -59,7 +58,7 @@ public class Txn {
                 txn.end() ;
             return x ;
         } catch (Throwable th) {
-            onThrowable(txn);
+            onThrowable(th, txn);
             throw th ;
         }
     }
@@ -71,7 +70,7 @@ public class Txn {
             txn.begin(ReadWrite.WRITE) ;
         try { r.run() ; }
         catch (Throwable th) {
-            onThrowable(txn);
+            onThrowable(th, txn);
             throw th ;
         }
         if ( !b ) {
@@ -90,7 +89,7 @@ public class Txn {
         X x = null ;
         try { x = r.get() ; } 
         catch (Throwable th) {
-            onThrowable(txn);
+            onThrowable(th, txn);
             throw th ;
         }
         if ( !b ) {
@@ -103,10 +102,10 @@ public class Txn {
     }
     
     // Attempt some kind of cleanup.
-    private static <T extends Transactional> void onThrowable(T txn) {
+    private static <T extends Transactional> void onThrowable(Throwable th, T txn) {
         try {
             txn.abort() ;
             txn.end() ;
-        } catch (JenaTransactionException ex) { }
+        } catch (Throwable th2) { th.addSuppressed(th2); }
     }
 }


[3/3] jena git commit: JENA-1213: Test whether the root is a subject at all.

Posted by an...@apache.org.
JENA-1213: Test whether the root is a subject at all.


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/9d7e822b
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/9d7e822b
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/9d7e822b

Branch: refs/heads/master
Commit: 9d7e822ba0ebf694a348e2201869057ac6fe8b6c
Parents: 08d8de7
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Jul 21 13:43:00 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Jul 21 13:43:00 2016 +0100

----------------------------------------------------------------------
 .../jena/assembler/assemblers/AssemblerGroup.java    | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/9d7e822b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerGroup.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerGroup.java b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerGroup.java
index 02d21ca..8f478d4 100644
--- a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerGroup.java
+++ b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerGroup.java
@@ -109,8 +109,21 @@ public abstract class AssemblerGroup extends AssemblerBase implements Assembler
         @Override public Object open( Assembler a, Resource root, Mode mode )
             {
             Set <Resource>types = AssemblerHelp.findSpecificTypes( root, JA.Object );
-            if (types.size() == 0)
+            if (types.size() == 0) {
+                // Does it exist as a subject in the model? Mistyped?
+                boolean noSuchSubject = ! root.listProperties().hasNext() ;
+                if ( noSuchSubject ) {
+                    String s ;
+                    if ( root.isURIResource() )
+                        s = "<"+root.getURI()+">" ;
+                    else if ( root.isAnon() )
+                        s = "_:"+root.getId() ;
+                    else
+                        s = String.valueOf(root) ;
+                    throw new AssemblerException(root, "Can't find "+s+" as a subject") ;
+                }
                 throw new NoSpecificTypeException( root );
+            }
             else if (types.size() > 1)
                 throw new AmbiguousSpecificTypeException( root, new ArrayList<>( types ) );
             else


[2/3] jena git commit: Create a concurrent-safe set

Posted by an...@apache.org.
Create a concurrent-safe set


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/08d8de73
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/08d8de73
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/08d8de73

Branch: refs/heads/master
Commit: 08d8de73be1e3cb3ffdee6f9a2d13b10676c9286
Parents: 8cf096c
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Jul 21 12:38:43 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Jul 21 12:38:43 2016 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/atlas/lib/Lib.java     | 41 +++++++++-----------
 .../org/apache/jena/atlas/lib/SetUtils.java     | 38 +++++++++---------
 2 files changed, 38 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/08d8de73/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
index 181fe88..27db959 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
@@ -19,6 +19,7 @@
 package org.apache.jena.atlas.lib;
 
 import java.util.List ;
+import java.util.Set ;
 import java.util.zip.Adler32 ;
 import java.util.zip.CRC32 ;
 import java.util.zip.Checksum ;
@@ -30,35 +31,35 @@ public class Lib
 {
     private Lib() {}
     
-    public static final void sync(Object object)
-    {
+    /** "ConcurrentHashSet" */
+    public static final <X> Set<X> concurrentHashSet() {
+        return SetUtils.concurrentHashSet() ;
+    }
+    
+    public static final void sync(Object object) {
         if ( object instanceof Sync )
             ((Sync)object).sync() ;
     }
-    
+
     /** Return true if obj1 and obj are both null or are .equals, else return false 
      * @deprecated
      * Prefer {@link Objects#equal(Object, Object)}
      */
     @Deprecated
-    public static final <T> boolean equal(T obj1, T obj2)
-    {
-    		return Objects.equal(obj1, obj2);
+    public static final <T> boolean equal(T obj1, T obj2) {
+        return Objects.equal(obj1, obj2) ;
     }
     
     /** Return true if obj1 and obj are both null or are .equals, else return false */
-    public static final boolean equalsIgnoreCase(String str1, String str2)
-    {
+    public static final boolean equalsIgnoreCase(String str1, String str2) {
         if ( str1 == null )
             return str2 == null ;
         return str1.equalsIgnoreCase(str2) ;
-    }
-    
+    }    
 
     /** Return true if obj1 and obj are ! equal */
-    public static final <T> boolean notEqual(T obj1, T obj2)
-    {
-        return ! equal(obj1, obj2) ;
+    public static final <T> boolean notEqual(T obj1, T obj2) {
+        return !Objects.equal(obj1, obj2) ;
     }
 
     /** Safely return the class short name for an object -- obj.getClass().getSimpleName() */
@@ -88,15 +89,13 @@ public class Lib
     public static final int hashCodeObject(Object obj) { return hashCodeObject(obj, -4) ; }
     
     /** HashCode - allow nulls */
-    public static final int hashCodeObject(Object obj, int nullHashCode)
-    {
+    public static final int hashCodeObject(Object obj, int nullHashCode) {
         if ( obj == null )
-            return nullHashCode ; 
+            return nullHashCode ;
         return obj.hashCode() ;
     }
     
-    public static final void sleep(int milliSeconds)
-    {
+    public static final void sleep(int milliSeconds) {
         try  { Thread.sleep(milliSeconds) ; }
         catch (InterruptedException ex) { Log.warn(Lib.class, "interrupted", ex) ; }
     }
@@ -112,13 +111,11 @@ public class Lib
     /** Faster than CRC32, nearly as good.
      * @see Adler32
      */
-    public static long adler32(byte[] bytes)
-    {
+    public static long adler32(byte[] bytes) {
         return crc(new Adler32(), bytes) ;
     }
 
-    private static long crc(Checksum alg, byte[] bytes)
-    {
+    private static long crc(Checksum alg, byte[] bytes) {
         alg.reset() ;
         alg.update(bytes, 0, bytes.length) ;
         return alg.getValue() ;

http://git-wip-us.apache.org/repos/asf/jena/blob/08d8de73/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
index 57db41e..1950346 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
@@ -20,44 +20,45 @@ package org.apache.jena.atlas.lib;
 
 import java.util.HashSet ;
 import java.util.Set ;
+import java.util.concurrent.ConcurrentHashMap ;
 
+/** Set specific operations */
 public class SetUtils
 {
     private SetUtils() {}
     
-    public static <X> Set<X> setOfOne(X element) { return DS.setOfOne(element) ; }
+    /** "ConcurrentHashSet" */
+    public static final <X> Set<X> concurrentHashSet() {
+        return ConcurrentHashMap.newKeySet() ;
+    }
     
-     // Set specific operations
+    public static <X> Set<X> setOfOne(X element) { return DS.setOfOne(element) ; }
     
-    public static <T> Set<T> intersection(Set<? extends T> setLeft, Set<? extends T> setRight)
-    {
+    public static <T> Set<T> intersection(Set<? extends T> setLeft, Set<? extends T> setRight) {
         Set<T> results = new HashSet<>(setLeft) ;
         results.retainAll(setRight) ;
         return results ;
     }
 
-    public static <T> boolean intersectionP(Set<? extends T> s1, Set<? extends T> s2)
-    {
-    		return s1.stream().anyMatch(s2::contains);
+    public static <T> boolean intersectionP(Set<? extends T> s1, Set<? extends T> s2) {
+        return s1.stream().anyMatch(s2::contains) ;
     }
 
-    public static <T> Set<T> union(Set<? extends T> s1, Set<? extends T> s2)
-    {
+    public static <T> Set<T> union(Set<? extends T> s1, Set<? extends T> s2) {
         Set<T> s3 = new HashSet<>(s1) ;
         s3.addAll(s2) ;
         return s3 ;
     }
 
-    /** union difference intersection */ 
-    public static <T> Set<T> symmetricDifference(Set<? extends T> s1, Set<? extends T> s2)
-    {
+    /** union difference intersection : those elements in s1 or s2 but not both. */
+    public static <T> Set<T> symmetricDifference(Set<? extends T> s1, Set<? extends T> s2) {
         Set<T> s3 = new HashSet<>() ;
-        s1.forEach(x -> { 
-            if ( ! s2.contains(x) )
+        s1.forEach(x -> {
+            if ( !s2.contains(x) )
                 s3.add(x) ;
         }) ;
-        s2.forEach(x -> { 
-            if ( ! s1.contains(x) )
+        s2.forEach(x -> {
+            if ( !s1.contains(x) )
                 s3.add(x) ;
         }) ;
         return s3 ;
@@ -65,15 +66,14 @@ public class SetUtils
 
     /** Return is s1 \ s2 */
 
-    public static <T> Set<T> difference(Set<? extends T> s1, Set<? extends T> s2)
-    {
+    public static <T> Set<T> difference(Set<? extends T> s1, Set<? extends T> s2) {
         Set<T> s3 = new HashSet<>(s1) ;
         s3.removeAll(s2) ;
         return s3 ;
     }
 
     public static <T> boolean disjoint(Set<T> set1, Set<T> set2) {
-        return CollectionUtils.disjoint(set1, set2) ;   
+        return CollectionUtils.disjoint(set1, set2) ;
     }
 }