I have a Callable class that is defined to add a new node and a set of properties etc - and I am running it on a singleThread using Executors.newSingleThreadExecutor(). When I execute the task and get the tasks result - it seems to return the Node - but all the properties have been stripped....
Trace: [2011-08-18 15:39:13,094] [pool-12-thread-1] [INFO ] STDOUT: New Node id is:7 *[2011-08-18 15:39:13,095] [pool-12-thread-1] [INFO ] STDOUT: Property Values: [buyer] [2011-08-18 15:39:13,095] [WorkManager(2)-6] [INFO ] STDOUT: Received values: [] *[2011-08-18 15:39:16,111] [pool-12-thread-1] [INFO ] STDOUT: New Node id is:8 *[2011-08-18 15:39:16,113] [pool-12-thread-1] [INFO ] STDOUT: Property Values: [D:/*..] [2011-08-18 15:39:16,114] [WorkManager(2)-3] [INFO ] STDOUT: Received values: [] Code below: public Node addInternalNode(String keyName, String keyValue, RelationshipType referenceType, Node referenceNode, HashMap<String, Object> values, String tabletype){ if (keyName!=null && keyValue != null){ AddInternalNode callable = new AddInternalNode(); callable.set(keyName, keyValue, referenceType, referenceNode, values, tabletype); FutureTask<Object> task = new FutureTask<Object>(callable); threadPool.execute(task); try { org.neo4j.graphdb.Node intNode = (org.neo4j.graphdb.Node) task.get(); * System.out.println("Received values: " + intNode.getPropertyValues()); * } catch (Exception e) { e.printStackTrace(); } } return null; } private final class AddInternalNode implements Callable<Object> { private String keyName; private String keyValue; private RelationshipType referenceType; private Node referenceNode; private String tableName; private HashMap<String, Object> values; public void set(String keyName, String keyValue, RelationshipType referenceType, Node referenceNode, HashMap<String, Object> values, String tableName){ this.keyName=keyName; this.keyValue=keyValue; this.referenceType=referenceType; this.referenceNode=referenceNode; this.values = values; this.tableName=tableName; } @Override public Object call() throws Exception { org.neo4j.graphdb.Node id=null; id = index.forNodes(keyName).get(keyName, keyValue).getSingle(); IndexHits<org.neo4j.graphdb.Node> hits = index.forNodes(keyName).get(keyName,keyValue); if (hits.hasNext()) id = hits.next(); if ( id == null ) { Transaction tx = graphDb.beginTx(); try{ id = graphDb.createNode(); System.out.println("New Node id is:" + id.getId()); id.setProperty(keyName, keyValue); index.forNodes(keyName).add(id, keyName, keyValue); if (tableName!=null) id.setProperty("Table", tableName); //if the values exist then add them as properties if (values!=null){ for(String key : values.keySet()){ id.setProperty(key, values.get(key)); } } } catch(Exception e){ e.printStackTrace(); } finally { tx.success(); tx.finish(); } } else System.out.println("Existing Node id is:" + id.getId()); * System.out.println("Property Values: "+id.getPropertyValues()); * return id; } } -- *Robert Haynes* e: rob...@lexcient.com w: www.lexcient.com m: +61 413 350774 _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user