Skip to content

Commit

Permalink
Merge branch 'main' into dependabot/github_actions/senzing-factory/bu…
Browse files Browse the repository at this point in the history
…ild-resources-2
  • Loading branch information
docktermj committed Jun 28, 2024
2 parents a165f28 + eeba52c commit 553d0cb
Show file tree
Hide file tree
Showing 14 changed files with 210 additions and 101 deletions.
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,39 @@ 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).

## [3.6.1] - 2024-06-25

### Changed in 3.6.1

- In `Dockerfile`, updated FROM instruction to
- `senzing/senzingapi-runtime:3.10.3`
- `senzing/base-image-debian:1.0.24`

## [3.6.0] - 2024-06-24

### Changed in 3.6.0

- Changed entity ID bound type to String to allow `max`
- Changed entity ID bound default value to be conditional on bound type
- Changed relation key to allow `max`, `max:<num>` and `<num>:max`
- Changed relation key bound default value to be conditional on bound type
- Fixed relation query to use `DESC` clause on `ORDER BY` of both entity ID's
- Updated spec to version 3.6.0 in accordance with type changes
- Updated dependencies:
- Updated `senzing-commons` from version `3.2.0` to `3.3.0`
- Updated `senzing-api-server` from version `3.5.10` to `3.5.12`
- Updated `senzing-listener` from version `0.5.7` to `0.5.9`
- Updated `data-mart-replicator` from version `1.1.2` to `1.1.3`
- Updated `jersey-xxxx` dependencies from version `2.41` to `2.43`
- Updated `jackson-xxxx` dependencies from version `2.16.1` to `2.17.1`
- Updated `commons-csv` from version `1.10.0` to `1.11.0`
- Updated `icu4j` from version `74.2` to `75.1`
- Updated Amazon `sqs` from version `2.24.12` to `2.26.4`
- Updated `amqp-client` from version `5.20.0` to `5.21.0`
- Updated `maven-surefire-plugin` from version `3.2.5` to `3.3.0`
- Updated `maven-compiler-plugin` from version `3.12.1` to `3.13.0`
- Updated `maven-shade-plugin` from version `3.5.2` to `3.6.0`

## [3.5.6] - 2024-05-22

### Changed in 3.5.6
Expand All @@ -21,6 +54,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Removed redundant endpoints from OpenAPI specification that were never implemented
- Fixed SQL syntax error for relations page retrieval

## [3.5.4] - 2024-03-21

### Changed in 3.5.4

- Updated `senzing-listener` dependency to version `0.5.7` and `data-mart-replicator`
Expand Down
14 changes: 9 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
ARG BASE_IMAGE=senzing/senzingapi-runtime:3.10.1
ARG BASE_BUILDER_IMAGE=senzing/base-image-debian:1.0.23
ARG BASE_IMAGE=senzing/senzingapi-runtime:3.10.3
ARG BASE_BUILDER_IMAGE=senzing/base-image-debian:1.0.24

# -----------------------------------------------------------------------------
# Stage: builder
# -----------------------------------------------------------------------------

FROM ${BASE_BUILDER_IMAGE} as builder

ENV REFRESHED_AT=2024-05-22
ENV REFRESHED_AT=2024-06-24

# Run as "root" for system installation.

USER root

# Set environment variables.

Expand Down Expand Up @@ -43,11 +47,11 @@ RUN export POC_API_SERVER_VERSION=$(mvn "help:evaluate" -Dexpression=project.ver

FROM ${BASE_IMAGE}

ENV REFRESHED_AT=2024-05-22
ENV REFRESHED_AT=2024-06-24

LABEL Name="senzing/senzing-poc-server" \
Maintainer="support@senzing.com" \
Version="3.5.6"
Version="3.6.1"

HEALTHCHECK CMD ["/app/healthcheck.sh"]

Expand Down
50 changes: 25 additions & 25 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,29 @@
<groupId>com.senzing</groupId>
<artifactId>senzing-poc-server</artifactId>
<packaging>jar</packaging>
<version>3.5.6</version>
<version>3.6.0</version>
<name>senzing-poc-server</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>com.senzing</groupId>
<artifactId>senzing-commons</artifactId>
<version>[3.2.0, 3.999.999]</version>
<version>[3.3.0, 3.999.999]</version>
</dependency>
<dependency>
<groupId>com.senzing</groupId>
<artifactId>senzing-api-server</artifactId>
<version>[3.5.10, 3.999.999]</version>
<version>[3.5.12, 3.999.999]</version>
</dependency>
<dependency>
<groupId>com.senzing</groupId>
<artifactId>senzing-listener</artifactId>
<version>0.5.7</version>
<version>0.5.9</version>
</dependency>
<dependency>
<groupId>com.senzing</groupId>
<artifactId>data-mart-replicator</artifactId>
<version>1.1.2</version>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
Expand Down Expand Up @@ -87,27 +87,27 @@
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.41</version>
<version>2.43</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.41</version>
<version>2.43</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-sse</artifactId>
<version>2.41</version>
<version>2.43</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.41</version>
<version>2.43</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-jetty-http</artifactId>
<version>2.41</version>
<version>2.43</version>
<exclusions>
<exclusion>
<groupId>org.eclipse.jetty</groupId>
Expand All @@ -118,37 +118,37 @@
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.41</version>
<version>2.43</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>2.41</version>
<version>2.43</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>2.41</version>
<version>2.43</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.16.1</version>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.16.1</version>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.16.1</version>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.16.1</version>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
Expand All @@ -159,7 +159,7 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.10.0</version>
<version>1.11.0</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
Expand All @@ -174,7 +174,7 @@
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>74.2</version>
<version>75.1</version>
</dependency>
<dependency>
<groupId>org.ini4j</groupId>
Expand All @@ -184,12 +184,12 @@
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>sqs</artifactId>
<version>2.24.12</version>
<version>2.26.4</version>
</dependency>
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.20.0</version>
<version>5.21.0</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
Expand All @@ -199,7 +199,7 @@
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-joda</artifactId>
<version>2.16.1</version>
<version>2.17.1</version>
</dependency>

<!-- add dependencies that were present in JDK 8, but optional in JDK 11 -->
Expand Down Expand Up @@ -310,7 +310,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.2.5</version>
<version>3.3.0</version>
<configuration>
<jvm>${project.build.directory}/java-wrapper/bin/java-wrapper.bat</jvm>
<systemPropertyVariables>
Expand All @@ -330,7 +330,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.12.1</version>
<version>3.13.0</version>
<configuration>
<compilerArgs>
<arg>-Xlint:unchecked</arg>
Expand Down Expand Up @@ -364,7 +364,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.5.2</version>
<version>3.6.0</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<filters>
Expand Down
2 changes: 1 addition & 1 deletion senzing-api-server
Submodule senzing-api-server updated 45 files
+2 −0 .github/linters/.checkov.yaml
+3 −0 .github/linters/.jscpd.json
+4 −3 .github/workflows/add-labels-standardized.yaml
+4 −1 .github/workflows/add-to-project-app-server-dependabot.yaml
+10 −9 .github/workflows/add-to-project-app-server.yaml
+3 −0 .github/workflows/docker-build-container.yaml
+3 −0 .github/workflows/docker-push-containers-to-dockerhub.yaml
+1 −1 .github/workflows/lint-workflows.yaml
+4 −1 .github/workflows/move-pr-to-done-dependabot.yaml
+26 −0 CHANGELOG.md
+21 −25 Dockerfile
+24 −24 pom.xml
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/AdminServicesTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/AutoReinitializeTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/BulkDataServicesReadOnlyTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/BulkDataServicesTest-cache.zip
+ ...est/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/ConfigServicesExplicitConfigIdTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/ConfigServicesNoAdminTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/ConfigServicesReadOnlyTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/ConfigServicesReadTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/ConfigServicesWriteTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/EntityDataReadServicesTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/EntityDataWriteServicesTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/EntityGraphServicesTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/ExplicitConfigIdTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/HowRelatedServicesTest-cache.zip
+ ...est/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/ReadOnlyEntityDataReadServicesTest-cache.zip
+ ...st/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/ReadOnlyEntityDataWriteServicesTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.10.3/WhyServicesTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/AdminServicesTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/AutoReinitializeTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/BulkDataServicesReadOnlyTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/BulkDataServicesTest-cache.zip
+ ...test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/ConfigServicesExplicitConfigIdTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/ConfigServicesNoAdminTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/ConfigServicesReadOnlyTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/ConfigServicesReadTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/ConfigServicesWriteTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/EntityDataReadServicesTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/EntityDataWriteServicesTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/EntityGraphServicesTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/ExplicitConfigIdTest-cache.zip
+ src/test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/HowRelatedServicesTest-cache.zip
+ ...test/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/ReadOnlyEntityDataReadServicesTest-cache.zip
+ ...est/resources/com/senzing/nativeapi/replay/cache/cache-v3.7.0/ReadOnlyEntityDataWriteServicesTest-cache.zip
55 changes: 34 additions & 21 deletions senzing-poc-rest-api.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
openapi: 3.0.1
info:
title: Senzing POC REST API
version: "3.5.2"
version: "3.6.0"
description: >-
This is the Senzing POC REST API. This API is <b>NOT</b> maintained for
backwards compatibility. This API extends the
Expand Down Expand Up @@ -5452,33 +5452,42 @@ components:
required: false
description: >-
The optional parameter to provide for "paging" through entity ID's
associated with a statistic. The value is specified as bound on the
entity ID values returned. The type of bound is given by the
`boundType` parameter. For example, by default the `boundType` is
`EXCLUSIVE_LOWER` so the returned entity ID values must satisfy the
condition that they are strictly greater than the entity ID bound value.
To move to the "next page" of entity ID's specify the greatest entity ID
value from the current page and use `boundType` of `EXCLUSIVE_LOWER`.
To move to the "previous page" of entity ID's specify the least entity ID
value on the current page and use `boundType` of `EXCLUSIVE_UPPER`. To
change the number of results shown on the current page specify the least
entity ID value on the current page and specify a `boundType` of
`INCLUSIVE_LOWER` with a new `pageSize` value.
associated with a statistic. The value is specified as a bound on the
entity ID values returned and is given as a positive integer number
or `max` to indicate the maximum legal value of an entity ID. The
type of bound is given by the `boundType` parameter. For example, by
default the `boundType` is `EXCLUSIVE_LOWER` so the returned entity ID
values must satisfy the condition that they are strictly greater than
the entity ID bound value. To move to the "next page" of entity ID's
specify the greatest entity ID value from the current page and use
`boundType` of `EXCLUSIVE_LOWER`. To move to the "previous page" of
entity ID's specify the least entity ID value on the current page and
use `boundType` of `EXCLUSIVE_UPPER`. To change the number of results
shown on the current page specify the least entity ID value on the
current page and specify a `boundType` of `INCLUSIVE_LOWER` with a new
`pageSize` value.
If not specified, then the default value is taken as `0` if a
`boundType` of `INCLUSIVE_LOWER` or `EXCLUSIVE_LOWER` is being used,
otherwise for a `boundType` of `INCLUSIVE_UPPER` or `EXCLUSIVE_UPPER`
it defaults to `max` (indicating the maximum legal value of an
entity ID).
schema:
type: integer
format: int64
default: 0
type: string
relationBoundQueryParam:
in: query
name: bound
required: false
description: >-
The optional parameter to provide for "paging" through relationships
associated with a statistic. The value is specified as bound on the
associated with a statistic. The value is specified as a bound on the
entity ID's in the `SzRelation` values returned and contains two
entity ID values separated by a colon (e.g.: `1000:5500`). The type
of bound is given by the `boundType` parameter. For example, by default
the `boundType` is `EXCLUSIVE_LOWER` so the returned `SzRelation` values
entity ID values separated by a colon (e.g.: `1000:5500`). Either of
the entity ID's can be specified as `max` to indicate the maximum legal
value of an entity ID (e.g.: `max:max` or `1000:max`). If `max` is
specified by itself it is interpretted as `max:max`. The type of bound
is given by the `boundType` parameter. For example, by default the
`boundType` is `EXCLUSIVE_LOWER` so the returned `SzRelation` values
must be canonically greater than the relationship described by the
entity ID values encoded in the bound. `SzRelation` values are ordered
on the first entity ID value and then on the second related entity ID
Expand All @@ -5491,9 +5500,13 @@ components:
results shown on the current page specify the encoded value of the entity
ID and related ID of the least (first) `SzRelation` on the current page
and specify a `boundType` of `INCLUSIVE_LOWER` with a new `pageSize` value.
If not specified, then the default value is taken as `0:0` if a `boundType`
of `INCLUSIVE_LOWER` or `EXCLUSIVE_LOWER` is being used, otherwise for a
`boundType` of `INCLUSIVE_UPPER` or `EXCLUSIVE_UPPER` it defaults to
`max:max` (indicating the maximum legal value for each of the entity ID's).
schema:
type: string
default: 0:0
boundTypeQueryParam:
in: query
name: boundType
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/senzing/poc/model/SzBoundType.java
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ public boolean isUpper() {
* @throws NullPointerException If either of the specified values is
* <code>null</code>.
*/
public boolean checkSatisfies(Comparable value, Comparable boundValue)
public <T extends Comparable<T>> boolean checkSatisfies(T value, T boundValue)
throws NullPointerException
{
Objects.requireNonNull(value, "The specified value cannot be null");
Expand Down
12 changes: 8 additions & 4 deletions src/main/java/com/senzing/poc/model/SzEntitiesPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,25 @@
public interface SzEntitiesPage {
/**
* Gets the entity ID bound value that bounds the included
* entity ID's.
* entity ID's. This will return an integer {@link String}
* or <code>"max"</code> to indicate the maximum legal value
* for an entity ID.
*
* @return The entity ID bound value that bounds the included
* entity ID's.
*/
long getBound();
String getBound();

/**
* Sets the entity ID bound value that bounds the included
* entity ID's.
* entity ID's. Set to an integer {@link String} or
* <code>"max"</code> to indicate the maximum legal value
* for an entity ID.
*
* @param bound The entity ID bound value that bounds the
* included entity ID's.
*/
void setBound(long bound);
void setBound(String bound);

/**
* Gets the {@link SzBoundType} that describes how the associated
Expand Down
Loading

0 comments on commit 553d0cb

Please sign in to comment.