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