From 66f34c60706668fab935fdb0f7aa2d51d2dd1bba Mon Sep 17 00:00:00 2001 From: Vihang Patil Date: Mon, 13 Aug 2018 11:10:18 +0200 Subject: [PATCH] Made neo4j protocol configurable. --- acceptance-tests/build.gradle | 2 +- admin-api/build.gradle | 2 +- analytics/build.gradle | 2 +- app-notifier/build.gradle | 2 +- auth-server/build.gradle | 2 +- build.gradle | 2 +- client-api/build.gradle | 2 +- .../prime/client/api/store/SubscriberDAOImpl.kt | 12 +++++++++--- diameter-stack/build.gradle | 2 +- diameter-test/build.gradle | 2 +- ext-auth-provider/build.gradle | 2 +- firebase-store/build.gradle | 2 +- model/build.gradle | 2 +- neo4j-store/build.gradle | 2 +- .../org/ostelco/prime/storage/graph/Neo4jModule.kt | 3 ++- .../ostelco/prime/storage/graph/GraphStoreTest.kt | 1 + .../org/ostelco/prime/storage/graph/SchemaTest.kt | 1 + ocs/build.gradle | 2 +- prime-api/build.gradle | 2 +- prime-client-api/build.gradle | 2 +- prime/build.gradle | 4 ++-- prime/config/config.yaml | 1 + prime/config/test.yaml | 1 + .../kotlin/org/ostelco/prime/ocs/OcsTest.kt | 5 ++++- .../ostelco/prime/storage/graph/Neo4jStorageTest.kt | 1 + prime/src/integration-tests/resources/config.yaml | 1 + pseudonym-server/build.gradle | 2 +- 27 files changed, 40 insertions(+), 24 deletions(-) diff --git a/acceptance-tests/build.gradle b/acceptance-tests/build.gradle index 9f5b24708..670d12f69 100644 --- a/acceptance-tests/build.gradle +++ b/acceptance-tests/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "application" id "com.github.johnrengelman.shadow" version "2.0.4" } diff --git a/admin-api/build.gradle b/admin-api/build.gradle index c6d193156..2d47ecfa3 100644 --- a/admin-api/build.gradle +++ b/admin-api/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "java-library" } diff --git a/analytics/build.gradle b/analytics/build.gradle index 9a19985e7..b5d95091f 100644 --- a/analytics/build.gradle +++ b/analytics/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "application" id "com.github.johnrengelman.shadow" version "2.0.4" id "idea" diff --git a/app-notifier/build.gradle b/app-notifier/build.gradle index c06822fc9..47e4d97dd 100644 --- a/app-notifier/build.gradle +++ b/app-notifier/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "java-library" } diff --git a/auth-server/build.gradle b/auth-server/build.gradle index 5d5b4f64f..745d299b3 100644 --- a/auth-server/build.gradle +++ b/auth-server/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "application" id "com.github.johnrengelman.shadow" version "2.0.4" id "idea" diff --git a/build.gradle b/build.gradle index f96663c72..ac40020fa 100644 --- a/build.gradle +++ b/build.gradle @@ -28,7 +28,7 @@ subprojects { options.encoding = 'UTF-8' } ext { - kotlinVersion = "1.2.51" + kotlinVersion = "1.2.60" dropwizardVersion = "1.3.5" googleCloudVersion = "1.35.0" jacksonVersion = "2.9.6" diff --git a/client-api/build.gradle b/client-api/build.gradle index 6b2c08ecf..9254d4fdb 100644 --- a/client-api/build.gradle +++ b/client-api/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "java-library" } diff --git a/client-api/src/main/kotlin/org/ostelco/prime/client/api/store/SubscriberDAOImpl.kt b/client-api/src/main/kotlin/org/ostelco/prime/client/api/store/SubscriberDAOImpl.kt index 57c91bd90..f9e437920 100644 --- a/client-api/src/main/kotlin/org/ostelco/prime/client/api/store/SubscriberDAOImpl.kt +++ b/client-api/src/main/kotlin/org/ostelco/prime/client/api/store/SubscriberDAOImpl.kt @@ -48,13 +48,19 @@ class SubscriberDAOImpl(private val storage: ClientDataSource, private val ocsSu } try { profile.referralId = profile.email - storage.addSubscriber(profile, referredBy) + val created = storage.addSubscriber(profile, referredBy) + .map { ApiError("Failed to create profile. ${it.message}") } + + if(created.isEmpty()) { + return getProfile(subscriberId) + } + + return Either.left(created.get()) + } catch (e: Exception) { logger.error("Failed to create profile", e) return Either.left(ApiError("Failed to create profile")) } - - return getProfile(subscriberId) } override fun storeApplicationToken(msisdn: String, applicationToken: ApplicationToken): Either { diff --git a/diameter-stack/build.gradle b/diameter-stack/build.gradle index 8bb802e6a..91dad811d 100644 --- a/diameter-stack/build.gradle +++ b/diameter-stack/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "java-library" id "signing" id "maven" diff --git a/diameter-test/build.gradle b/diameter-test/build.gradle index f6c2f5276..582af7372 100644 --- a/diameter-test/build.gradle +++ b/diameter-test/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "java-library" id "signing" id "maven" diff --git a/ext-auth-provider/build.gradle b/ext-auth-provider/build.gradle index d46ff51a0..0d8f80a9e 100644 --- a/ext-auth-provider/build.gradle +++ b/ext-auth-provider/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "application" id "com.github.johnrengelman.shadow" version "2.0.4" } diff --git a/firebase-store/build.gradle b/firebase-store/build.gradle index 51e188913..d40e8a4e7 100644 --- a/firebase-store/build.gradle +++ b/firebase-store/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "java-library" } diff --git a/model/build.gradle b/model/build.gradle index 021e0a5e5..58250515f 100644 --- a/model/build.gradle +++ b/model/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "java-library" } diff --git a/neo4j-store/build.gradle b/neo4j-store/build.gradle index a9406e119..c893da5e7 100644 --- a/neo4j-store/build.gradle +++ b/neo4j-store/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "java-library" } diff --git a/neo4j-store/src/main/kotlin/org/ostelco/prime/storage/graph/Neo4jModule.kt b/neo4j-store/src/main/kotlin/org/ostelco/prime/storage/graph/Neo4jModule.kt index 6dd6fc905..73a3983f5 100644 --- a/neo4j-store/src/main/kotlin/org/ostelco/prime/storage/graph/Neo4jModule.kt +++ b/neo4j-store/src/main/kotlin/org/ostelco/prime/storage/graph/Neo4jModule.kt @@ -56,6 +56,7 @@ fun initDatabase() { class Config { lateinit var host: String + lateinit var protocol: String } object ConfigRegistry { @@ -74,7 +75,7 @@ object Neo4jClient : Managed { .withConnectionTimeout(10, SECONDS) .toConfig() driver = GraphDatabase.driver( - URI("bolt://${ConfigRegistry.config.host}:7687"), + URI("${ConfigRegistry.config.protocol}://${ConfigRegistry.config.host}:7687"), AuthTokens.none(), config) ?: throw Exception("Unable to get Neo4j client driver instance") } diff --git a/neo4j-store/src/test/kotlin/org/ostelco/prime/storage/graph/GraphStoreTest.kt b/neo4j-store/src/test/kotlin/org/ostelco/prime/storage/graph/GraphStoreTest.kt index 5e277b750..17d041246 100644 --- a/neo4j-store/src/test/kotlin/org/ostelco/prime/storage/graph/GraphStoreTest.kt +++ b/neo4j-store/src/test/kotlin/org/ostelco/prime/storage/graph/GraphStoreTest.kt @@ -181,6 +181,7 @@ class GraphStoreTest { fun start() { ConfigRegistry.config = Config() ConfigRegistry.config.host = "0.0.0.0" + ConfigRegistry.config.protocol = "bolt" Neo4jClient.start() } diff --git a/neo4j-store/src/test/kotlin/org/ostelco/prime/storage/graph/SchemaTest.kt b/neo4j-store/src/test/kotlin/org/ostelco/prime/storage/graph/SchemaTest.kt index 5dd0548c9..f45b7f2ce 100644 --- a/neo4j-store/src/test/kotlin/org/ostelco/prime/storage/graph/SchemaTest.kt +++ b/neo4j-store/src/test/kotlin/org/ostelco/prime/storage/graph/SchemaTest.kt @@ -210,6 +210,7 @@ class SchemaTest { fun start() { ConfigRegistry.config = Config() ConfigRegistry.config.host = "0.0.0.0" + ConfigRegistry.config.protocol = "bolt" Neo4jClient.start() } diff --git a/ocs/build.gradle b/ocs/build.gradle index 5a7de07df..f8fcbde6a 100644 --- a/ocs/build.gradle +++ b/ocs/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "java-library" } diff --git a/prime-api/build.gradle b/prime-api/build.gradle index bef5f318d..cf81d8be2 100644 --- a/prime-api/build.gradle +++ b/prime-api/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "java-library" } diff --git a/prime-client-api/build.gradle b/prime-client-api/build.gradle index 180b1f173..e7c0e52e2 100644 --- a/prime-client-api/build.gradle +++ b/prime-client-api/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id 'java-library' id 'org.hidetake.swagger.generator' version '2.12.0' id "idea" diff --git a/prime/build.gradle b/prime/build.gradle index 39d5c9c11..47cc58fc5 100644 --- a/prime/build.gradle +++ b/prime/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "application" id "com.github.johnrengelman.shadow" version "2.0.4" id "idea" @@ -18,7 +18,7 @@ sourceSets { } } -version = "1.10.1" +version = "1.10.2" repositories { maven { diff --git a/prime/config/config.yaml b/prime/config/config.yaml index de59f3ad5..fcb4191eb 100644 --- a/prime/config/config.yaml +++ b/prime/config/config.yaml @@ -7,6 +7,7 @@ modules: - type: neo4j config: host: neo4j + protocol: bolt+routing - type: ocs config: projectId: pantel-2decb diff --git a/prime/config/test.yaml b/prime/config/test.yaml index 74abe15e8..281d5bb01 100644 --- a/prime/config/test.yaml +++ b/prime/config/test.yaml @@ -9,6 +9,7 @@ modules: - type: neo4j config: host: neo4j + protocol: bolt - type: ocs config: projectId: pantel-2decb diff --git a/prime/src/integration-tests/kotlin/org/ostelco/prime/ocs/OcsTest.kt b/prime/src/integration-tests/kotlin/org/ostelco/prime/ocs/OcsTest.kt index d40449b18..8627bd178 100644 --- a/prime/src/integration-tests/kotlin/org/ostelco/prime/ocs/OcsTest.kt +++ b/prime/src/integration-tests/kotlin/org/ostelco/prime/ocs/OcsTest.kt @@ -221,7 +221,10 @@ class OcsTest { @JvmStatic @Throws(IOException::class) fun setUp() { - ConfigRegistry.config = Config().apply { this.host = "0.0.0.0" } + ConfigRegistry.config = Config().apply { + this.host = "0.0.0.0" + this.protocol = "bolt" + } initFirebaseConfigRegistry() Neo4jClient.start() diff --git a/prime/src/integration-tests/kotlin/org/ostelco/prime/storage/graph/Neo4jStorageTest.kt b/prime/src/integration-tests/kotlin/org/ostelco/prime/storage/graph/Neo4jStorageTest.kt index 764f54625..10fbe87ac 100644 --- a/prime/src/integration-tests/kotlin/org/ostelco/prime/storage/graph/Neo4jStorageTest.kt +++ b/prime/src/integration-tests/kotlin/org/ostelco/prime/storage/graph/Neo4jStorageTest.kt @@ -114,6 +114,7 @@ class Neo4jStorageTest { val config = Config() config.host = "0.0.0.0" + ConfigRegistry.config.protocol = "bolt" ConfigRegistry.config = config Neo4jClient.start() diff --git a/prime/src/integration-tests/resources/config.yaml b/prime/src/integration-tests/resources/config.yaml index eeb4bc3eb..079f33225 100644 --- a/prime/src/integration-tests/resources/config.yaml +++ b/prime/src/integration-tests/resources/config.yaml @@ -7,6 +7,7 @@ modules: - type: neo4j config: host: 0.0.0.0 + protocol: bolt - type: ocs config: projectId: pantel-2decb diff --git a/pseudonym-server/build.gradle b/pseudonym-server/build.gradle index 5e93db578..6aa4ce110 100644 --- a/pseudonym-server/build.gradle +++ b/pseudonym-server/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "1.2.51" + id "org.jetbrains.kotlin.jvm" version "1.2.60" id "application" id "com.github.johnrengelman.shadow" version "2.0.4" id "idea"