diff --git a/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/controller/MovieController.java b/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/controller/MovieController.java index 4e9734812..d021edf0d 100644 --- a/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/controller/MovieController.java +++ b/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/controller/MovieController.java @@ -57,7 +57,7 @@ public class MovieController { @RequestMapping(value = "/movies/{movieId}", method = RequestMethod.GET, headers = "Accept=text/html") public String singleMovieView(final Model model, @PathVariable String movieId) { User user = addUser(model); - MovieRepository.MovieData movieData = moviesRepository.getMovieData(Long.valueOf(movieId)); + MovieRepository.MovieData movieData = moviesRepository.getMovieData(movieId); model.addAttribute("id", movieId); if (movieData != null) { Movie movie = movieData.getMovie(); diff --git a/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/repository/MovieRepository.java b/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/repository/MovieRepository.java index cc43e002c..f3fa8804b 100644 --- a/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/repository/MovieRepository.java +++ b/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/repository/MovieRepository.java @@ -13,8 +13,8 @@ import org.springframework.data.neo4j.repository.NamedIndexRepository; */ public interface MovieRepository extends GraphRepository, NamedIndexRepository { - @Query("START movie=node({0}) MATCH movie-[rating?:rating]->() RETURN movie, AVG(rating)") - MovieData getMovieData(Long movieId); + @Query("START movie=node:Movie(id={_0}) MATCH movie-[rating?:rating]->() RETURN movie, AVG(rating)") + MovieData getMovieData(String movieId); @MapResult interface MovieData { diff --git a/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/service/CineastsRepository.java b/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/service/CineastsRepository.java index d32a9246f..cf8abb661 100644 --- a/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/service/CineastsRepository.java +++ b/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/service/CineastsRepository.java @@ -60,7 +60,7 @@ public class CineastsRepository { return movieRecommendations.getRecommendationsFor(user); } - public MovieRepository.MovieData getMovieData(Long movieId) { + public MovieRepository.MovieData getMovieData(String movieId) { return movieRepository.getMovieData(movieId); } } diff --git a/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/service/DatabasePopulator.java b/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/service/DatabasePopulator.java index c33dab313..4ce0ff9b4 100644 --- a/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/service/DatabasePopulator.java +++ b/spring-data-neo4j-examples/cineasts-rest/src/main/java/org/neo4j/cineasts/service/DatabasePopulator.java @@ -36,7 +36,7 @@ public class DatabasePopulator { User me = new User("micha", "Micha", "password", User.Roles.ROLE_ADMIN,User.Roles.ROLE_USER).persist(); User ollie = new User("ollie", "Olliver", "password",User.Roles.ROLE_USER).persist(); me.addFriend(ollie); - List ids = asList(19995 , 194, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 13, 20526, 11, 1893, 1892, 1894, 168, 193, 200, 157, 152, 201, 154, 12155, 58, 285, 118, 22, 392, 5255, 568, 9800, 497, 101, 120, 121, 122); + List ids = asList(19995 , 194, 600, 601, 602, 603); //, 604, 605, 606, 607, 608, 609, 13, 20526, 11, 1893, 1892, 1894, 168, 193, 200, 157, 152, 201, 154, 12155, 58, 285, 118, 22, 392, 5255, 568, 9800, 497, 101, 120, 121, 122); List result=new ArrayList(ids.size()); for (Integer id : ids) { result.add(importService.importMovie(String.valueOf(id))); diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/GraphRepositoryFactory.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/GraphRepositoryFactory.java index 855b7367b..975286018 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/GraphRepositoryFactory.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/GraphRepositoryFactory.java @@ -28,6 +28,7 @@ import org.springframework.data.neo4j.annotation.QueryType; import org.springframework.data.neo4j.mapping.Neo4jPersistentEntity; import org.springframework.data.neo4j.mapping.Neo4jPersistentProperty; import org.springframework.data.neo4j.repository.query.DerivedCypherRepositoryQuery; +import org.springframework.data.neo4j.repository.query.QueryTemplates; import org.springframework.data.neo4j.support.GenericTypeExtractor; import org.springframework.data.neo4j.support.Neo4jTemplate; import org.springframework.data.neo4j.support.query.CypherQueryExecutor; @@ -187,7 +188,7 @@ public class GraphRepositoryFactory extends RepositoryFactorySupport { final Object value = parameters[parameter.getIndex()]; final String parameterName = parameter.getName(); if (parameterName != null) params.put(parameterName, resolveParameter(value, template)); - else params.put(String.valueOf(parameter.getIndex()), resolveParameter(value, template)); + else params.put(String.format(QueryTemplates.PARAMETER, parameter.getIndex()), resolveParameter(value, template)); } return params; } diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/query/QueryTemplates.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/query/QueryTemplates.java index cfaa321f4..d62a4ce45 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/query/QueryTemplates.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/query/QueryTemplates.java @@ -23,11 +23,11 @@ import org.springframework.data.neo4j.mapping.RelationshipInfo; * * @author Oliver Gierke */ -abstract class QueryTemplates { +public abstract class QueryTemplates { - static final String PARAMETER = "_%d"; + public static final String PARAMETER = "_%d"; - private static final String PLACEHOLDER = String.format("{%s}", PARAMETER); + public static final String PLACEHOLDER = String.format("{%s}", PARAMETER); private static final String DIRECTION_INCOMING = "<-[:%s]-"; private static final String DIRECTION_OUTGOING = "-[:%s]->"; private static final String DIRECTION_BOTH = "-[:%s]-";