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) ;
}
}