From 82918a9abaa6f7ef848a7b7997c7e663aa2c230c Mon Sep 17 00:00:00 2001 From: David Montag Date: Tue, 14 Sep 2010 14:11:42 -0700 Subject: [PATCH] FieldAccessor lookup now uses factories. --- .../DelegatingFieldAccessorFactory.java | 23 +++++-------------- ...OneToNRelationshipEntityFieldAccessor.java | 4 ++-- 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/DelegatingFieldAccessorFactory.java b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/DelegatingFieldAccessorFactory.java index 68b9259f9..1b7d7bcad 100644 --- a/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/DelegatingFieldAccessorFactory.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/DelegatingFieldAccessorFactory.java @@ -38,23 +38,12 @@ public class DelegatingFieldAccessorFactory implements FieldAccessorFactory fieldAccessorFactory : fieldAccessorFactories) { + if (fieldAccessorFactory.accept(field)) { + System.out.println("Factory " + fieldAccessorFactory + " used for field: " + field); + return fieldAccessorFactory.forField(field); + } + } throw new IllegalArgumentException("Not a Neo4j relationship field: " + field); } diff --git a/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/OneToNRelationshipEntityFieldAccessor.java b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/OneToNRelationshipEntityFieldAccessor.java index 3b3188ea4..8072c38b9 100644 --- a/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/OneToNRelationshipEntityFieldAccessor.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/OneToNRelationshipEntityFieldAccessor.java @@ -2,12 +2,12 @@ package org.springframework.datastore.graph.neo4j.fieldaccess; import org.neo4j.graphdb.*; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Configurable; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.datastore.graph.api.GraphEntityRelationshipEntity; import org.springframework.datastore.graph.api.NodeBacked; import org.springframework.datastore.graph.api.RelationshipBacked; import org.springframework.datastore.graph.neo4j.support.GraphDatabaseContext; -import org.springframework.persistence.support.EntityInstantiator; import java.lang.reflect.Field; import java.util.HashSet; @@ -59,7 +59,7 @@ public class OneToNRelationshipEntityFieldAccessor extends AbstractRelationshipF return new RelationshipEntityFieldAccessorFactory(); } - + @Configurable private static class RelationshipEntityFieldAccessorFactory implements FieldAccessorFactory { @Autowired private GraphDatabaseContext graphDatabaseContext;