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 2013/10/09 11:42:20 UTC
svn commit: r1530546 - in /jena/trunk:
jena-arq/src/main/java/org/apache/jena/atlas/iterator/Iter.java
jena-arq/src/main/java/org/apache/jena/atlas/lib/DS.java
jena-arq/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
jena-jdbc/pom.xml
Author: andy
Date: Wed Oct 9 09:42:19 2013
New Revision: 1530546
URL: http://svn.apache.org/r1530546
Log:
Tidy up null and singleton set/map/list
Modified:
jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/iterator/Iter.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/DS.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
jena/trunk/jena-jdbc/pom.xml
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/iterator/Iter.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/iterator/Iter.java?rev=1530546&r1=1530545&r2=1530546&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/iterator/Iter.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/iterator/Iter.java Wed Oct 9 09:42:19 2013
@@ -33,10 +33,15 @@ public class Iter<T> implements Iterable
return new SingletonIterator<T>(item) ;
}
- public static <T> Iterator<T> nullIterator() {
- return new NullIterator<T>() ;
- }
-
+ @SuppressWarnings("rawtypes")
+ private static final Iterator iter0 = new NullIterator() ;
+ @SuppressWarnings({"unchecked", "cast"})
+ public static <T> Iterator<T> nullIterator() { return (NullIterator<T>)iter0 ; }
+
+// public static <T> Iterator<T> nullIterator() {
+// return new NullIterator<T>() ;
+// }
+
public static <T> Set<T> toSet(Iterable<? extends T> stream) {
return toSet(stream.iterator()) ;
}
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/DS.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/DS.java?rev=1530546&r1=1530545&r2=1530546&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/DS.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/DS.java Wed Oct 9 09:42:19 2013
@@ -19,44 +19,35 @@
package org.apache.jena.atlas.lib;
-import java.util.ArrayList ;
-import java.util.HashMap ;
-import java.util.HashSet ;
-import java.util.Iterator ;
-import java.util.List ;
-import java.util.Map ;
-import java.util.Set ;
+import java.util.* ;
import org.apache.jena.atlas.iterator.NullIterator ;
-
-/** Datastructure factory - allows indirecting to other implementations */
-
public class DS
{
private DS() {}
+ public static <X> Set<X> setOfNone() { return Collections.emptySet() ; }
+ public static <X> Set<X> setOfOne(X element) { return Collections.singleton(element) ; }
public static <X> Set<X> set() { return new HashSet<X>(); }
public static <X> Set<X> set(int initialSize) { return new HashSet<X>(initialSize); }
public static <X> Set<X> set(Set<X> other) { return new HashSet<X>(other); }
- // Trove for sets
-// public static <X> Set<X> set() { return new gnu.trove.THashSet<X>(); }
-// public static <X> Set<X> set(int initialSize) { return new gnu.trove.THashSet<X>(initialSize); }
-// public static <X> Set<X> set(Set<X> other) { return new gnu.trove.THashSet<X>(other); }
-
+ public static <K, V> Map<K,V> mapOfNone() { return Collections.emptyMap() ; }
+ public static <K, V> Map<K,V> mapOfOne(K key, V value) { return Collections.singletonMap(key, value) ; }
public static <K, V> Map<K,V> map() { return new HashMap<K,V>(); }
public static <K, V> Map<K,V> map(int initialSize) { return new HashMap<K,V>(initialSize); }
public static <K, V> Map<K,V> map(Map<K,V> other) { return new HashMap<K,V>(other); }
- public static <T> Iterator<T> nothing() { return new NullIterator<T>() ; }
+ @SuppressWarnings("rawtypes")
+ private static final Iterator iter0 = new NullIterator() ;
+ @SuppressWarnings({"unchecked", "cast"})
+ public static <T> Iterator<T> nothing() { return (NullIterator<T>)iter0 ; }
+
+ public static <T> List<T> listOfNone() { return Collections.emptyList() ; }
+ public static <T> List<T> listOfOne(T element) { return Collections.singletonList(element) ; }
public static <T> List<T> list() { return new ArrayList<T>(); }
public static <T> List<T> list(int initialSize) { return new ArrayList<T>(initialSize); }
public static <T> List<T> list(List<T> other) { return new ArrayList<T>(other); }
-
- // Trove for maps
-// public static <K, V> Map<K,V> map() { return new gnu.trove.THashMap<K,V>(); }
-// public static <K, V> Map<K,V> map(int initialSize) { return new gnu.trove.THashMap<K,V>(initialSize); }
-// public static <K, V> Map<K,V> map(Map<K,V> other) { return new gnu.trove.THashMap<K,V>(other); }
}
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/SetUtils.java?rev=1530546&r1=1530545&r2=1530546&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/SetUtils.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/SetUtils.java Wed Oct 9 09:42:19 2013
@@ -25,6 +25,8 @@ public class SetUtils
{
private SetUtils() {}
+ public static <X> Set<X> setOfOne(X element) { return DS.setOfOne(element) ; }
+
// Set specific operations
public static <T> Set<T> intersection(Set<? extends T> setLeft, Set<? extends T> setRight)
Modified: jena/trunk/jena-jdbc/pom.xml
URL: http://svn.apache.org/viewvc/jena/trunk/jena-jdbc/pom.xml?rev=1530546&r1=1530545&r2=1530546&view=diff
==============================================================================
--- jena/trunk/jena-jdbc/pom.xml (original)
+++ jena/trunk/jena-jdbc/pom.xml Wed Oct 9 09:42:19 2013
@@ -122,7 +122,7 @@
</plugin>
<!-- AspectJ Plugin - Used to support method entry and exit trace logging
- for debugging purposes -->
+ for debugging purposes - ->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
@@ -133,14 +133,14 @@
<executions>
<execution>
<goals>
- <goal>compile</goal> <!-- use this goal to weave all your main classes -->
- <goal>test-compile</goal> <!-- use this goal to weave all your test classes -->
+ <goal>compile</goal> <!- - use this goal to weave all your main classes - ->
+ <goal>test-compile</goal> <!- - use this goal to weave all your test classes - ->
</goals>
</execution>
</executions>
<dependencies>
- <!-- Ensure aspectj tools version used by compiler is the same version
- used as dependency. Avoids warning. https://bugs.eclipse.org/bugs/show_bug.cgi?id=368190 -->
+ <!- - Ensure aspectj tools version used by compiler is the same version
+ used as dependency. Avoids warning. https://bugs.eclipse.org/bugs/show_bug.cgi?id=368190 - ->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
@@ -148,6 +148,7 @@
</dependency>
</dependencies>
</plugin>
+ -->
</plugins>
</build>
</project>
\ No newline at end of file