diff --git a/CHANGELOG.md b/CHANGELOG.md
index 93b6169..b191158 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
[markdownlint](https://dlaa.me/markdownlint/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [1.0.2] - 2022-05-13
+
+### Added to 1.0.2
+
+- Updated project to match latest release of senzing-listener (v. 0.1.0) and G2 3.0.0.
+
## [Unreleased]
- Thing 5
diff --git a/README.md b/README.md
index 50df3d1..c717f0b 100644
--- a/README.md
+++ b/README.md
@@ -42,62 +42,6 @@ as well as [OpenJDK](http://openjdk.java.net/) version 11.0.x (recommend version
This application interacts with Senzing API so it needs to be installed beforehand. Information on how to install it can be found here: [Senzing API quick start](https://docs.senzing.com/quickstart/)
-You will also need the Senzing `g2.jar` file installed in your Maven repository. This file is included in the Senzing API installation above. In order to install `g2.jar` you must:
-
-1. Locate your
- [SENZING_G2_DIR](https://github.com/Senzing/knowledge-base/blob/main/lists/environment-variables.md#senzing_g2_dir)
- directory.
- The default locations are:
- 1. [Linux](https://github.com/Senzing/knowledge-base/blob/main/HOWTO/install-senzing-api.md#centos): `/opt/senzing/g2`
- 1. Windows MSI Installer: `C:\Program Files\Senzing\`
-
-1. Determine your `SENZING_G2_JAR_VERSION` version number:
- 1. Locate your `g2BuildVersion.json` file:
- 1. Linux: `${SENZING_G2_DIR}/g2BuildVersion.json`
- 1. Windows: `${SENZING_G2_DIR}\data\g2BuildVersion.json`
- 1. Find the value for the `"VERSION"` property in the JSON contents.
- Example:
-
- ```console
- {
- "PLATFORM": "Linux",
- "VERSION": "1.14.20060",
- "API_VERSION": "1.14.3",
- "BUILD_NUMBER": "2020_02_29__02_00"
- }
- ```
-
-1. Install the `g2.jar` file in your local Maven repository, replacing the
- `${SENZING_G2_DIR}` and `${SENZING_G2_JAR_VERSION}` variables as determined above:
-
- 1. Linux:
-
- ```console
- export SENZING_G2_DIR=/opt/senzing/g2
- export SENZING_G2_JAR_VERSION=1.14.3
-
- mvn install:install-file \
- -Dfile=${SENZING_G2_DIR}/lib/g2.jar \
- -DgroupId=com.senzing \
- -DartifactId=g2 \
- -Dversion=${SENZING_G2_JAR_VERSION} \
- -Dpackaging=jar
- ```
-
- 1. Windows:
-
- ```console
- set SENZING_G2_DIR="C:\Program Files\Senzing\g2"
- set SENZING_G2_JAR_VERSION=1.14.3
-
- mvn install:install-file \
- -Dfile="%SENZING_G2_DIR%\lib\g2.jar" \
- -DgroupId=com.senzing \
- -DartifactId=g2 \
- -Dversion="%SENZING_G2_JAR_VERSION%" \
- -Dpackaging=jar
- ```
-
1. Setup your environment. The Connector relies on native libraries and the
environment must be properly setup to find those libraries:
@@ -119,34 +63,7 @@ You will also need the Senzing `g2.jar` file installed in your Maven repository.
### Building
-The Neo4j connector is built on [Senzing listener](https://github.com/Senzing/senzing-listener) framework pre-release version 0.0.1.
-Download the [version 0.0.1 pre-release Senzing Listener](https://github.com/Senzing/senzing-listener/releases/tag/0.0.1) or clone
-the [Senzing Listener](https://github.com/Senzing/senzing-listener) repository using the `--branch` to grab the `0.0.1` tag specifically.
-The steps for building the listener are:
-
-
-#### Option 1: Download the [ZIP file](https://github.com/Senzing/senzing-listener/archive/refs/tags/0.0.1.zip), extract and then build specific release.
-```console
-unzip [path-to-download]/senzing-listener-0.0.1.zip
-cd senzing-listener-0.0.1
-mvn clean install
-```
-
-#### Option 2: Download the [Gzip Tar file](https://github.com/Senzing/senzing-listener/archive/refs/tags/0.0.1.tar.gz), extract and then build specific release.
-```console
-tar -xf [path-to-download]/senzing-listener-0.0.1.tar.gz
-cd senzing-listener-0.0.1
-mvn clean install
-```
-
-#### Option 3: Clone repository to the specific `0.0.1` tag.
-```console
-git clone --branch 0.0.1 git@github.com:Senzing/senzing-listener.git
-cd senzing-listener
-mvn clean install
-```
-
-To build connector-neo4j simply execute:
+To build connector-neo4j:
```console
git clone git@github.com:Senzing/connector-neo4j.git
diff --git a/pom.xml b/pom.xml
index 8bce820..89dd6a4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
com.senzing
neo4j-connector
- 0.1-SNAPSHOT
+ 0.1.0
jar
G2 Neo4J Connector
G2 Neo4J connector app
@@ -19,7 +19,7 @@
com.senzing
senzing-listener
- 0.0.1
+ 0.1.0
@@ -61,11 +61,6 @@
json
20090211
-
- com.senzing
- g2
- [1.14.0-SNAPSHOT,2.999.999)
-
com.rabbitmq
amqp-client
@@ -79,6 +74,19 @@
+
+
+ mvn-repo
+ http://github.com/Senzing/senzing-listener
+
+ true
+
+
+ true
+
+
+
+
diff --git a/src/main/java/com/senzing/neo4j/connector/Neo4jConnector.java b/src/main/java/com/senzing/neo4j/connector/Neo4jConnector.java
index 91dcd81..0808a5d 100644
--- a/src/main/java/com/senzing/neo4j/connector/Neo4jConnector.java
+++ b/src/main/java/com/senzing/neo4j/connector/Neo4jConnector.java
@@ -8,11 +8,11 @@
import javax.json.JsonObject;
import javax.json.JsonReader;
-import com.senzing.listener.senzing.communication.ConsumerType;
-import com.senzing.listener.senzing.communication.MessageConsumer;
-import com.senzing.listener.senzing.communication.MessageConsumerFactory;
-import com.senzing.listener.senzing.data.ConsumerCommandOptions;
-import com.senzing.listener.senzing.service.exception.ServiceSetupException;
+import com.senzing.listener.communication.ConsumerType;
+import com.senzing.listener.communication.MessageConsumer;
+import com.senzing.listener.communication.MessageConsumerFactory;
+import com.senzing.listener.service.exception.ServiceSetupException;
+import com.senzing.neo4j.connector.cmdline.CommandOptions;
import com.senzing.neo4j.connector.service.Neo4jConnectorService;
/**
@@ -33,7 +33,7 @@ public class Neo4jConnector {
* @throws MessageConsumerSetupException
*/
public void run(String config) throws ServiceSetupException, Exception {
- String consumerType = getConfigValue(config, ConsumerCommandOptions.CONSUMER_TYPE);
+ String consumerType = getConfigValue(config, CommandOptions.CONSUMER_TYPE);
if (consumerType == null || consumerType.isEmpty()) {
consumerType = "rabbitmq";
}
@@ -58,7 +58,7 @@ public void run(String config) throws ServiceSetupException, Exception {
cnt = 0;
}
}
- service.cleanUp();
+ service.destroy();
}
private String getConfigValue(String config, String key) {
diff --git a/src/main/java/com/senzing/neo4j/connector/Neo4jConnectorApplication.java b/src/main/java/com/senzing/neo4j/connector/Neo4jConnectorApplication.java
index 9a00cc2..6824bcb 100644
--- a/src/main/java/com/senzing/neo4j/connector/Neo4jConnectorApplication.java
+++ b/src/main/java/com/senzing/neo4j/connector/Neo4jConnectorApplication.java
@@ -16,8 +16,8 @@
import org.apache.commons.cli.ParseException;
import org.json.JSONException;
-import com.senzing.listener.senzing.communication.ConsumerType;
-import com.senzing.listener.senzing.data.ConsumerCommandOptions;
+import com.senzing.listener.communication.ConsumerType;
+import com.senzing.listener.communication.rabbitmq.RabbitMQConsumer;
import com.senzing.neo4j.connector.cmdline.CommandOptions;
import com.senzing.neo4j.connector.config.AppConfiguration;
import com.senzing.neo4j.connector.config.ConfigKeys;
@@ -28,13 +28,13 @@
*/
public class Neo4jConnectorApplication {
- private static final String RABBITMQ_CONSUMER_TYPE = ConsumerType.rabbitmq.toString();
+ private static final String RABBITMQ_CONSUMER_TYPE = ConsumerType.RABBIT_MQ.toString();
private static Map configValues;
public static void main(String[] args) {
configValues = new HashMap<>();
- configValues.put(ConsumerCommandOptions.CONSUMER_TYPE, RABBITMQ_CONSUMER_TYPE);
+ configValues.put(CommandOptions.CONSUMER_TYPE, RABBITMQ_CONSUMER_TYPE);
try {
processConfigFileConfiguration();
// Process the command line arguments after the config file since they override config file values.
@@ -53,15 +53,15 @@ public static void main(String[] args) {
private static void processConfigFileConfiguration() {
try {
AppConfiguration config = new AppConfiguration();
- configValues.put(ConsumerCommandOptions.CONSUMER_TYPE, RABBITMQ_CONSUMER_TYPE);
+ configValues.put(CommandOptions.CONSUMER_TYPE, RABBITMQ_CONSUMER_TYPE);
configValues.put(CommandOptions.INI_FILE, config.getConfigValue(ConfigKeys.G2_INI_FILE));
configValues.put(CommandOptions.NEO4J_CONNECTION, config.getConfigValue(ConfigKeys.NEO4J_URI));
- configValues.put(ConsumerCommandOptions.MQ_HOST, config.getConfigValue(ConfigKeys.RABBITMQ_HOST));
- configValues.put(ConsumerCommandOptions.MQ_QUEUE, config.getConfigValue(ConfigKeys.RABBITMQ_NAME));
- configValues.put(ConsumerCommandOptions.MQ_USER, config.getConfigValue(ConfigKeys.RABBITMQ_USER_NAME));
- configValues.put(ConsumerCommandOptions.MQ_PASSWORD, config.getConfigValue(ConfigKeys.RABBITMQ_PASSWORD));
+ configValues.put(RabbitMQConsumer.MQ_HOST, config.getConfigValue(ConfigKeys.RABBITMQ_HOST));
+ configValues.put(RabbitMQConsumer.MQ_QUEUE, config.getConfigValue(ConfigKeys.RABBITMQ_NAME));
+ configValues.put(RabbitMQConsumer.MQ_USER, config.getConfigValue(ConfigKeys.RABBITMQ_USER_NAME));
+ configValues.put(RabbitMQConsumer.MQ_PASSWORD, config.getConfigValue(ConfigKeys.RABBITMQ_PASSWORD));
// This is a future enhancement and enabled when other consumers have been added.
- //configValues.put(ConsumerCommandOptions.CONSUMER_TYPE, config.getConfigValue(ConfigKeys.CONSUMER_TYPE));
+ //configValues.put(CommandOptions.CONSUMER_TYPE, config.getConfigValue(ConfigKeys.CONSUMER_TYPE));
} catch (IOException e) {
System.out.println("Configuration file not found. Expecting command line arguments.");
}
@@ -82,11 +82,11 @@ private static void processArguments(String[] args) throws ParseException, JSONE
CommandLine commandLine = parser.parse(options, args);
addCommandLineValue(commandLine, CommandOptions.INI_FILE);
- addCommandLineValue(commandLine, ConsumerCommandOptions.MQ_HOST);
- addCommandLineValue(commandLine, ConsumerCommandOptions.MQ_USER);
- addCommandLineValue(commandLine, ConsumerCommandOptions.MQ_PASSWORD);
- addCommandLineValue(commandLine, ConsumerCommandOptions.MQ_QUEUE);
- addCommandLineValue(commandLine, ConsumerCommandOptions.CONSUMER_TYPE);
+ addCommandLineValue(commandLine, RabbitMQConsumer.MQ_HOST);
+ addCommandLineValue(commandLine, RabbitMQConsumer.MQ_USER);
+ addCommandLineValue(commandLine, RabbitMQConsumer.MQ_PASSWORD);
+ addCommandLineValue(commandLine, RabbitMQConsumer.MQ_QUEUE);
+ addCommandLineValue(commandLine, CommandOptions.CONSUMER_TYPE);
addCommandLineValue(commandLine, CommandOptions.NEO4J_CONNECTION);
}
@@ -99,8 +99,8 @@ private static void addCommandLineValue(CommandLine commandLine, String key) {
private static void validateCommandLineParams() {
List unsetParameters = new ArrayList<>();
checkParameter(unsetParameters, CommandOptions.INI_FILE);
- checkParameter(unsetParameters, ConsumerCommandOptions.MQ_HOST);
- checkParameter(unsetParameters, ConsumerCommandOptions.MQ_QUEUE);
+ checkParameter(unsetParameters, RabbitMQConsumer.MQ_HOST);
+ checkParameter(unsetParameters, RabbitMQConsumer.MQ_QUEUE);
if (!unsetParameters.isEmpty()) {
System.out.println("No configuration found for parameters: " + String.join(", ", unsetParameters));
diff --git a/src/main/java/com/senzing/neo4j/connector/service/Neo4jConnectorService.java b/src/main/java/com/senzing/neo4j/connector/service/Neo4jConnectorService.java
index 8a841c5..cec623f 100644
--- a/src/main/java/com/senzing/neo4j/connector/service/Neo4jConnectorService.java
+++ b/src/main/java/com/senzing/neo4j/connector/service/Neo4jConnectorService.java
@@ -13,11 +13,10 @@
import org.json.JSONException;
import org.json.JSONObject;
-import com.senzing.listener.senzing.data.Definitions;
-import com.senzing.listener.senzing.service.ListenerService;
-import com.senzing.listener.senzing.service.exception.ServiceExecutionException;
-import com.senzing.listener.senzing.service.exception.ServiceSetupException;
-import com.senzing.listener.senzing.service.g2.G2Service;
+import com.senzing.listener.service.ListenerService;
+import com.senzing.listener.service.exception.ServiceExecutionException;
+import com.senzing.listener.service.exception.ServiceSetupException;
+import com.senzing.listener.service.g2.G2Service;
import com.senzing.neo4j.connector.cmdline.CommandOptions;
import com.senzing.neo4j.connector.config.AppConfiguration;
import com.senzing.neo4j.connector.config.ConfigKeys;
@@ -166,7 +165,8 @@ public void process(String message) throws ServiceExecutionException {
for (int i = 0; i < entities.size(); i++) {
JsonObject entity = entities.getJsonObject(i);
if (entity != null) {
- Long entityID = entity.getJsonNumber(Definitions.ENTITY_ID_FIELD).longValue();
+ //Long entityID = entity.getJsonNumber(Definitions.ENTITY_ID_FIELD).longValue();
+ Long entityID = entity.getJsonNumber(G2Entity.ENTITY_ID_FIELD).longValue();
processEntity(entityID);
}
}
@@ -195,8 +195,8 @@ public String getStats() {
* Cleans up the service. Closes G2 and graph database connections and frees up resources.
*/
@Override
- public void cleanUp() {
- g2Service.cleanUp();
+ public void destroy() {
+ g2Service.destroy();
graphService.cleanUp();
}
diff --git a/src/main/java/com/senzing/neo4j/connector/service/graph/GraphService.java b/src/main/java/com/senzing/neo4j/connector/service/graph/GraphService.java
index 7872553..516aa94 100644
--- a/src/main/java/com/senzing/neo4j/connector/service/graph/GraphService.java
+++ b/src/main/java/com/senzing/neo4j/connector/service/graph/GraphService.java
@@ -1,6 +1,6 @@
package com.senzing.neo4j.connector.service.graph;
-import com.senzing.listener.senzing.service.exception.ServiceExecutionException;
+import com.senzing.listener.service.exception.ServiceExecutionException;
import com.senzing.neo4j.connector.data.g2.G2Entity;
/**
diff --git a/src/main/java/com/senzing/neo4j/connector/service/graph/GraphServiceFactory.java b/src/main/java/com/senzing/neo4j/connector/service/graph/GraphServiceFactory.java
index c9bee13..de870ac 100644
--- a/src/main/java/com/senzing/neo4j/connector/service/graph/GraphServiceFactory.java
+++ b/src/main/java/com/senzing/neo4j/connector/service/graph/GraphServiceFactory.java
@@ -1,6 +1,6 @@
package com.senzing.neo4j.connector.service.graph;
-import com.senzing.listener.senzing.service.exception.ServiceSetupException;
+import com.senzing.listener.service.exception.ServiceSetupException;
import com.senzing.neo4j.connector.service.graph.neo4j.Neo4jService;
public class GraphServiceFactory {
diff --git a/src/main/java/com/senzing/neo4j/connector/service/graph/neo4j/Neo4jService.java b/src/main/java/com/senzing/neo4j/connector/service/graph/neo4j/Neo4jService.java
index e8e8877..2b347a2 100644
--- a/src/main/java/com/senzing/neo4j/connector/service/graph/neo4j/Neo4jService.java
+++ b/src/main/java/com/senzing/neo4j/connector/service/graph/neo4j/Neo4jService.java
@@ -9,8 +9,8 @@
import org.json.JSONException;
import org.json.JSONObject;
-import com.senzing.listener.senzing.service.exception.ServiceExecutionException;
-import com.senzing.listener.senzing.service.exception.ServiceSetupException;
+import com.senzing.listener.service.exception.ServiceExecutionException;
+import com.senzing.listener.service.exception.ServiceSetupException;
import com.senzing.neo4j.connector.cmdline.CommandOptions;
import com.senzing.neo4j.connector.config.AppConfiguration;
import com.senzing.neo4j.connector.config.ConfigKeys;
diff --git a/src/test/java/com/senzing/neo4j/connector/service/Neo4jConnectorServiceTest.java b/src/test/java/com/senzing/neo4j/connector/service/Neo4jConnectorServiceTest.java
index 59a5807..fc3d688 100644
--- a/src/test/java/com/senzing/neo4j/connector/service/Neo4jConnectorServiceTest.java
+++ b/src/test/java/com/senzing/neo4j/connector/service/Neo4jConnectorServiceTest.java
@@ -8,9 +8,9 @@
import org.junit.Test;
import org.junit.runner.RunWith;
-import com.senzing.listener.senzing.service.exception.ServiceExecutionException;
-import com.senzing.listener.senzing.service.exception.ServiceSetupException;
-import com.senzing.listener.senzing.service.g2.G2Service;
+import com.senzing.listener.service.exception.ServiceExecutionException;
+import com.senzing.listener.service.exception.ServiceSetupException;
+import com.senzing.listener.service.g2.G2Service;
import com.senzing.neo4j.connector.config.AppConfiguration;
import com.senzing.neo4j.connector.config.ConfigKeys;
import com.senzing.neo4j.connector.graphdatabase.neo4j.CypherQuery;
@@ -184,7 +184,7 @@ public String getConfigValue(String configParameter) {
}
@Test
- public void mainServiceWithWrongGraphType() throws com.senzing.listener.senzing.service.exception.ServiceSetupException {
+ public void mainServiceWithWrongGraphType() throws com.senzing.listener.service.exception.ServiceSetupException {
new MockUp() {
@Mock
public String getConfigValue(String configParameter) {
@@ -202,7 +202,7 @@ public String getConfigValue(String configParameter) {
try {
new Neo4jConnectorService().init("{}");;
fail("Should have thrown an exception");
- } catch (com.senzing.listener.senzing.service.exception.ServiceSetupException e) {
+ } catch (com.senzing.listener.service.exception.ServiceSetupException e) {
assertThat(e.getMessage(), is(equalTo("Invalid graph database type specified: titan")));
}
}
diff --git a/src/test/java/com/senzing/neo4j/connector/service/graph/neo4j/Neo4jServiceTest.java b/src/test/java/com/senzing/neo4j/connector/service/graph/neo4j/Neo4jServiceTest.java
index f9254ae..01ed15a 100644
--- a/src/test/java/com/senzing/neo4j/connector/service/graph/neo4j/Neo4jServiceTest.java
+++ b/src/test/java/com/senzing/neo4j/connector/service/graph/neo4j/Neo4jServiceTest.java
@@ -12,8 +12,8 @@
import org.junit.Test;
import org.junit.runner.RunWith;
-import com.senzing.listener.senzing.service.exception.ServiceExecutionException;
-import com.senzing.listener.senzing.service.exception.ServiceSetupException;
+import com.senzing.listener.service.exception.ServiceExecutionException;
+import com.senzing.listener.service.exception.ServiceSetupException;
import com.senzing.neo4j.connector.config.AppConfiguration;
import com.senzing.neo4j.connector.data.g2.G2Entity;
import com.senzing.neo4j.connector.graphdatabase.exception.GraphDatabaseConnectionException;