From 7e5c42802da542562eb922c7e3a9249524fccf70 Mon Sep 17 00:00:00 2001 From: mfalcier Date: Mon, 12 Jun 2017 13:57:16 +0200 Subject: [PATCH] :bookmark: Release 1.1.0 --- README.md | 19 ++++----- build.gradle | 8 ++-- docs/index.md | 28 ++++++------- settings.gradle | 2 +- .../versioner => versioner/core}/Utility.java | 2 +- .../core}/builders/CoreProcedureBuilder.java | 4 +- .../core}/builders/DiffBuilder.java | 4 +- .../core}/builders/GetBuilder.java | 4 +- .../core}/builders/InitBuilder.java | 4 +- .../core}/builders/RollbackBuilder.java | 4 +- .../core}/builders/UpdateBuilder.java | 4 +- .../core}/core/CoreProcedure.java | 2 +- .../core}/output/DiffOutput.java | 2 +- .../core}/output/NodeOutput.java | 2 +- .../core}/output/PathOutput.java | 2 +- .../core}/procedure/Diff.java | 6 +-- .../core}/procedure/Get.java | 8 ++-- .../core}/procedure/Init.java | 8 ++-- .../core}/procedure/Rollback.java | 39 +++++++++---------- .../core}/procedure/Update.java | 39 +++++++++---------- .../core}/builders/DiffBuilderTest.java | 4 +- .../core}/builders/GetBuilderTest.java | 4 +- .../core}/builders/InitBuilderTest.java | 4 +- .../core}/builders/RollbackBuilderTest.java | 4 +- .../core}/builders/UpdateBuilderTest.java | 4 +- .../core}/procedure/DiffTest.java | 4 +- .../core}/procedure/GetTest.java | 4 +- .../core}/procedure/InitTest.java | 2 +- .../core}/procedure/RollbackTest.java | 2 +- .../core}/procedure/UpdateTest.java | 2 +- 30 files changed, 112 insertions(+), 113 deletions(-) rename src/main/java/org/homer/{core/versioner => versioner/core}/Utility.java (99%) rename src/main/java/org/homer/{core/versioner => versioner/core}/builders/CoreProcedureBuilder.java (94%) rename src/main/java/org/homer/{core/versioner => versioner/core}/builders/DiffBuilder.java (77%) rename src/main/java/org/homer/{core/versioner => versioner/core}/builders/GetBuilder.java (77%) rename src/main/java/org/homer/{core/versioner => versioner/core}/builders/InitBuilder.java (80%) rename src/main/java/org/homer/{core/versioner => versioner/core}/builders/RollbackBuilder.java (81%) rename src/main/java/org/homer/{core/versioner => versioner/core}/builders/UpdateBuilder.java (80%) rename src/main/java/org/homer/{core/versioner => versioner/core}/core/CoreProcedure.java (90%) rename src/main/java/org/homer/{core/versioner => versioner/core}/output/DiffOutput.java (88%) rename src/main/java/org/homer/{core/versioner => versioner/core}/output/NodeOutput.java (86%) rename src/main/java/org/homer/{core/versioner => versioner/core}/output/PathOutput.java (78%) rename src/main/java/org/homer/{core/versioner => versioner/core}/procedure/Diff.java (97%) rename src/main/java/org/homer/{core/versioner => versioner/core}/procedure/Get.java (95%) rename src/main/java/org/homer/{core/versioner => versioner/core}/procedure/Init.java (91%) rename src/main/java/org/homer/{core/versioner => versioner/core}/procedure/Rollback.java (74%) rename src/main/java/org/homer/{core/versioner => versioner/core}/procedure/Update.java (72%) rename src/test/java/org/homer/{core/versioner => versioner/core}/builders/DiffBuilderTest.java (83%) rename src/test/java/org/homer/{core/versioner => versioner/core}/builders/GetBuilderTest.java (83%) rename src/test/java/org/homer/{core/versioner => versioner/core}/builders/InitBuilderTest.java (89%) rename src/test/java/org/homer/{core/versioner => versioner/core}/builders/RollbackBuilderTest.java (89%) rename src/test/java/org/homer/{core/versioner => versioner/core}/builders/UpdateBuilderTest.java (89%) rename src/test/java/org/homer/{core/versioner => versioner/core}/procedure/DiffTest.java (99%) rename src/test/java/org/homer/{core/versioner => versioner/core}/procedure/GetTest.java (99%) rename src/test/java/org/homer/{core/versioner => versioner/core}/procedure/InitTest.java (99%) rename src/test/java/org/homer/{core/versioner => versioner/core}/procedure/RollbackTest.java (99%) rename src/test/java/org/homer/{core/versioner => versioner/core}/procedure/UpdateTest.java (99%) diff --git a/README.md b/README.md index f18e7a2..5587371 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ -[![Build Status](https://travis-ci.org/h-omer/neo4j-core-versioner.svg?branch=master)](https://travis-ci.org/h-omer/neo4j-core-versioner) +[![Build Status](https://travis-ci.org/h-omer/neo4j-versioner-core.svg?branch=master)](https://travis-ci.org/h-omer/neo4j-versioner-core) +[![Dependency Status](https://www.versioneye.com/user/projects/593a42a03601b10036e095b7/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/593a42a03601b10036e095b7) -# Neo4j Core Versioner +# Neo4j Versioner Core -Neo4j Core Versioner is a collection of procedures, aimed to help developers to manage the Entity-State model, by creating, updating and querying the graph. +Neo4j Versioner Core is a collection of procedures, aimed to help developers to manage the Entity-State model, by creating, updating and querying the graph. ## License @@ -10,17 +11,17 @@ Apache License 2.0 ## Installation -1. Download the latest [release](https://github.com/h-omer/neo4j-core-versioner/releases); +1. Download the latest [release](https://github.com/h-omer/neo4j-versioner-core/releases); 2. Put the downloaded jar file into `$NEO4J_HOME/plugins` folder; 3. Start/Restart Neo4j. ## About -Neo4j Core Versioner has been developed by [Alberto D'Este](https://github.com/albertodeste) and [Marco Falcier](https://github.com/mfalcier). +Neo4j Versioner Core has been developed by [Alberto D'Este](https://github.com/albertodeste) and [Marco Falcier](https://github.com/mfalcier). It's based on the following data model: -![Data Model](https://raw.githubusercontent.com/h-omer/neo4j-core-versioner/master/docs/images/data-model.png) +![Data Model](https://raw.githubusercontent.com/h-omer/neo4j-versioner-core/master/docs/images/data-model.png) ## Examples @@ -36,7 +37,7 @@ And how to retrieve the current `State`: MATCH (d:Device) WITH d CALL graph.versioner.get.current.state(d) YIELD node RETURN node ``` -If you want to use Neo4j Core Versioner procedures on your procedures/functions you simply create a new instance: +If you want to use Neo4j Versioner Core procedures on your procedures/functions you simply create a new instance: ```java Optional result = new InitBuilder().withDb(db).withLog(log).build(); @@ -45,8 +46,8 @@ result.ifPresent(a -> a.init("EntityLabel", entityProps, stateProps, additionalL ## Full documentation -You can find the full documentation [here](https://h-omer.github.io/neo4j-core-versioner/). +You can find the full documentation [here](https://h-omer.github.io/neo4j-versioner-core/). ## Feedback -We would appreciate your feedback about our Core Versioner, how to improve and fix (we hope not so many! :see_no_evil:) any bad things. Say yours in the [issue](https://github.com/h-omer/neo4j-core-versioner/issues) section. +We would appreciate your feedback about our Core Versioner, how to improve and fix (we hope not so many! :see_no_evil:) any bad things. Say yours in the [issue](https://github.com/h-omer/neo4j-versioner-core/issues) section. diff --git a/build.gradle b/build.gradle index a8ae43c..7b9a637 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'java' group = 'org.homer' -version = '1.1-SNAPSHOT' +version = '1.1.0' description = """Neo4j Procedures for Graph Versioning""" @@ -17,10 +17,10 @@ repositories { } dependencies { - testCompile group: 'org.neo4j.test', name: 'neo4j-harness', version:'3.2.0' - testCompile group: 'org.neo4j.driver', name: 'neo4j-java-driver', version:'1.3.0' + testCompile group: 'org.neo4j.test', name: 'neo4j-harness', version:'3.2.1' + testCompile group: 'org.neo4j.driver', name: 'neo4j-java-driver', version:'1.4.0' testCompile group: 'junit', name: 'junit', version:'4.12' testCompile group: 'org.hamcrest', name: 'hamcrest-junit', version:'2.0.0.0' testCompile group: 'org.mockito', name: 'mockito-core', version:'2.8.9' - compile group: 'org.neo4j', name: 'neo4j', version:'3.2.0' + compile group: 'org.neo4j', name: 'neo4j', version:'3.2.1' } diff --git a/docs/index.md b/docs/index.md index 85dc83d..3746260 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,6 +1,6 @@ -# Neo4j Core Versioner Documentation +# Neo4j Versioner Core Documentation -Neo4j Core Versioner is a collection of procedures, aimed to help developers to manage the Entity-State model, by creating, updating and querying the graph. +Neo4j Versioner Core is a collection of procedures, aimed to help developers to manage the Entity-State model, by creating, updating and querying the graph. ## License @@ -8,13 +8,13 @@ Apache License 2.0 ## Installation -1. Download the latest [release](https://github.com/h-omer/neo4j-core-versioner/releases); +1. Download the latest [release](https://github.com/h-omer/neo4j-versioner-core/releases); 2. Put the downloaded jar file into `$NEO4J_HOME/plugins` folder; 3. Start/Restart Neo4j. # About -Neo4j Core Versioner has been developed by [Alberto D'Este](https://github.com/albertodeste) and [Marco Falcier](https://github.com/mfalcier). +Neo4j Versioner Core has been developed by [Alberto D'Este](https://github.com/albertodeste) and [Marco Falcier](https://github.com/mfalcier). ## Data Model @@ -28,11 +28,11 @@ There are 4 different relationships: This is how the data model looks like: -![Data Model](https://raw.githubusercontent.com/h-omer/neo4j-core-versioner/master/docs/images/data-model.png) +![Data Model](https://raw.githubusercontent.com/h-omer/neo4j-versioner-core/master/docs/images/data-model.png) ## Use cases -You can find some examples and use cases in the repository [wiki](https://github.com/h-omer/neo4j-core-versioner/wiki) (work in progress!). +You can find some examples and use cases in the repository [wiki](https://github.com/h-omer/neo4j-versioner-core/wiki) (work in progress!). # Procedures Reference @@ -40,7 +40,7 @@ Neo4j procedure documentation can also be found using `CALL dbms.procedures()`. ## How to call Core Versioner Procedures on your procedures/functions -If you want to use Neo4j Core Versioner procedures on your procedures/functions you simply create a new instance: +If you want to use Neo4j Versioner Core procedures on your procedures/functions you simply create a new instance: ```java Optional result = new InitBuilder().withDb(db).withLog(log).build(); @@ -61,8 +61,8 @@ Add the following repository and dependency to your `pom.xml` file com.github.h-omer - neo4j-core-versioner - 1.1-SNAPSHOT + neo4j-versioner-core + 1.1.0 provided ``` @@ -76,11 +76,11 @@ repositories { maven { url 'https://jitpack.io' } } dependencies { - compile 'com.github.h-omer:neo4j-core-versioner:1.1-SNAPSHOT' + compile 'com.github.h-omer:neo4j-versioner-core:1.1.0' } ``` -Neo4j Core Versioner must be a provided dependency on your project and it must be installed on your neo4j instance. +Neo4j Versioner Core must be a provided dependency on your project and it must be installed on your neo4j instance. ## Procedure CheatSheet @@ -211,7 +211,7 @@ This procedure is used to retrieve the current path: by a given Entity node, it This is how the returned path looks like: -![Get Current Path](https://raw.githubusercontent.com/h-omer/neo4j-core-versioner/master/docs/images/get-current-path.png) +![Get Current Path](https://raw.githubusercontent.com/h-omer/neo4j-versioner-core/master/docs/images/get-current-path.png) ### Details @@ -272,7 +272,7 @@ This procedure is used to retrieve all Entity's history in a path, including the Here is how the returned path looks like: -![Get All](https://raw.githubusercontent.com/h-omer/neo4j-core-versioner/master/docs/images/get-all.png) +![Get All](https://raw.githubusercontent.com/h-omer/neo4j-versioner-core/master/docs/images/get-all.png) ### Details @@ -519,4 +519,4 @@ MATCH (s:State {code:2}) WITH s CALL graph.versioner.diff.from.current(s) YIELD # Feedback -We would appreciate your feedback about our Core Versioner, how to improve and fix (we hope not so many!) any bad things. Say yours in the [issue](https://github.com/h-omer/neo4j-core-versioner/issues) section. \ No newline at end of file +We would appreciate your feedback about our Versioner Core, how to improve and fix (we hope not so many!) any bad things. Say yours in the [issue](https://github.com/h-omer/neo4j-versioner-core/issues) section. \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 17499f3..8a10376 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -rootProject.name = 'neo4j-core-versioner' +rootProject.name = 'neo4j-versioner-core' diff --git a/src/main/java/org/homer/core/versioner/Utility.java b/src/main/java/org/homer/versioner/core/Utility.java similarity index 99% rename from src/main/java/org/homer/core/versioner/Utility.java rename to src/main/java/org/homer/versioner/core/Utility.java index 7e14291..9edf222 100644 --- a/src/main/java/org/homer/core/versioner/Utility.java +++ b/src/main/java/org/homer/versioner/core/Utility.java @@ -1,4 +1,4 @@ -package org.homer.core.versioner; +package org.homer.versioner.core; import org.neo4j.graphdb.*; diff --git a/src/main/java/org/homer/core/versioner/builders/CoreProcedureBuilder.java b/src/main/java/org/homer/versioner/core/builders/CoreProcedureBuilder.java similarity index 94% rename from src/main/java/org/homer/core/versioner/builders/CoreProcedureBuilder.java rename to src/main/java/org/homer/versioner/core/builders/CoreProcedureBuilder.java index 6d3effc..7c23207 100644 --- a/src/main/java/org/homer/core/versioner/builders/CoreProcedureBuilder.java +++ b/src/main/java/org/homer/versioner/core/builders/CoreProcedureBuilder.java @@ -1,6 +1,6 @@ -package org.homer.core.versioner.builders; +package org.homer.versioner.core.builders; -import org.homer.core.versioner.core.CoreProcedure; +import org.homer.versioner.core.core.CoreProcedure; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.logging.Log; diff --git a/src/main/java/org/homer/core/versioner/builders/DiffBuilder.java b/src/main/java/org/homer/versioner/core/builders/DiffBuilder.java similarity index 77% rename from src/main/java/org/homer/core/versioner/builders/DiffBuilder.java rename to src/main/java/org/homer/versioner/core/builders/DiffBuilder.java index f9d5155..1d2971d 100644 --- a/src/main/java/org/homer/core/versioner/builders/DiffBuilder.java +++ b/src/main/java/org/homer/versioner/core/builders/DiffBuilder.java @@ -1,6 +1,6 @@ -package org.homer.core.versioner.builders; +package org.homer.versioner.core.builders; -import org.homer.core.versioner.procedure.Diff; +import org.homer.versioner.core.procedure.Diff; import java.util.Optional; diff --git a/src/main/java/org/homer/core/versioner/builders/GetBuilder.java b/src/main/java/org/homer/versioner/core/builders/GetBuilder.java similarity index 77% rename from src/main/java/org/homer/core/versioner/builders/GetBuilder.java rename to src/main/java/org/homer/versioner/core/builders/GetBuilder.java index 73ccd4c..fa44b54 100644 --- a/src/main/java/org/homer/core/versioner/builders/GetBuilder.java +++ b/src/main/java/org/homer/versioner/core/builders/GetBuilder.java @@ -1,6 +1,6 @@ -package org.homer.core.versioner.builders; +package org.homer.versioner.core.builders; -import org.homer.core.versioner.procedure.Get; +import org.homer.versioner.core.procedure.Get; import java.util.Optional; diff --git a/src/main/java/org/homer/core/versioner/builders/InitBuilder.java b/src/main/java/org/homer/versioner/core/builders/InitBuilder.java similarity index 80% rename from src/main/java/org/homer/core/versioner/builders/InitBuilder.java rename to src/main/java/org/homer/versioner/core/builders/InitBuilder.java index 33ba235..783fd11 100644 --- a/src/main/java/org/homer/core/versioner/builders/InitBuilder.java +++ b/src/main/java/org/homer/versioner/core/builders/InitBuilder.java @@ -1,6 +1,6 @@ -package org.homer.core.versioner.builders; +package org.homer.versioner.core.builders; -import org.homer.core.versioner.procedure.Init; +import org.homer.versioner.core.procedure.Init; import java.util.Optional; diff --git a/src/main/java/org/homer/core/versioner/builders/RollbackBuilder.java b/src/main/java/org/homer/versioner/core/builders/RollbackBuilder.java similarity index 81% rename from src/main/java/org/homer/core/versioner/builders/RollbackBuilder.java rename to src/main/java/org/homer/versioner/core/builders/RollbackBuilder.java index 9561f37..1719918 100644 --- a/src/main/java/org/homer/core/versioner/builders/RollbackBuilder.java +++ b/src/main/java/org/homer/versioner/core/builders/RollbackBuilder.java @@ -1,6 +1,6 @@ -package org.homer.core.versioner.builders; +package org.homer.versioner.core.builders; -import org.homer.core.versioner.procedure.Rollback; +import org.homer.versioner.core.procedure.Rollback; import java.util.Optional; diff --git a/src/main/java/org/homer/core/versioner/builders/UpdateBuilder.java b/src/main/java/org/homer/versioner/core/builders/UpdateBuilder.java similarity index 80% rename from src/main/java/org/homer/core/versioner/builders/UpdateBuilder.java rename to src/main/java/org/homer/versioner/core/builders/UpdateBuilder.java index e96287c..5988516 100644 --- a/src/main/java/org/homer/core/versioner/builders/UpdateBuilder.java +++ b/src/main/java/org/homer/versioner/core/builders/UpdateBuilder.java @@ -1,6 +1,6 @@ -package org.homer.core.versioner.builders; +package org.homer.versioner.core.builders; -import org.homer.core.versioner.procedure.Update; +import org.homer.versioner.core.procedure.Update; import java.util.Optional; diff --git a/src/main/java/org/homer/core/versioner/core/CoreProcedure.java b/src/main/java/org/homer/versioner/core/core/CoreProcedure.java similarity index 90% rename from src/main/java/org/homer/core/versioner/core/CoreProcedure.java rename to src/main/java/org/homer/versioner/core/core/CoreProcedure.java index 65bea48..2b6a350 100644 --- a/src/main/java/org/homer/core/versioner/core/CoreProcedure.java +++ b/src/main/java/org/homer/versioner/core/core/CoreProcedure.java @@ -1,4 +1,4 @@ -package org.homer.core.versioner.core; +package org.homer.versioner.core.core; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.logging.Log; diff --git a/src/main/java/org/homer/core/versioner/output/DiffOutput.java b/src/main/java/org/homer/versioner/core/output/DiffOutput.java similarity index 88% rename from src/main/java/org/homer/core/versioner/output/DiffOutput.java rename to src/main/java/org/homer/versioner/core/output/DiffOutput.java index 2c6db20..d1993c9 100644 --- a/src/main/java/org/homer/core/versioner/output/DiffOutput.java +++ b/src/main/java/org/homer/versioner/core/output/DiffOutput.java @@ -1,4 +1,4 @@ -package org.homer.core.versioner.output; +package org.homer.versioner.core.output; public class DiffOutput{ public String operation; diff --git a/src/main/java/org/homer/core/versioner/output/NodeOutput.java b/src/main/java/org/homer/versioner/core/output/NodeOutput.java similarity index 86% rename from src/main/java/org/homer/core/versioner/output/NodeOutput.java rename to src/main/java/org/homer/versioner/core/output/NodeOutput.java index bb2c00c..de1a326 100644 --- a/src/main/java/org/homer/core/versioner/output/NodeOutput.java +++ b/src/main/java/org/homer/versioner/core/output/NodeOutput.java @@ -1,4 +1,4 @@ -package org.homer.core.versioner.output; +package org.homer.versioner.core.output; import org.neo4j.graphdb.Node; diff --git a/src/main/java/org/homer/core/versioner/output/PathOutput.java b/src/main/java/org/homer/versioner/core/output/PathOutput.java similarity index 78% rename from src/main/java/org/homer/core/versioner/output/PathOutput.java rename to src/main/java/org/homer/versioner/core/output/PathOutput.java index c9b76a5..4d6df85 100644 --- a/src/main/java/org/homer/core/versioner/output/PathOutput.java +++ b/src/main/java/org/homer/versioner/core/output/PathOutput.java @@ -1,4 +1,4 @@ -package org.homer.core.versioner.output; +package org.homer.versioner.core.output; import org.neo4j.graphdb.Path; diff --git a/src/main/java/org/homer/core/versioner/procedure/Diff.java b/src/main/java/org/homer/versioner/core/procedure/Diff.java similarity index 97% rename from src/main/java/org/homer/core/versioner/procedure/Diff.java rename to src/main/java/org/homer/versioner/core/procedure/Diff.java index 92ac797..00e86a0 100644 --- a/src/main/java/org/homer/core/versioner/procedure/Diff.java +++ b/src/main/java/org/homer/versioner/core/procedure/Diff.java @@ -1,7 +1,7 @@ -package org.homer.core.versioner.procedure; +package org.homer.versioner.core.procedure; -import org.homer.core.versioner.Utility; -import org.homer.core.versioner.output.DiffOutput; +import org.homer.versioner.core.Utility; +import org.homer.versioner.core.output.DiffOutput; import org.neo4j.graphdb.Direction; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; diff --git a/src/main/java/org/homer/core/versioner/procedure/Get.java b/src/main/java/org/homer/versioner/core/procedure/Get.java similarity index 95% rename from src/main/java/org/homer/core/versioner/procedure/Get.java rename to src/main/java/org/homer/versioner/core/procedure/Get.java index 888963c..dd054a0 100644 --- a/src/main/java/org/homer/core/versioner/procedure/Get.java +++ b/src/main/java/org/homer/versioner/core/procedure/Get.java @@ -1,8 +1,8 @@ -package org.homer.core.versioner.procedure; +package org.homer.versioner.core.procedure; -import org.homer.core.versioner.Utility; -import org.homer.core.versioner.output.NodeOutput; -import org.homer.core.versioner.output.PathOutput; +import org.homer.versioner.core.Utility; +import org.homer.versioner.core.output.NodeOutput; +import org.homer.versioner.core.output.PathOutput; import org.neo4j.cypher.internal.compiler.v3_2.commands.expressions.PathValueBuilder; import org.neo4j.graphdb.*; import org.neo4j.procedure.Description; diff --git a/src/main/java/org/homer/core/versioner/procedure/Init.java b/src/main/java/org/homer/versioner/core/procedure/Init.java similarity index 91% rename from src/main/java/org/homer/core/versioner/procedure/Init.java rename to src/main/java/org/homer/versioner/core/procedure/Init.java index 7244218..c068eba 100644 --- a/src/main/java/org/homer/core/versioner/procedure/Init.java +++ b/src/main/java/org/homer/versioner/core/procedure/Init.java @@ -1,8 +1,8 @@ -package org.homer.core.versioner.procedure; +package org.homer.versioner.core.procedure; -import org.homer.core.versioner.Utility; -import org.homer.core.versioner.core.CoreProcedure; -import org.homer.core.versioner.output.NodeOutput; +import org.homer.versioner.core.Utility; +import org.homer.versioner.core.core.CoreProcedure; +import org.homer.versioner.core.output.NodeOutput; import org.neo4j.graphdb.Node; import org.neo4j.procedure.Description; import org.neo4j.procedure.Mode; diff --git a/src/main/java/org/homer/core/versioner/procedure/Rollback.java b/src/main/java/org/homer/versioner/core/procedure/Rollback.java similarity index 74% rename from src/main/java/org/homer/core/versioner/procedure/Rollback.java rename to src/main/java/org/homer/versioner/core/procedure/Rollback.java index 55ccf3a..90621da 100644 --- a/src/main/java/org/homer/core/versioner/procedure/Rollback.java +++ b/src/main/java/org/homer/versioner/core/procedure/Rollback.java @@ -1,8 +1,8 @@ -package org.homer.core.versioner.procedure; +package org.homer.versioner.core.procedure; -import org.homer.core.versioner.core.CoreProcedure; -import org.homer.core.versioner.Utility; -import org.homer.core.versioner.output.NodeOutput; +import org.homer.versioner.core.core.CoreProcedure; +import org.homer.versioner.core.Utility; +import org.homer.versioner.core.output.NodeOutput; import org.neo4j.graphdb.Direction; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; @@ -18,7 +18,6 @@ import java.util.stream.Stream; import java.util.stream.StreamSupport; -import static org.homer.core.versioner.Utility.*; import static org.neo4j.procedure.Mode.WRITE; /** @@ -35,7 +34,7 @@ public Stream rollback( long instantDate = (date == 0) ? Calendar.getInstance().getTimeInMillis() : date; // Getting the CURRENT rel if it exists - Spliterator currentRelIterator = entity.getRelationships(RelationshipType.withName(CURRENT_TYPE), Direction.OUTGOING).spliterator(); + Spliterator currentRelIterator = entity.getRelationships(RelationshipType.withName(Utility.CURRENT_TYPE), Direction.OUTGOING).spliterator(); Optional currentRelationshipOptional = StreamSupport.stream(currentRelIterator, false).filter(Objects::nonNull).findFirst(); Optional newState = currentRelationshipOptional.map(currentRelationship -> { @@ -49,20 +48,20 @@ public Stream rollback( Node result = Utility.cloneNode(db, rollbackState); //Creating ROLLBACK_TYPE relationship - result.createRelationshipTo(rollbackState, RelationshipType.withName(ROLLBACK_TYPE)); + result.createRelationshipTo(rollbackState, RelationshipType.withName(Utility.ROLLBACK_TYPE)); // Updating CURRENT state - result = currentStateUpdate(entity, instantDate, currentRelationship, currentState, currentDate, result); + result = Utility.currentStateUpdate(entity, instantDate, currentRelationship, currentState, currentDate, result); - log.info(LOGGER_TAG + "Rollback executed for Entity with id {}, adding a State with id {}", entity.getId(), result.getId()); + log.info(Utility.LOGGER_TAG + "Rollback executed for Entity with id {}, adding a State with id {}", entity.getId(), result.getId()); return Optional.of(result); }).orElseGet(() -> { - log.info(LOGGER_TAG + "Failed rollback for Entity with id {}, only one CURRENT State available", entity.getId()); + log.info(Utility.LOGGER_TAG + "Failed rollback for Entity with id {}, only one CURRENT State available", entity.getId()); return Optional.empty(); }); }).orElseGet(() -> { - log.info(LOGGER_TAG + "Failed rollback for Entity with id {}, there is no CURRENT State available", entity.getId()); + log.info(Utility.LOGGER_TAG + "Failed rollback for Entity with id {}, there is no CURRENT State available", entity.getId()); return Optional.empty(); }); @@ -80,15 +79,15 @@ public Stream rollbackTo( Optional newState = Optional.empty(); // If the given State is the CURRENT one, null must be returned - Spliterator currentRelIterator = state.getRelationships(RelationshipType.withName(CURRENT_TYPE), Direction.INCOMING).spliterator(); + Spliterator currentRelIterator = state.getRelationships(RelationshipType.withName(Utility.CURRENT_TYPE), Direction.INCOMING).spliterator(); Optional currentRelationshipOptional = StreamSupport.stream(currentRelIterator, false).filter(Objects::nonNull).findFirst(); if (!currentRelationshipOptional.isPresent()) { // If the given State already has a ROLLBACK relationship, null must be returned - Spliterator rollbackRelIterator = state.getRelationships(RelationshipType.withName(ROLLBACK_TYPE), Direction.OUTGOING).spliterator(); + Spliterator rollbackRelIterator = state.getRelationships(RelationshipType.withName(Utility.ROLLBACK_TYPE), Direction.OUTGOING).spliterator(); Optional rollbackRelationshipOptional = StreamSupport.stream(rollbackRelIterator, false).filter(Objects::nonNull).findFirst(); if (!rollbackRelationshipOptional.isPresent()) { // Otherwise, the node can be rolled back - currentRelIterator = entity.getRelationships(RelationshipType.withName(CURRENT_TYPE), Direction.OUTGOING).spliterator(); + currentRelIterator = entity.getRelationships(RelationshipType.withName(Utility.CURRENT_TYPE), Direction.OUTGOING).spliterator(); currentRelationshipOptional = StreamSupport.stream(currentRelIterator, false).filter(Objects::nonNull).findFirst(); newState = currentRelationshipOptional.map(currentRelationship -> { @@ -99,16 +98,16 @@ public Stream rollbackTo( Node result = Utility.cloneNode(db, state); //Creating ROLLBACK_TYPE relationship - result.createRelationshipTo(state, RelationshipType.withName(ROLLBACK_TYPE)); + result.createRelationshipTo(state, RelationshipType.withName(Utility.ROLLBACK_TYPE)); // Updating CURRENT state - result = currentStateUpdate(entity, instantDate, currentRelationship, currentState, currentDate, result); + result = Utility.currentStateUpdate(entity, instantDate, currentRelationship, currentState, currentDate, result); - log.info(LOGGER_TAG + "Rollback executed for Entity with id {}, adding a State with id {}", entity.getId(), result.getId()); + log.info(Utility.LOGGER_TAG + "Rollback executed for Entity with id {}, adding a State with id {}", entity.getId(), result.getId()); return Optional.of(result); }).orElseGet(() -> { - log.info(LOGGER_TAG + "Failed rollback for Entity with id {}, there is no CURRENT State available", entity.getId()); + log.info(Utility.LOGGER_TAG + "Failed rollback for Entity with id {}, there is no CURRENT State available", entity.getId()); return Optional.empty(); }); } @@ -124,11 +123,11 @@ public Stream rollbackTo( * @return the first available rollback node */ private Optional getFirstAvailableRollbackNode(Node state) { - return StreamSupport.stream(state.getRelationships(RelationshipType.withName(ROLLBACK_TYPE), Direction.OUTGOING).spliterator(), false).findFirst() + return StreamSupport.stream(state.getRelationships(RelationshipType.withName(Utility.ROLLBACK_TYPE), Direction.OUTGOING).spliterator(), false).findFirst() // Recursive iteration for ROLLBACKed State node .map(e -> getFirstAvailableRollbackNode(e.getEndNode())) // No ROLLBACK relationship found - .orElse(StreamSupport.stream(state.getRelationships(RelationshipType.withName(PREVIOUS_TYPE), Direction.OUTGOING).spliterator(), false) + .orElse(StreamSupport.stream(state.getRelationships(RelationshipType.withName(Utility.PREVIOUS_TYPE), Direction.OUTGOING).spliterator(), false) .findFirst().map(Relationship::getEndNode)); } } diff --git a/src/main/java/org/homer/core/versioner/procedure/Update.java b/src/main/java/org/homer/versioner/core/procedure/Update.java similarity index 72% rename from src/main/java/org/homer/core/versioner/procedure/Update.java rename to src/main/java/org/homer/versioner/core/procedure/Update.java index 40aef0f..a627a38 100644 --- a/src/main/java/org/homer/core/versioner/procedure/Update.java +++ b/src/main/java/org/homer/versioner/core/procedure/Update.java @@ -1,7 +1,8 @@ -package org.homer.core.versioner.procedure; +package org.homer.versioner.core.procedure; -import org.homer.core.versioner.core.CoreProcedure; -import org.homer.core.versioner.output.NodeOutput; +import org.homer.versioner.core.core.CoreProcedure; +import org.homer.versioner.core.output.NodeOutput; +import org.homer.versioner.core.Utility; import org.neo4j.graphdb.Direction; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; @@ -15,8 +16,6 @@ import java.util.stream.Stream; import java.util.stream.StreamSupport; -import static org.homer.core.versioner.Utility.*; - /** * Update class, it contains all the Procedures needed to update Entities' States */ @@ -31,35 +30,35 @@ public Stream update( @Name(value = "date", defaultValue = "0") long date) { // Creating the new State - List labelNames = new ArrayList<>(Collections.singletonList(STATE_LABEL)); + List labelNames = new ArrayList<>(Collections.singletonList(Utility.STATE_LABEL)); if (!additionalLabel.isEmpty()) { labelNames.add(additionalLabel); } - Node result = setProperties(db.createNode(labels(labelNames)), stateProps); + Node result = Utility.setProperties(db.createNode(Utility.labels(labelNames)), stateProps); long instantDate = (date == 0) ? Calendar.getInstance().getTimeInMillis() : date; // Getting the CURRENT rel if it exist - Spliterator currentRelIterator = entity.getRelationships(RelationshipType.withName(CURRENT_TYPE), Direction.OUTGOING).spliterator(); + Spliterator currentRelIterator = entity.getRelationships(RelationshipType.withName(Utility.CURRENT_TYPE), Direction.OUTGOING).spliterator(); StreamSupport.stream(currentRelIterator, false).forEach(currentRel -> { Node currentState = currentRel.getEndNode(); Long currentDate = (Long) currentRel.getProperty("date"); // Creating PREVIOUS relationship between the current and the new State - result.createRelationshipTo(currentState, RelationshipType.withName(PREVIOUS_TYPE)).setProperty(DATE_PROP, currentDate); + result.createRelationshipTo(currentState, RelationshipType.withName(Utility.PREVIOUS_TYPE)).setProperty(Utility.DATE_PROP, currentDate); // Updating the HAS_STATE rel for the current node, adding endDate - currentState.getRelationships(RelationshipType.withName(HAS_STATE_TYPE), Direction.INCOMING) - .forEach(hasStatusRel -> hasStatusRel.setProperty(END_DATE_PROP, instantDate)); + currentState.getRelationships(RelationshipType.withName(Utility.HAS_STATE_TYPE), Direction.INCOMING) + .forEach(hasStatusRel -> hasStatusRel.setProperty(Utility.END_DATE_PROP, instantDate)); // Refactoring current relationship and adding the new ones currentRel.delete(); }); // Connecting the new current state to the Entity - addCurrentState(result, entity, instantDate); + Utility.addCurrentState(result, entity, instantDate); - log.info(LOGGER_TAG + "Updated Entity with id {}, adding a State with id {}", entity.getId(), result.getId()); + log.info(Utility.LOGGER_TAG + "Updated Entity with id {}, adding a State with id {}", entity.getId(), result.getId()); return Stream.of(new NodeOutput(result)); } @@ -73,7 +72,7 @@ public Stream patch( @Name(value = "date", defaultValue = "0") long date) { // Creating the new State - List labelNames = new ArrayList<>(Collections.singletonList(STATE_LABEL)); + List labelNames = new ArrayList<>(Collections.singletonList(Utility.STATE_LABEL)); if (!additionalLabel.isEmpty()) { labelNames.add(additionalLabel); } @@ -81,7 +80,7 @@ public Stream patch( long instantDate = (date == 0) ? Calendar.getInstance().getTimeInMillis() : date; // Getting the CURRENT rel if it exist - Spliterator currentRelIterator = entity.getRelationships(RelationshipType.withName(CURRENT_TYPE), Direction.OUTGOING).spliterator(); + Spliterator currentRelIterator = entity.getRelationships(RelationshipType.withName(Utility.CURRENT_TYPE), Direction.OUTGOING).spliterator(); Node newState = StreamSupport.stream(currentRelIterator, false).map(currentRel -> { Node currentState = currentRel.getEndNode(); Long currentDate = (Long) currentRel.getProperty("date"); @@ -89,22 +88,22 @@ public Stream patch( // Patching the current node into the new one. Map patchedProps = currentState.getAllProperties(); patchedProps.putAll(stateProps); - Node result = setProperties(db.createNode(labels(labelNames)), patchedProps); + Node result = Utility.setProperties(db.createNode(Utility.labels(labelNames)), patchedProps); // Updating CURRENT state - result = currentStateUpdate(entity, instantDate, currentRel, currentState, currentDate, result); + result = Utility.currentStateUpdate(entity, instantDate, currentRel, currentState, currentDate, result); return result; }).findFirst().orElseGet(() -> { - Node result = setProperties(db.createNode(labels(labelNames)), stateProps); + Node result = Utility.setProperties(db.createNode(Utility.labels(labelNames)), stateProps); // Connecting the new current state to the Entity - addCurrentState(result, entity, instantDate); + Utility.addCurrentState(result, entity, instantDate); return result; }); - log.info(LOGGER_TAG + "Patched Entity with id {}, adding a State with id {}", entity.getId(), newState.getId()); + log.info(Utility.LOGGER_TAG + "Patched Entity with id {}, adding a State with id {}", entity.getId(), newState.getId()); return Stream.of(new NodeOutput(newState)); } diff --git a/src/test/java/org/homer/core/versioner/builders/DiffBuilderTest.java b/src/test/java/org/homer/versioner/core/builders/DiffBuilderTest.java similarity index 83% rename from src/test/java/org/homer/core/versioner/builders/DiffBuilderTest.java rename to src/test/java/org/homer/versioner/core/builders/DiffBuilderTest.java index 25fb2d2..f07272a 100644 --- a/src/test/java/org/homer/core/versioner/builders/DiffBuilderTest.java +++ b/src/test/java/org/homer/versioner/core/builders/DiffBuilderTest.java @@ -1,6 +1,6 @@ -package org.homer.core.versioner.builders; +package org.homer.versioner.core.builders; -import org.homer.core.versioner.procedure.Diff; +import org.homer.versioner.core.procedure.Diff; import org.junit.Test; import java.util.Optional; diff --git a/src/test/java/org/homer/core/versioner/builders/GetBuilderTest.java b/src/test/java/org/homer/versioner/core/builders/GetBuilderTest.java similarity index 83% rename from src/test/java/org/homer/core/versioner/builders/GetBuilderTest.java rename to src/test/java/org/homer/versioner/core/builders/GetBuilderTest.java index 21a36df..2948c31 100644 --- a/src/test/java/org/homer/core/versioner/builders/GetBuilderTest.java +++ b/src/test/java/org/homer/versioner/core/builders/GetBuilderTest.java @@ -1,6 +1,6 @@ -package org.homer.core.versioner.builders; +package org.homer.versioner.core.builders; -import org.homer.core.versioner.procedure.Get; +import org.homer.versioner.core.procedure.Get; import org.junit.Test; import java.util.Optional; diff --git a/src/test/java/org/homer/core/versioner/builders/InitBuilderTest.java b/src/test/java/org/homer/versioner/core/builders/InitBuilderTest.java similarity index 89% rename from src/test/java/org/homer/core/versioner/builders/InitBuilderTest.java rename to src/test/java/org/homer/versioner/core/builders/InitBuilderTest.java index de9972e..1d3c363 100644 --- a/src/test/java/org/homer/core/versioner/builders/InitBuilderTest.java +++ b/src/test/java/org/homer/versioner/core/builders/InitBuilderTest.java @@ -1,6 +1,6 @@ -package org.homer.core.versioner.builders; +package org.homer.versioner.core.builders; -import org.homer.core.versioner.procedure.Init; +import org.homer.versioner.core.procedure.Init; import org.junit.Test; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.logging.Log; diff --git a/src/test/java/org/homer/core/versioner/builders/RollbackBuilderTest.java b/src/test/java/org/homer/versioner/core/builders/RollbackBuilderTest.java similarity index 89% rename from src/test/java/org/homer/core/versioner/builders/RollbackBuilderTest.java rename to src/test/java/org/homer/versioner/core/builders/RollbackBuilderTest.java index 20250aa..fc4d3a6 100644 --- a/src/test/java/org/homer/core/versioner/builders/RollbackBuilderTest.java +++ b/src/test/java/org/homer/versioner/core/builders/RollbackBuilderTest.java @@ -1,6 +1,6 @@ -package org.homer.core.versioner.builders; +package org.homer.versioner.core.builders; -import org.homer.core.versioner.procedure.Rollback; +import org.homer.versioner.core.procedure.Rollback; import org.junit.Test; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.logging.Log; diff --git a/src/test/java/org/homer/core/versioner/builders/UpdateBuilderTest.java b/src/test/java/org/homer/versioner/core/builders/UpdateBuilderTest.java similarity index 89% rename from src/test/java/org/homer/core/versioner/builders/UpdateBuilderTest.java rename to src/test/java/org/homer/versioner/core/builders/UpdateBuilderTest.java index f75b1f9..1744ffe 100644 --- a/src/test/java/org/homer/core/versioner/builders/UpdateBuilderTest.java +++ b/src/test/java/org/homer/versioner/core/builders/UpdateBuilderTest.java @@ -1,6 +1,6 @@ -package org.homer.core.versioner.builders; +package org.homer.versioner.core.builders; -import org.homer.core.versioner.procedure.Update; +import org.homer.versioner.core.procedure.Update; import org.junit.Test; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.logging.Log; diff --git a/src/test/java/org/homer/core/versioner/procedure/DiffTest.java b/src/test/java/org/homer/versioner/core/procedure/DiffTest.java similarity index 99% rename from src/test/java/org/homer/core/versioner/procedure/DiffTest.java rename to src/test/java/org/homer/versioner/core/procedure/DiffTest.java index 0e5f610..aac774a 100644 --- a/src/test/java/org/homer/core/versioner/procedure/DiffTest.java +++ b/src/test/java/org/homer/versioner/core/procedure/DiffTest.java @@ -1,6 +1,6 @@ -package org.homer.core.versioner.procedure; +package org.homer.versioner.core.procedure; -import org.homer.core.versioner.Utility; +import org.homer.versioner.core.Utility; import org.junit.Rule; import org.junit.Test; import org.neo4j.driver.v1.*; diff --git a/src/test/java/org/homer/core/versioner/procedure/GetTest.java b/src/test/java/org/homer/versioner/core/procedure/GetTest.java similarity index 99% rename from src/test/java/org/homer/core/versioner/procedure/GetTest.java rename to src/test/java/org/homer/versioner/core/procedure/GetTest.java index b5c78eb..3c9048c 100644 --- a/src/test/java/org/homer/core/versioner/procedure/GetTest.java +++ b/src/test/java/org/homer/versioner/core/procedure/GetTest.java @@ -1,6 +1,6 @@ -package org.homer.core.versioner.procedure; +package org.homer.versioner.core.procedure; -import org.homer.core.versioner.Utility; +import org.homer.versioner.core.Utility; import org.junit.Rule; import org.junit.Test; import org.neo4j.driver.v1.*; diff --git a/src/test/java/org/homer/core/versioner/procedure/InitTest.java b/src/test/java/org/homer/versioner/core/procedure/InitTest.java similarity index 99% rename from src/test/java/org/homer/core/versioner/procedure/InitTest.java rename to src/test/java/org/homer/versioner/core/procedure/InitTest.java index 06a259e..f80f82c 100644 --- a/src/test/java/org/homer/core/versioner/procedure/InitTest.java +++ b/src/test/java/org/homer/versioner/core/procedure/InitTest.java @@ -1,4 +1,4 @@ -package org.homer.core.versioner.procedure; +package org.homer.versioner.core.procedure; import org.junit.Rule; import org.junit.Test; diff --git a/src/test/java/org/homer/core/versioner/procedure/RollbackTest.java b/src/test/java/org/homer/versioner/core/procedure/RollbackTest.java similarity index 99% rename from src/test/java/org/homer/core/versioner/procedure/RollbackTest.java rename to src/test/java/org/homer/versioner/core/procedure/RollbackTest.java index 36aa93e..9b07821 100644 --- a/src/test/java/org/homer/core/versioner/procedure/RollbackTest.java +++ b/src/test/java/org/homer/versioner/core/procedure/RollbackTest.java @@ -1,4 +1,4 @@ -package org.homer.core.versioner.procedure; +package org.homer.versioner.core.procedure; import org.junit.Rule; import org.junit.Test; diff --git a/src/test/java/org/homer/core/versioner/procedure/UpdateTest.java b/src/test/java/org/homer/versioner/core/procedure/UpdateTest.java similarity index 99% rename from src/test/java/org/homer/core/versioner/procedure/UpdateTest.java rename to src/test/java/org/homer/versioner/core/procedure/UpdateTest.java index d155676..7667ff4 100644 --- a/src/test/java/org/homer/core/versioner/procedure/UpdateTest.java +++ b/src/test/java/org/homer/versioner/core/procedure/UpdateTest.java @@ -1,4 +1,4 @@ -package org.homer.core.versioner.procedure; +package org.homer.versioner.core.procedure; import org.junit.Rule; import org.junit.Test;