From e5a1c777702bc110c6388740d42baa2bc999f57b Mon Sep 17 00:00:00 2001 From: Michael Hunger Date: Tue, 18 Sep 2012 09:22:34 +0200 Subject: [PATCH] DATAGRAPH-275 non graceful fallback on empty graph for TypeRepresentationStrategyFactory --- .../TypeRepresentationStrategyFactory.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/typerepresentation/TypeRepresentationStrategyFactory.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/typerepresentation/TypeRepresentationStrategyFactory.java index de3a25ad3..78e249d4f 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/typerepresentation/TypeRepresentationStrategyFactory.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/typerepresentation/TypeRepresentationStrategyFactory.java @@ -17,9 +17,11 @@ package org.springframework.data.neo4j.support.typerepresentation; import org.neo4j.graphdb.Node; +import org.neo4j.graphdb.NotFoundException; import org.neo4j.graphdb.PropertyContainer; import org.neo4j.graphdb.Relationship; import org.neo4j.graphdb.index.Index; +import org.neo4j.server.rest.web.NodeNotFoundException; import org.springframework.data.neo4j.core.GraphDatabase; import org.springframework.data.neo4j.core.NodeTypeRepresentationStrategy; import org.springframework.data.neo4j.core.RelationshipTypeRepresentationStrategy; @@ -66,10 +68,14 @@ public class TypeRepresentationStrategyFactory { } private static boolean isAlreadySubRef(GraphDatabase graphDatabaseService) { - for (Relationship rel : graphDatabaseService.getReferenceNode().getRelationships()) { - if (rel.getType().name().startsWith(SubReferenceNodeTypeRepresentationStrategy.SUBREF_PREFIX)) { - return true; + try { + for (Relationship rel : graphDatabaseService.getReferenceNode().getRelationships()) { + if (rel.getType().name().startsWith(SubReferenceNodeTypeRepresentationStrategy.SUBREF_PREFIX)) { + return true; + } } + } catch(NotFoundException nfe) { + // ignore } return false; }