Remove dependency on Google Guava to avoid version issues

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

Branch: refs/heads/hadoop-rdf
Commit: 63228de326637f1988e906fb167c610e1842150f
Parents: bf21e35
Author: Andy Seaborne <[email protected]>
Authored: Mon Jan 5 18:09:23 2015 +0000
Committer: Andy Seaborne <[email protected]>
Committed: Mon Jan 5 18:09:23 2015 +0000

----------------------------------------------------------------------
 jena-csv/pom.xml                                |  6 --
 .../impl/PropertyTableHashMapImpl.java          | 59 +++++++++-----------
 2 files changed, 27 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/63228de3/jena-csv/pom.xml
----------------------------------------------------------------------
diff --git a/jena-csv/pom.xml b/jena-csv/pom.xml
index 12602b1..c3c1255 100644
--- a/jena-csv/pom.xml
+++ b/jena-csv/pom.xml
@@ -60,12 +60,6 @@
       <type>pom</type>
     </dependency>
     
-    <!-- Google Code Guava -->
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-    </dependency>
-       
     <!-- Testing support -->
     <dependency>
       <groupId>org.apache.jena</groupId>

http://git-wip-us.apache.org/repos/asf/jena/blob/63228de3/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java
----------------------------------------------------------------------
diff --git 
a/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java
 
b/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java
index b74925b..dad7615 100644
--- 
a/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java
+++ 
b/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java
@@ -18,25 +18,20 @@
 
 package org.apache.jena.propertytable.impl;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
+import java.util.* ;
+import java.util.Map.Entry ;
 
 import org.apache.jena.atlas.iterator.Iter;
 import org.apache.jena.atlas.iterator.IteratorConcat;
+import org.apache.jena.atlas.lib.MultiMapToSet ;
 import org.apache.jena.propertytable.Column;
 import org.apache.jena.propertytable.PropertyTable;
 import org.apache.jena.propertytable.Row;
 
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.SetMultimap;
 import com.hp.hpl.jena.graph.Node;
 import com.hp.hpl.jena.graph.Triple;
 import com.hp.hpl.jena.util.iterator.ExtendedIterator;
+import com.hp.hpl.jena.util.iterator.NullIterator ;
 import com.hp.hpl.jena.util.iterator.WrappedIterator;
 
 /**
@@ -52,16 +47,11 @@ public class PropertyTableHashMapImpl implements 
PropertyTable {
        private List<Row> rowList; // Stores the list of rows in the table
 
        // PSO index
-       private Map<Node, Map<Node, Node>> valueIndex; // Maps column Node to
-                                                                               
                        // (subject Node, value)
-                                                                               
                        // pairs
+       // Maps column Node to (subject Node, value) pairs
+       private Map<Node, Map<Node, Node>> valueIndex; 
        // POS index
-       private Map<Node, SetMultimap<Node, Node>> valueReverseIndex; // Maps 
column
-                                                                               
                                                        // Node to
-                                                                               
                                                        // (value,
-                                                                               
                                                        // subject
-                                                                               
                                                        // Node)
-                                                                               
                                                        // pairs
+       // Maps column Node to (value, subject Node) pairs
+       private Map<Node, MultiMapToSet<Node, Node>> valueReverseIndex; 
 
        PropertyTableHashMapImpl() {
                columnIndex = new HashMap<Node, Column>();
@@ -69,7 +59,7 @@ public class PropertyTableHashMapImpl implements 
PropertyTable {
                rowIndex = new HashMap<Node, Row>();
                rowList = new ArrayList<Row>();
                valueIndex = new HashMap<Node, Map<Node, Node>>();
-               valueReverseIndex = new HashMap<Node, SetMultimap<Node, 
Node>>();
+               valueReverseIndex = new HashMap<Node, MultiMapToSet<Node, 
Node>>();
        }
 
        @Override
@@ -131,12 +121,13 @@ public class PropertyTableHashMapImpl implements 
PropertyTable {
                
                
                Node p = column.getColumnKey();
-               final SetMultimap<Node, Node> valueToSubjectMap = 
valueReverseIndex
-                               .get(p);
+               final MultiMapToSet<Node, Node> valueToSubjectMap = 
valueReverseIndex.get(p);
+               if ( valueToSubjectMap == null ) 
+                   return NullIterator.instance() ;
                final Set<Node> subjects = valueToSubjectMap.get(value);
                ArrayList<Triple> triples = new ArrayList<Triple>();
                for (Node subject : subjects) {
-                       triples.add(Triple.create(subject, p, value));
+                   triples.add(Triple.create(subject, p, value));
                }
                return WrappedIterator.create(triples.iterator());
        }
@@ -181,7 +172,7 @@ public class PropertyTableHashMapImpl implements 
PropertyTable {
                columnIndex.put(p, new ColumnImpl(this, p));
                columnList.add(columnIndex.get(p));
                valueIndex.put(p, new HashMap<Node, Node>());
-               valueReverseIndex.put(p, HashMultimap.<Node, Node> create());
+               valueReverseIndex.put(p, MultiMapToSet.<Node, Node> create());
                return getColumn(p);
        }
 
@@ -236,13 +227,15 @@ public class PropertyTableHashMapImpl implements 
PropertyTable {
                
                
                Node p = column.getColumnKey();
-               final SetMultimap<Node, Node> valueToSubjectMap = 
valueReverseIndex
-                               .get(p);
+               final MultiMapToSet<Node, Node> valueToSubjectMap = 
valueReverseIndex.get(p);
+               if ( valueToSubjectMap == null )
+                   return Collections.emptyList() ;
                final Set<Node> subjects = valueToSubjectMap.get(value);
-               
+               if ( subjects == null )
+                   return Collections.emptyList() ;
                final ArrayList<Row> matchingRows = new ArrayList<Row>();
                for (Node subject : subjects) {
-                       matchingRows.add(this.getRow(subject));
+                   matchingRows.add(this.getRow(subject));
                }
                return matchingRows;
        }
@@ -263,11 +256,11 @@ public class PropertyTableHashMapImpl implements 
PropertyTable {
                addToReverseMap(p, s, oldValue, value);
        }
 
-       private void addToReverseMap(final Node p, final Node s,
-                       final Node oldValue, final Node value) {
+       private void addToReverseMap(final Node p, final Node s, final Node 
oldValue, final Node value) {
 
-               final SetMultimap<Node, Node> valueToSubjectMap = 
valueReverseIndex
-                               .get(p);
+               final MultiMapToSet<Node, Node> valueToSubjectMap = 
valueReverseIndex.get(p);
+               if ( valueToSubjectMap == null )
+            return ; 
                valueToSubjectMap.remove(oldValue, s);
                valueToSubjectMap.put(value, s);
        }
@@ -289,7 +282,9 @@ public class PropertyTableHashMapImpl implements 
PropertyTable {
 
        private void removeFromReverseMap(final Node p, final Node s,
                        final Node value) {
-               final SetMultimap<Node, Node> valueTokeysMap = 
valueReverseIndex.get(p);
+               final MultiMapToSet<Node, Node> valueTokeysMap = 
valueReverseIndex.get(p);
+               if ( valueTokeysMap == null )
+                   return ;
                valueTokeysMap.remove(s, value);
        }
 

Reply via email to