diff --git a/pom.xml b/pom.xml
index 326a7d6cbc..5994857ee6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -140,6 +140,9 @@
s3 access keys3 secret key
-->
+ ${basedir}/src/docbkx
+ ${basedir}/spring-data-neo4j/target/docbkx
+ ${basedir}/target/classes
@@ -264,11 +267,37 @@
3.1.0.RELEASE
-
+
+
+ ${docbook.srcDir}
+ false
+
+
+ ${docbook.snippetsDir}
+ false
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 2.5
+
+ ${project.build.sourceEncoding}
+
+
+
+ generate-sources
+
+ resources
+
+
+
+ com.agilejava.docbkxdocbkx-maven-plugin
- 2.0.8
+ 2.0.11single-page
@@ -276,8 +305,9 @@
generate-html
+ ${docbook.generatedDir}true
- ${basedir}/src/docbkx/resources/xsl/html.xsl
+ ${docbook.generatedDir}/resources/xsl/html.xsl11
@@ -286,8 +316,8 @@
file="${basedir}/target/docbkx/html/index.html"/>
-
-
+
+
@@ -295,7 +325,7 @@
-
+
@@ -312,9 +342,9 @@
generate-rtf
- ${basedir}/src/docbkx/
- ${basedir}/src/docbkx/resources/images/
- ${basedir}/src/docbkx/
+ ${docbook.generatedDir}/
+ ${docbook.generatedDir}/resources/images/
+ ${docbook.generatedDir}/000
@@ -334,9 +364,10 @@
generate-pdf
- ${basedir}/src/docbkx/
- ${basedir}/src/docbkx/resources/images/
- ${basedir}/src/docbkx/resources/xsl/fopdf.xsl
+ ${docbook.generatedDir}
+ ${docbook.generatedDir}/
+ ${docbook.generatedDir}/resources/images/
+ ${docbook.generatedDir}/resources/xsl/fopdf.xsl11
@@ -354,9 +385,10 @@
generate-html
+ ${docbook.generatedDir}truetrue
- ${basedir}/src/docbkx/resources/xsl/html_chunk.xsl
+ ${docbook.generatedDir}/resources/xsl/html_chunk.xsl11
@@ -368,15 +400,15 @@
-
+
-
-
+
+
@@ -406,8 +438,8 @@
falsecss/html.css
- ${basedir}/src/docbkx/
-
+ ${docbook.generatedDir}/
+
true
diff --git a/spring-data-neo4j-examples/myrestaurants-social/src/main/webapp/WEB-INF/tags/util/load-scripts.tagx b/spring-data-neo4j-examples/myrestaurants-social/src/main/webapp/WEB-INF/tags/util/load-scripts.tagx
index a89a63292a..f1ee137c28 100644
--- a/spring-data-neo4j-examples/myrestaurants-social/src/main/webapp/WEB-INF/tags/util/load-scripts.tagx
+++ b/spring-data-neo4j-examples/myrestaurants-social/src/main/webapp/WEB-INF/tags/util/load-scripts.tagx
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/test/DocumentingTestBase.java b/spring-data-neo4j/src/test/java/org/springframework/data/test/DocumentingTestBase.java
index 11aa382af4..72afd6ceac 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/test/DocumentingTestBase.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/test/DocumentingTestBase.java
@@ -25,7 +25,7 @@
public abstract class DocumentingTestBase {
- private static final String DOCBOOK_DIR = "src/docbkx";
+ private static final String DOCBOOK_DIR = "target/docbkx";
private static final String SRC_TEST_JAVA = "src/test/java";
protected String title;
protected String snippetTitle;
@@ -52,7 +52,7 @@ private String getSnippetName() {
}
private File docbookDirectory() {
- return new File(determineRoot(),DOCBOOK_DIR);
+ return new File (new File(determineRoot(),module()), DOCBOOK_DIR);
}
protected File getSnippetFileName(File directory, String name) {
@@ -130,9 +130,9 @@ protected String module() {
protected File determineRoot() {
File currentDirectory = currentDirectory();
- if (new File(currentDirectory,DOCBOOK_DIR).exists()) return currentDirectory;
+ if (new File(currentDirectory,module()).exists()) return currentDirectory;
currentDirectory = currentDirectory.getParentFile();
- if (new File(currentDirectory,DOCBOOK_DIR).exists()) return currentDirectory;
+ if (new File(currentDirectory,module()).exists()) return currentDirectory;
throw new IllegalStateException("Can't determine root directory, started at "+currentDirectory());
}
}
diff --git a/src/docbkx/introduction/about.xml b/src/docbkx/introduction/about.xml
index 49eaa24340..5adac1a4e8 100644
--- a/src/docbkx/introduction/about.xml
+++ b/src/docbkx/introduction/about.xml
@@ -63,17 +63,17 @@
We also appreciate very much the foresight of Rod Johnson and Emil Eifrem to initiate the project, and now
also providing great forewords. Their leadership inspired collaboration between the engineering teams at
SpringSource and Neo Technology, a tremendous help during the making of Spring Data Neo4j.
-
+
-
+
Last but not least we thank our vibrant community, both in the Spring Forums as well as on the Neo4j
Mailing list and on many other places on the internet for giving us feedback, reporting issues and suggesting
improvements. Without that important feedback we wouldn't be where we are today.
-
+
-
Enjoy the book!
+
diff --git a/src/docbkx/reference/cross-store.xml b/src/docbkx/reference/cross-store.xml
index 1488ef1710..db7553d74c 100644
--- a/src/docbkx/reference/cross-store.xml
+++ b/src/docbkx/reference/cross-store.xml
@@ -63,12 +63,13 @@
persists fields explicitly annotated with @GraphProperty. JPA will ignore these fields.
+ Example
The following example is taken from the
Spring Data Neo4j examples
myrestaurants-social project:
-
+ Cross-store node entity
-
+
+ Configuring cross-store persistence
diff --git a/src/docbkx/reference/neo4j.xml b/src/docbkx/reference/neo4j.xml
index ed16d2fb0e..66dd3e35eb 100644
--- a/src/docbkx/reference/neo4j.xml
+++ b/src/docbkx/reference/neo4j.xml
@@ -31,23 +31,23 @@
Neo4j has been in commercial development for 10 years and in production for over 7 years.
Most importantly it has a helpful and contributing community surrounding it, but it also:
- has an intuitive graph-oriented model for data representation. Instead of tables, rows,
+ has an intuitive graph-oriented model for data representation. Instead of tables, rows,
and columns, you work with a graph consisting of
nodes, relationships, and properties.
-
- has a disk-based, native storage manager optimized for storing graph structures
+
+ has a disk-based, native storage manager optimized for storing graph structures
with maximum performance and scalability.
-
- is scalable. Neo4j can handle graphs with many billions of nodes/relationships/properties on
+
+ is scalable. Neo4j can handle graphs with many billions of nodes/relationships/properties on
a single machine, but can also be scaled out across multiple machines for high availability.
-
- has a powerful traversal framework for traversing in the node space.
-
- can be deployed as a standalone server or an embedded database with a very small
+
+ has a powerful traversal framework for traversing in the node space.
+
+ can be deployed as a standalone server or an embedded database with a very small
distribution footprint (~700k jar).
-
- has a Java API.
-
+
+ has a Java API.
+
@@ -132,9 +132,9 @@ for (Path position : traversalDescription.traverse(myStartNode)) {
Spring Data Neo4j provides automatic indexing via the @Indexed annotation, eliminating the need
for manual index management.
-
+
Modifying Neo4j indexes also requires transactions.
-
+ Index usage
- Spring Data Neo4j allows, at anytime, to drop down to the Neo4j-API level to execute functionality with
+ Spring Data Neo4j allows, at anytime, to drop down to the Neo4j-API, see level to execute functionality with
the highest performance possible.
@@ -46,16 +46,16 @@
To use advanced functionality like traversals, Cypher and Gremlin, a basic understanding of the graph data model is required.
- The graph data model is explained in the chapter about Neo4j.
+ The graph data model is explained in the chapter about Neo4j, see .
Relationships between entities are first class citizens in a graph database and therefore worth a separate
- chapter describing their usage in Spring Data Neo4j.
+ chapter () describing their usage in Spring Data Neo4j.
To add fields that are just backed by graph operations is a bit more involved. First you should know
about traversals, Cypher queries and Gremlin expressions.
- Those are explained in the Neo4j-API chapter. Then you can start adding purely
+ Those are explained in Neo4j-API. Then you can start adding purely
dynamically gathered fields to your entities.
@@ -124,7 +124,7 @@
Being a Spring Data library, Spring Data Neo4j also implements a comprehensive template for interacting with the Neo4j graph database.
- The Neo4jTemplate provides all basic graph operations as well as advanced querying with
+ The Neo4jTemplate () provides all basic graph operations as well as advanced querying with
Indexes, Cypher, Gremlin and Traversals with a convenient API.
diff --git a/src/docbkx/reference/programming-model/aspectj.xml b/src/docbkx/reference/programming-model/aspectj.xml
index e754021f23..375d9ce09b 100644
--- a/src/docbkx/reference/programming-model/aspectj.xml
+++ b/src/docbkx/reference/programming-model/aspectj.xml
@@ -45,7 +45,7 @@
http://download.eclipse.org/tools/ajdt/36/dev/update).
The current version that does not show incorrect errors is AspectJ 1.6.12.RELEASE (included in STS 2.8.0), previous versions are reported
to mislead the user.
- ¸
+
There might be some issues with the eclipse maven plugin not adding AspectJ files correctly to the build path.
@@ -68,4 +68,4 @@
give the compiler at least 512 MB of RAM.
-
\ No newline at end of file
+
diff --git a/src/docbkx/reference/programming-model/indexing.xml b/src/docbkx/reference/programming-model/indexing.xml
index 8c589af909..2f73af758f 100644
--- a/src/docbkx/reference/programming-model/indexing.xml
+++ b/src/docbkx/reference/programming-model/indexing.xml
@@ -91,12 +91,12 @@ Person mark = graphRepository.findAllByQuery("people-search", "name", "ma*");
-
+
Please note that indexes are currently created on demand, so whenever an index that doesn't exist
is requested from a query or get operation it is created. This is subject to change but has
currently the implication that those indexes won't be configured as fulltext which causes
subsequent fulltext updates to those indexes to fail.
-
+ Manual index access
diff --git a/src/docbkx/reference/programming-model/node-entities.xml b/src/docbkx/reference/programming-model/node-entities.xml
index d209cd8214..8925388e10 100644
--- a/src/docbkx/reference/programming-model/node-entities.xml
+++ b/src/docbkx/reference/programming-model/node-entities.xml
@@ -22,7 +22,7 @@
If the partial attribute is set to true, this entity takes part in a cross-store setting,
where the entity lives in both the graph database and a JPA data source. See
- for more information.
+ for more information.
Entity fields can be annotated with @GraphProperty, @RelatedTo,
@@ -94,11 +94,11 @@ public class Group {
]]>
-
-
+
+
Please note that this annotation can also be used on repository methods.
-
-
+
+
@GraphTraversal: fields as traversal result views
@@ -132,4 +132,4 @@ public class Group {
-
\ No newline at end of file
+
diff --git a/src/docbkx/tutorial/running.xml b/src/docbkx/tutorial/running.xml
index c2f8b69be1..36a457c53f 100644
--- a/src/docbkx/tutorial/running.xml
+++ b/src/docbkx/tutorial/running.xml
@@ -81,12 +81,12 @@ public class MovieController {
Accessing the URI showed the single added movie on screen.
-
+
Pardon the misused GET parameter for that (don't try this at home, the
REST guys will hunt you down). This is only for
running it from the browser address line. The next iteration of this website would use a button
with POST.
-
+ Inspecting the datastore
diff --git a/src/docbkx/tutorial/spring-data-neo4j.xml b/src/docbkx/tutorial/spring-data-neo4j.xml
index fcc26d9291..a21336fd07 100644
--- a/src/docbkx/tutorial/spring-data-neo4j.xml
+++ b/src/docbkx/tutorial/spring-data-neo4j.xml
@@ -9,7 +9,7 @@
classes clean. Spring Data Neo4j promised to do the heavy lifting for us, so we continued investigating it.
- Spring Data Neo4j depends heavily on AspectJ features.
+ Spring Data Neo4j depends heavily on AspectJ, see .
Some parts of our classes would get new behavior,
but it would not be visible in our code. The upside of this is that you get rid of a lot of boilerplate
code.