Author: ito
Date: Fri May 27 19:00:58 2011
New Revision: 1128427

URL: http://svn.apache.org/viewvc?rev=1128427&view=rev
Log:
CLEREZZA-501: missing lock added in graphindexer

Modified:
    
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/GraphIndexer.java

Modified: 
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/GraphIndexer.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/GraphIndexer.java?rev=1128427&r1=1128426&r2=1128427&view=diff
==============================================================================
--- 
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/GraphIndexer.java
 (original)
+++ 
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/GraphIndexer.java
 Fri May 27 19:00:58 2011
@@ -302,14 +302,19 @@ public class GraphIndexer extends Resour
                                        }
                                        for (Resource resource : 
indexedResources) {
                                                GraphNode node = new 
GraphNode(resource, e.getGraph());
-
-                                               Iterator<Resource> resources = 
node.getObjects(RDF.type);
                                                List<UriRef> types = new 
ArrayList<UriRef>();
-                                               while (resources.hasNext()) {
-                                                       Resource res = 
resources.next();
-                                                       if (res instanceof 
UriRef) {
-                                                               
types.add((UriRef) res);
+                                               Lock lock = node.readLock();
+                                               lock.lock();
+                                               try {
+                                                       Iterator<Resource> 
resources = node.getObjects(RDF.type);
+                                                       while 
(resources.hasNext()) {
+                                                               Resource res = 
resources.next();
+                                                               if (res 
instanceof UriRef) {
+                                                                       
types.add((UriRef) res);
+                                                               }
                                                        }
+                                               } finally {
+                                                       lock.unlock();
                                                }
                                                for (UriRef type : types) {
                                                        if 
(type2IndexedProperties.containsKey(type)) {


Reply via email to