fixed documentation image integration
@@ -2,93 +2,11 @@
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<book xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
|
||||
<bookinfo>
|
||||
<title>Good Relationships</title>
|
||||
<subtitle>The Spring Data Graph Guidebook</subtitle>
|
||||
<releaseinfo>&version;</releaseinfo>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Michael</firstname>
|
||||
<surname>Hunger</surname>
|
||||
</author>
|
||||
<author>
|
||||
<firstname>David</firstname>
|
||||
<surname>Montag</surname>
|
||||
</author>
|
||||
<author>
|
||||
<firstname>Mark</firstname>
|
||||
<surname>Pollack</surname>
|
||||
</author>
|
||||
<author>
|
||||
<firstname>Thomas</firstname>
|
||||
<surname>Risberg</surname>
|
||||
</author>
|
||||
</authorgroup>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject>
|
||||
<imagedata fileref="springdatagraph.png"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
|
||||
<legalnotice>
|
||||
<para>
|
||||
Copies of this document may be made for your own use and for distribution
|
||||
to others, provided that you do not charge any fee for such copies and
|
||||
further provided that each copy contains this Copyright Notice, whether
|
||||
distributed in print or electronically.
|
||||
</para>
|
||||
</legalnotice>
|
||||
</bookinfo>
|
||||
<xi:include href="introduction/bookinfo.xml"/>
|
||||
|
||||
<toc/>
|
||||
|
||||
<!--preface id="foreword:rod">
|
||||
<title>Foreword: Rod Johnson, CEO of SpringSource</title>
|
||||
<para>
|
||||
Rod ...
|
||||
</para>
|
||||
</preface>
|
||||
|
||||
<preface id="foreword:emil">
|
||||
<title>Foreword: Emil Eifrem, CEO of Neo Technology</title>
|
||||
<para>
|
||||
Emil ...
|
||||
</para>
|
||||
</preface-->
|
||||
|
||||
<preface id="about-book">
|
||||
<title>About this Guide Book</title>
|
||||
<para>
|
||||
Welcome to the Spring Data Graph Guide Book. Thank you for taking the time to get an in depth look into the
|
||||
usage and workings of the <ulink url="https://github.com/SpringSource/spring-data-graph">Spring Data Graph Library</ulink>. Spring Data Graph is part of the <ulink url="http://springsource.org/spring-data">Spring Data project</ulink> which
|
||||
aims to provide the convenient programming model of the Spring Framework to the big field modern datastores
|
||||
(mostly NoSQL). Spring Data Graph in particular currently provides integration for the <ulink url="http://neo4j.org">Neo4j Graph Database</ulink>.
|
||||
</para><para>
|
||||
It was written by developers for developers. So hopefully we created a documentation that is well received by
|
||||
our peers.
|
||||
</para><para>
|
||||
If you have any feedback to the Spring Data Graph Library or this book, please provide it via <ulink url="https://jira.springsource.org/browse/DATAGRAPH">SpringSource JIRA</ulink>,
|
||||
the <ulink url="http://forum.springsource.org/forumdisplay.php?f=80">SpringSource NoSQL Forum</ulink>, <ulink
|
||||
url="https://github.com/SpringSource/spring-data-graph/issues">github comments or issues</ulink> or the <ulink url="http://neo4j.org/community/list/">Neo4j mailing list</ulink>.
|
||||
</para><para>
|
||||
This book is presented as a <ulink url="http://martinfowler.com/bliki/DuplexBook.html">duplex book</ulink>, a term coined by Martin Fowler. A duplex book consists of at least two
|
||||
parts. The first part is an easily accessible narrative, that gives the reader an overview of the topics contained
|
||||
in the book. It contains lots of examples and more general discussion topics. This should be the only part of
|
||||
the book that is required to be read cover-to-cover.
|
||||
</para><para>
|
||||
We chose a tutorial describing the creation of a web applicaton (cineasts.net) that allows movie enthusiasts to
|
||||
find the favorites, rate them, connect with each other and enjoy social features. The application is running on
|
||||
Neo4j using Spring Data Graph and the well known Spring Web Stack.
|
||||
</para><para>
|
||||
The second part is the classic reference documentation containing the detailed information about the library.
|
||||
It discusses the programming model, the underlying assumptions, used toolset (like aspectj) as well as the APIs
|
||||
for the object-graph mapping and the template approach. The reference docs should be mainly used to look up
|
||||
concrete bits of information or to dig deeper into certain topics.
|
||||
</para>
|
||||
</preface>
|
||||
<xi:include href="introduction/preface.xml"/>
|
||||
|
||||
<part id="tutorial">
|
||||
<title>Tutorial</title>
|
||||
|
||||
41
src/docbkx/introduction/bookinfo.xml
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
|
||||
<bookinfo>
|
||||
<title>Good Relationships</title>
|
||||
<subtitle>The Spring Data Graph Guidebook</subtitle>
|
||||
<releaseinfo>&version;</releaseinfo>
|
||||
<date/>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Michael</firstname>
|
||||
<surname>Hunger</surname>
|
||||
</author>
|
||||
<author>
|
||||
<firstname>David</firstname>
|
||||
<surname>Montag</surname>
|
||||
</author>
|
||||
<author>
|
||||
<firstname>Mark</firstname>
|
||||
<surname>Pollack</surname>
|
||||
</author>
|
||||
<author>
|
||||
<firstname>Thomas</firstname>
|
||||
<surname>Risberg</surname>
|
||||
</author>
|
||||
</authorgroup>
|
||||
|
||||
<graphic fileref="springdatagraph.png" scalefit="true"/>
|
||||
|
||||
<legalnotice>
|
||||
<para>
|
||||
Copies of this document may be made for your own use and for distribution
|
||||
to others, provided that you do not charge any fee for such copies and
|
||||
further provided that each copy contains this Copyright Notice, whether
|
||||
distributed in print or electronically.
|
||||
</para>
|
||||
</legalnotice>
|
||||
|
||||
</bookinfo>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="get-started">
|
||||
<title>Getting Started</title>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
||||
<!DOCTYPE partintro PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
|
||||
<partintro>
|
||||
|
||||
49
src/docbkx/introduction/preface.xml
Normal file
@@ -0,0 +1,49 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
|
||||
|
||||
<!--preface id="foreword_rod">
|
||||
<title>Foreword: Rod Johnson, CEO of SpringSource</title>
|
||||
<para>
|
||||
Rod ...
|
||||
</para>
|
||||
</preface>
|
||||
|
||||
<preface id="foreword_emil">
|
||||
<title>Foreword: Emil Eifrem, CEO of Neo Technology</title>
|
||||
<para>
|
||||
Emil ...
|
||||
</para>
|
||||
</preface-->
|
||||
|
||||
<preface id="about-book">
|
||||
<title>About this Guide Book</title>
|
||||
<para>
|
||||
Welcome to the Spring Data Graph Guide Book. Thank you for taking the time to get an in depth look into the
|
||||
usage and workings of the <ulink url="https://github.com/SpringSource/spring-data-graph">Spring Data Graph Library</ulink>. Spring Data Graph is part of the <ulink url="http://springsource.org/spring-data">Spring Data project</ulink> which
|
||||
aims to provide the convenient programming model of the Spring Framework to the big field modern datastores
|
||||
(mostly NoSQL). Spring Data Graph in particular currently provides integration for the <ulink url="http://neo4j.org">Neo4j Graph Database</ulink>.
|
||||
</para><para>
|
||||
It was written by developers for developers. So hopefully we created a documentation that is well received by
|
||||
our peers.
|
||||
</para><para>
|
||||
If you have any feedback to the Spring Data Graph Library or this book, please provide it via <ulink url="https://jira.springsource.org/browse/DATAGRAPH">SpringSource JIRA</ulink>,
|
||||
the <ulink url="http://forum.springsource.org/forumdisplay.php?f=80">SpringSource NoSQL Forum</ulink>, <ulink
|
||||
url="https://github.com/SpringSource/spring-data-graph/issues">github comments or issues</ulink> or the <ulink url="http://neo4j.org/community/list/">Neo4j mailing list</ulink>.
|
||||
</para><para>
|
||||
This book is presented as a <ulink url="http://martinfowler.com/bliki/DuplexBook.html">duplex book</ulink>, a term coined by Martin Fowler. A duplex book consists of at least two
|
||||
parts. The first part is an easily accessible narrative, that gives the reader an overview of the topics contained
|
||||
in the book. It contains lots of examples and more general discussion topics. This should be the only part of
|
||||
the book that is required to be read cover-to-cover.
|
||||
</para><para>
|
||||
We chose a tutorial describing the creation of a web applicaton (cineasts.net) that allows movie enthusiasts to
|
||||
find the favorites, rate them, connect with each other and enjoy social features. The application is running on
|
||||
Neo4j using Spring Data Graph and the well known Spring Web Stack.
|
||||
</para><para>
|
||||
The second part is the classic reference documentation containing the detailed information about the library.
|
||||
It discusses the programming model, the underlying assumptions, used toolset (like aspectj) as well as the APIs
|
||||
for the object-graph mapping and the template approach. The reference docs should be mainly used to look up
|
||||
concrete bits of information or to dig deeper into certain topics.
|
||||
</para>
|
||||
</preface>
|
||||
@@ -1,3 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="requirements">
|
||||
<title>Requirements</title>
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="why-sd-graph">
|
||||
<title>Why Spring Data Graph?</title>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="reference:annotations">
|
||||
<chapter id="reference_annotations">
|
||||
<title>Annotation-driven persistence</title>
|
||||
<para>
|
||||
...
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="reference:aspectj-intro">
|
||||
<chapter id="reference_aspectj-intro">
|
||||
<title>AspectJ introduction</title>
|
||||
<para>
|
||||
...
|
||||
|
||||
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="reference:neo4j-intro">
|
||||
<chapter id="reference_neo4j-intro">
|
||||
<title>Neo4j introduction</title>
|
||||
<para>
|
||||
...
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="reference:neo4j-server">
|
||||
<chapter id="reference_neo4j-server">
|
||||
<title>Neo4j Server</title>
|
||||
<para>
|
||||
...
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="reference:performance">
|
||||
<chapter id="reference_performance">
|
||||
<title>Performance considerations</title>
|
||||
<para>
|
||||
...
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<section id="reference:programming-model:indexing">
|
||||
<section id="reference_programming-model:indexing">
|
||||
<title>Indexing</title>
|
||||
<para>
|
||||
The Neo4j graph database can use different index providers for exact lookups and fulltext searches. Lucene is
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<section id="reference:programming-model:neo4jtemplate">
|
||||
<section id="reference_programming-model:neo4jtemplate">
|
||||
<title>Neo4jTemplate</title>
|
||||
<para>
|
||||
The <code>Neo4jTemplate</code> offers the convenient API of Spring templates for the Neo4j graph database.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<chapter id="samples">
|
||||
<title>Samples</title>
|
||||
|
||||
<section id="samples:introduction">
|
||||
<section id="samples_introduction">
|
||||
<title>Introduction</title>
|
||||
<para>
|
||||
Spring Data Graph comes with a number of samples.
|
||||
@@ -14,7 +14,7 @@
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="samples:hello-worlds">
|
||||
<section id="samples_hello-worlds">
|
||||
<title>Hello Worlds sample</title>
|
||||
<para>The Hello Worlds sample application is a simple console application with unit tests, that
|
||||
creates some Worlds (entities / nodes) and Rocket Routes (relationships) in a Galaxy (graph)
|
||||
@@ -29,7 +29,7 @@
|
||||
</mediaobject>
|
||||
</section>
|
||||
|
||||
<section id="samples:imdb">
|
||||
<section id="samples_imdb">
|
||||
<title>IMDB sample</title>
|
||||
<para>A web application that imports datasets from the Internet Movie Database (IMDB) into
|
||||
the
|
||||
@@ -53,7 +53,7 @@
|
||||
</section>
|
||||
|
||||
<!--
|
||||
<section id="samples:myrestaurant-original">
|
||||
<section id="samples_myrestaurant-original">
|
||||
<title>MyRestaurant sample</title>
|
||||
<para>Simple web application for managing users and restaurants, with the ability to add
|
||||
restaurants as
|
||||
@@ -67,7 +67,7 @@
|
||||
</mediaobject>
|
||||
</section>
|
||||
|
||||
<section id="samples:myrestaurant-social">
|
||||
<section id="samples_myrestaurant-social">
|
||||
<title>MyRestaurant-Social sample</title>
|
||||
<para>An extended version of the MyRestaurant sample application that adds social networking
|
||||
functionality to it. It is possible to have friends and to add rated relationships to
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="reference:spring-data">
|
||||
<chapter id="reference_spring-data">
|
||||
<title>Spring Data</title>
|
||||
<para>
|
||||
...
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="reference:template">
|
||||
<chapter id="reference_template">
|
||||
<title>Neo4jTemplate</title>
|
||||
<para>
|
||||
...
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
<xsl:param name="tablecolumns.extension">0</xsl:param>
|
||||
<xsl:param name="callout.extensions">1</xsl:param>
|
||||
<!-- FOP provide only PDF Bookmarks at the moment -->
|
||||
<xsl:param name="fop.extensions">1</xsl:param>
|
||||
<xsl:param name="fop1.extensions">1</xsl:param>
|
||||
|
||||
<!--###################################################
|
||||
Table Of Contents
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
<xsl:param name="use.extensions">1</xsl:param>
|
||||
<xsl:param name="tablecolumns.extension">0</xsl:param>
|
||||
<xsl:param name="callout.extensions">1</xsl:param>
|
||||
<xsl:param name="fop.extensions">1</xsl:param>
|
||||
<xsl:param name="fop1.extensions">1</xsl:param>
|
||||
|
||||
<!--###################################################
|
||||
Paper & Page Size
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:about-tutorial">
|
||||
<chapter id="tutorial_about-tutorial">
|
||||
<title>Allow me to introduce - Cineasts.net</title>
|
||||
<para>
|
||||
Once upon a time I wanted to build a social movie database myself. First things first - I had a name: "Cineasts" - the people
|
||||
@@ -13,7 +13,7 @@ existing friends.
|
||||
</para><para>
|
||||
<mediaobject>
|
||||
<imageobject>
|
||||
<imagedata fileref="cineasts.png"/>
|
||||
<imagedata fileref="cineasts.png" scalefit="true" align="center"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</para><para>I looked for possible sources for data, IMDB was my first stop, but they charge 15k USD for data usage. Fortunately I found <ulink url="http://themoviedb.org">TheMoviedb.org</ulink> which has
|
||||
@@ -24,7 +24,7 @@ There were many more ideas but I wanted to get something done over the course of
|
||||
</para>
|
||||
<mediaobject>
|
||||
<imageobject>
|
||||
<imagedata fileref="cineasts_main.png"/>
|
||||
<imagedata fileref="cineasts_main.png" scalefit="true" align="center"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:annotations">
|
||||
<chapter id="tutorial_annotations">
|
||||
<title>Decorations - Annotated Domain</title>
|
||||
<para>
|
||||
I looked at the documentation again, found a simple Hello-World example and tried to understand it. The entities were annotated with @NodeEntity, that was simple, so
|
||||
|
||||
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 124 KiB |
BIN
src/docbkx/tutorial/cineasts_graph.png
Normal file
|
After Width: | Height: | Size: 216 KiB |
|
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 269 KiB After Width: | Height: | Size: 269 KiB |
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:domain">
|
||||
<chapter id="tutorial_domain">
|
||||
<title>Setting the Stage - Movies Domain</title>
|
||||
<para>
|
||||
The domain model was the next thing I planned to work on. I wanted to flesh it out first before diving into library details. Going along the ideas outlined before I
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:import">
|
||||
<chapter id="tutorial_import">
|
||||
<title>The dusty archives - Importing Data</title>
|
||||
<para>
|
||||
Now it was time to pull the data from themoviedb.org. Registering there and getting an API key was simple, using the API on the commandline with curl too.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:indexing">
|
||||
<chapter id="tutorial_indexing">
|
||||
<title>Do I know you? - Indexing</title>
|
||||
<para>
|
||||
Then there was an @Indexed annotation for fields. I wanted to try this too. That would guide the next test. I added an @Indexed to the id field of the movie.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:neo4j">
|
||||
<chapter id="tutorial_neo4j">
|
||||
<title>Graphs ahead - Learning Neo4j</title>
|
||||
<para>
|
||||
Then came the unknown - how to put these domain objects into the graph. First I read up about graph databases, especially Neo4j. Their datamodel consists
|
||||
|
||||
BIN
src/docbkx/tutorial/neoclipse.png
Normal file
|
After Width: | Height: | Size: 301 KiB |
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:recommendations">
|
||||
<chapter id="tutorial_recommendations">
|
||||
<title>Movies! Friends! Bargains! - Recommendations</title>
|
||||
<para>
|
||||
In the last part of this exercise I wanted to add some recommendation algorithms to my app. One was the recommendation of movies that my friends liked very much
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:relationships">
|
||||
<chapter id="tutorial_relationships">
|
||||
<title>A convincing act - Relationships</title>
|
||||
<section>
|
||||
<title>Value in Relationships - Creating them</title>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:repository">
|
||||
<chapter id="tutorial_repository">
|
||||
<title>Serving a good cause - Repository</title>
|
||||
<para>
|
||||
That was the first method to add to the repository. So I created a repository for my application, annotated
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:running">
|
||||
<chapter id="tutorial_running">
|
||||
<title>Curtains Up! - Get it running</title>
|
||||
<section>
|
||||
<title>Requisites - Populating the database</title>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:security">
|
||||
<chapter id="tutorial_security">
|
||||
<title>Protecting Assets - Adding Security</title>
|
||||
<para>
|
||||
To use the user in the webapp I had to put it in the session and add login and registration pages. Of course the pages that only worked with a valid user
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:setup">
|
||||
<chapter id="tutorial_setup">
|
||||
<title>Scope: Spring</title>
|
||||
<para>
|
||||
Being a Spring Developer, I would, of course, choose components of the Spring Framework to do most of the work. I'd already come up with the ideas -
|
||||
@@ -23,10 +23,16 @@
|
||||
in the webapp directory.
|
||||
</para><para>
|
||||
|
||||
|
||||
<programlisting language="xml" ><![CDATA[
|
||||
TODO setup code?
|
||||
]]></programlisting>
|
||||
<informalexample>
|
||||
<mediaobject>
|
||||
<textobject>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
TODO setup code?
|
||||
]]></programlisting>
|
||||
</textobject>
|
||||
<caption>pom.xml</caption>
|
||||
</mediaobject>
|
||||
</informalexample>
|
||||
|
||||
</para><para>
|
||||
With this setup I was ready for the first spike: creating a simple MovieController showing a static view. Check. Next was the setup for Spring Data Graph.
|
||||
@@ -35,9 +41,12 @@
|
||||
</para><para>
|
||||
|
||||
|
||||
<programlisting language="xml" ><![CDATA[
|
||||
TODO config code?
|
||||
]]></programlisting>
|
||||
<example>
|
||||
<title>applicationContext.xml</title>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
TODO setup code?
|
||||
]]><filename path="pom.xml"/></programlisting>
|
||||
</example>
|
||||
|
||||
</para><para>
|
||||
I spun up jetty to see if there were any obvious issues with the config. Check.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:social">
|
||||
<chapter id="tutorial_social">
|
||||
<title>Movies 2.0 - Adding social</title>
|
||||
<para>
|
||||
But this was just a plain old movie database (POMD). My idea of socializing this business was not realized.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:about-spring-data">
|
||||
<chapter id="tutorial_about-spring-data">
|
||||
<title>Conjuring Magic - Spring Data Graph</title>
|
||||
<para>
|
||||
But that was the pure graph database. Using this in my domain would pollute my classes with lots of graph database details. I didn't want that. Spring Data Graph
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:user-experience">
|
||||
<chapter id="tutorial_user-experience">
|
||||
<title>Oh the Glamour - More UI</title>
|
||||
<para>
|
||||
TODO screenshots
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<chapter id="tutorial:webapp">
|
||||
<chapter id="tutorial_webapp">
|
||||
<title>Showing off - Web views</title>
|
||||
<para>
|
||||
After I had the means to put some data in the graph database, I also wanted to show it. So adding the controller method to show a single movie with its attributes
|
||||
|
||||