Skip to content

Dev#1195

Merged
GregJohnStewart merged 6 commits into
mainfrom
development
Apr 13, 2026
Merged

Dev#1195
GregJohnStewart merged 6 commits into
mainfrom
development

Conversation

@GregJohnStewart
Copy link
Copy Markdown
Contributor

@GregJohnStewart GregJohnStewart commented Apr 12, 2026

…king to be able to talk to kafka

Checklist:

  • Tested

Summary by CodeRabbit

  • Chores

    • Updated version to 4.4.5-SNAPSHOT.
    • Rebranded references from "Base Station" to "Core API" across installers, service files, and docs.
  • Documentation

    • Expanded Javadoc and docs for clarity (utilities, services, build/deploy instructions).
    • Updated installer/config comment references.
  • Refactor

    • Reorganized internal packages and removed unused utility/service classes.
  • Tests

    • Added tests for color serialization utilities.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 12, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: d485c90f-06c9-41e6-bd3a-8d2e776b7526

📥 Commits

Reviewing files that changed from the base of the PR and between 2586b74 and b9cbcd8.

📒 Files selected for processing (2)
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/jackson/ColorModule.java
  • software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/model/jackson/ColorModuleTest.java

📝 Walkthrough

Walkthrough

Avast: project version bumped to 4.4.5-SNAPSHOT, docs and comments rebranded from “Base Station” to “Core API”, several dead/placeholder files removed or relocated, public utility methods/classes deleted, Javadoc added across many classes, tests adjusted, and devservice/container networking and port handling for Quarkus/Mongo/Keycloak/Kafka reworked.

Changes

Cohort / File(s) Summary
Project metadata & installers
software/core/oqm-core-api/build.gradle, software/core/oqm-core-api/installerSrc/core-api-config.list, software/core/oqm-core-api/installerSrc/oqm-core-api.service, software/core/oqm-core-api/makeInstallers.sh
Version bumped to 4.4.5-SNAPSHOT; installer comments/config paths rebranded to "Core API"; no executable behavior changed.
Documentation & branding
software/core/oqm-core-api/docs/...
software/core/oqm-core-api/src/main/java/.../CoreApiInteractingEntity.java, .../ImageCreateRequest.java, .../IMAGED_OBJ_TYPE_NAME.java, .../DatabaseExportService.java, .../interfaces/endpoints/info/Test.java
Titles, headings, and Javadocs updated to reference "Core API" instead of "Base Station"; minor comment/path text updates.
Removed/placeholder files
software/core/oqm-core-api/src/main/java/.../ReflectionConfiguration.java, .../InheritenceOpenapiFilter.java, .../service/serviceState/ServiceStateService.java, .../utils/ExternalAuthUtilService.java
Deleted commented-out or empty placeholder classes; no active logic removed.
Deleted public utilities
software/core/oqm-core-api/src/main/java/.../ObjectUtils.java, .../quantities/QuantitiesUtils.java, .../utils/TimeUtils.java
Removed public helper method fieldListFromJson, deleted QuantitiesUtils (isLowStock), and removed TimeUtils.currentTimeInSecs().
Package reorganization & messaging wrapper
software/core/oqm-core-api/src/main/java/.../model/messaging/EventNotificationWrapper.java, software/core/oqm-core-api/src/main/java/.../service/serviceState/InstanceMutexService.java
Moved EventNotificationWrapper package; moved InstanceMutexService package; related imports/tests updated.
Javadoc additions & small doc edits
software/core/oqm-core-api/src/main/java/.../IndexUi.java, .../ColorModule.java, .../ExpiryProcessor.java, .../TempFileService.java, .../identifiers/IdentifierBarcodeService.java, .../identifiers/IdentifierUtils.java, .../utils/JacksonModuleCustomizer.java
Added/expanded Javadoc for classes and public methods; no logic changes.
Notification services & message types
software/core/oqm-core-api/src/main/java/.../service/notification/HistoryEventNotificationService.java, .../OutgoingNotificationService.java
Updated imports and types to use EventNotificationWrapper from new package; adjusted Javadocs; removed unused imports.
Tests updated / new tests
software/core/oqm-core-api/src/test/java/.../ColorModuleTest.java, .../AppliedTransactionServiceTest.java, .../MongoHistoriedObjectServiceTest.java, .../InstanceMutexServiceTest.java
Added ColorModuleTest; updated imports and package declarations to match source relocations; removed unused imports.
Devservice & container rework
software/libs/core-api-lib-quarkus/deployment/src/main/java/.../CoreApiLibQuarkusProcessor.java, .../testContainers/OqmCoreApiWebServiceContainer.java
Switched devservice hostnames to localhost, introduced HOST constant, disabled Testcontainers network aliases and network chaining, changed Mongo port mapping to use recorded mapped port, set WebService container to host network mode and set QUARKUS_HTTP_PORT; adjusted Keycloak URL construction.
Library docs
software/libs/core-api-lib-quarkus/README.md
Added "Tips n Tricks" with Docker/Redpanda Console note.

Sequence Diagram(s)

sequenceDiagram
    participant Processor as CoreApiLibQuarkusProcessor
    participant Mongo as MongoDB DevContainer
    participant Web as OqmCoreApiWebServiceContainer
    participant Keycloak as Keycloak DevContainer
    participant Kafka as Kafka DevContainer

    rect rgba(0,128,0,0.5)
    Processor->>Mongo: start container (Network.SHARED, record mapped port)
    Mongo-->>Processor: return mapped port
    end

    rect rgba(0,0,255,0.5)
    Processor->>Keycloak: start container (HOST=localhost)
    Processor->>Kafka: start container (HOST=localhost)
    end

    rect rgba(128,0,128,0.5)
    Processor->>Web: start web container with HostConfig networkMode=host, env QUARKUS_HTTP_PORT=devPort
    Web->>Processor: web bound on QUARKUS_HTTP_PORT
    end

    Note over Processor,Mongo: Processor populates quarkus.mongodb.connection-string using Mongo hostname + mapped port
    Note over Processor,Keycloak: JWT verification URL built using KEYCLOAK_DEVSERVICE_HOSTNAME (localhost)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • Dev #1195: Appears to contain the same code-level changes (version bump, package moves, devservice networking edits) — likely the closest twin.
  • Development #1168: Touches Quarkus devservice/container classes (CoreApiLibQuarkusProcessor & OqmCoreApiWebServiceContainer) — related to container/networking changes.
  • Development #1191: Version bump in build.gradle — directly related to the project.version update.

Poem

⚓ Ho there, me hearties, the mainsail’s trimmed right—

Docs relabelled, dead wood scuttled out o’ sight,
Ports mapped true, containers snug to the host,
Version hoisted, tests sorted from stem to post,
Core API be shipshape — now steady on, and sail on!

🚥 Pre-merge checks | ❌ 3

❌ Failed checks (2 warnings, 1 inconclusive)

Check name Status Explanation Resolution
Description check ⚠️ Warning The pull request description is largely incomplete and vague; it lacks structured information about the changes, testing status, and only hints at Kafka communication with no technical details. Provide a complete description following the template: explain the main changes (devcontainer networking rework), justify why they are needed, document what was tested, and clarify the scope of ancillary changes (base station references, version bump, etc.).
Docstring Coverage ⚠️ Warning Docstring coverage is 48.39% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The pull request title 'Dev' is vague and generic, failing to convey any meaningful information about the changeset's primary purpose. Rename the title to clearly describe the main objective, such as 'Rework devcontainer networking to enable Kafka communication' or 'Enable Core API Kafka connectivity via devservice network updates'.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch development

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@GregJohnStewart GregJohnStewart changed the title Lib - Core API for Quarkus - re-figuring core api devcontainer networ… Dev Apr 12, 2026
@GregJohnStewart GregJohnStewart marked this pull request as ready for review April 13, 2026 01:47
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
software/core/oqm-core-api/docs/development/BuildingAndDeployment.adoc (1)

100-101: ⚠️ Potential issue | 🟡 Minor

Old cargo still aboard, cap'n!

These lines still be referencin' the old core-base+station path, which contradicts the "Base Station" to "Core API" renamin' effort throughout this voyage. The actual path structure be /etc/oqm/serviceConfig/core/api/files/ as confirmed by the systemd service and installer scripts.

📝 Proposed fix to update remaining Base Station references
 | service.runBy.logo
 |
-| /etc/oqm/serviceConfig/core-base+station/files/logo.png
-| A logo to show representing your group. When deployed using link:../../Station-Captain[Station Captain], location on host system to put files to sync to the server is: `/etc/oqm/serviceConfig/core-base+station/files/`
+| /etc/oqm/serviceConfig/core/api/files/logo.png
+| A logo to show representing your group. When deployed using link:../../Station-Captain[Station Captain], location on host system to put files to sync to the server is: `/etc/oqm/serviceConfig/core/api/files/`
software/libs/core-api-lib-quarkus/deployment/src/main/java/tech/ebp/oqm/lib/core/api/quarkus/deployment/testContainers/OqmCoreApiWebServiceContainer.java (1)

52-54: ⚠️ Potential issue | 🟠 Major

Avast, matey! Yer wait strategies be walkin' the plank!

Callin' waitingFor() multiple times don't bind 'em together—each call be tossin' the previous one overboard! Only the last call (Wait.forLogMessage(...)) will actually set sail, leavin' yer healthcheck check in Davy Jones' locker.

If ye need both strategies workin' the sails together, ye must use WaitAllStrategy:

⚓ Proper way to combine wait strategies
-		this.waitingFor(Wait.forHealthcheck());
-		this.waitingFor(Wait.forLogMessage(".*oqm-core-api .* started.*", 1));
+		this.waitingFor(
+			new WaitAllStrategy()
+				.withStrategy(Wait.forHealthcheck())
+				.withStrategy(Wait.forLogMessage(".*oqm-core-api .* started.*", 1))
+		);
🧹 Nitpick comments (9)
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/interfaces/ui/IndexUi.java (1)

34-36: Avast! There be an old TODO lurkin' in these waters, sailor.

Ye've got a TODO comment here wonderin' whether to bring aboard this SmallRye health reporter. Since this code be commented out and adrift, it might be time to either hoist it into service or toss it overboard to keep the deck tidy.

Would ye like me to open a new issue to track whether this health reporter should be integrated, or shall we cast it to Davy Jones' locker?

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/notification/OutgoingNotificationService.java (1)

27-33: Minor clarity trim: call this a message, not just a wrapper.

Line 28 and Line 29 describe a wrapper, but Line 32 accepts a Message<EventNotificationWrapper>. Tightening names/docs will avoid confusion.

⚓ Optional clarity patch
 	/**
-	 * Sends the given notification wrapper to the outgoing event channel.
-	 * `@param` notificationWrapper The notification wrapper to send.
+	 * Sends the given notification message to the outgoing event channel.
+	 * `@param` notificationMessage message containing the wrapper and metadata.
 	 */
 	public void sendEvent(
-		Message<EventNotificationWrapper> notificationWrapper
+		Message<EventNotificationWrapper> notificationMessage
 	) {
 		this.outgoingEventEmitter.send(
-			notificationWrapper
+			notificationMessage
 		);
 	}
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/TempFileService.java (1)

102-109: Good work documentin' this file-creatin' method, matey!

The Javadoc be accurate and describes the behavior well. The mention of deleteOnExit() be helpful for the crew.

Optional improvement fer the ship's log: Consider mentionin' that deleteOnExit() only scrubs files on normal JVM shutdown - if the ship goes down sudden-like (crash or kill), the files remain adrift. Also, registerin' too many files can weigh down the memory hold.

software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/model/jackson/ColorModuleTest.java (2)

22-22: Cast off commented-out test data and use an explicit negative test instead.

The commented case on Line 22 is dead weight; better to add a separate assertion for invalid shorthand input.


42-42: Marked TODO be worthwhile — JSON round-trip tests would strengthen this suite.

If ye want, I can draft the serializer/deserializer round-trip cases for this module next.

software/libs/core-api-lib-quarkus/deployment/src/main/java/tech/ebp/oqm/lib/core/api/quarkus/deployment/CoreApiLibQuarkusProcessor.java (3)

40-43: Ahoy! These here constants be pointin' to the same port o' call, matey.

All four hostname constants be set to the same value "localhost". While I reckon this be intentional fer now, consider consolidatin' these into a single constant to keep the ship's manifest tidy. If they be divergin' in the future, a comment explainin' the intent would help the next sailor who boards this vessel.

🧹 Suggested simplification
-	private static final String MONGODB_DEVSERVICE_HOSTNAME = "localhost";
-	private static final String HOST = "localhost";
-	private static final String KEYCLOAK_DEVSERVICE_HOSTNAME = HOST;
-	private static final String KAFKA_DEVSERVICE_HOSTNAME = HOST;
+	/**
+	 * Hostname for all devservices when using host networking mode.
+	 * All services are accessed via localhost since containers run with --network=host.
+	 */
+	private static final String DEVSERVICE_HOSTNAME = "localhost";

75-75: Dead cargo below decks, cap'n!

This commented-out network alias be danglin' here without explanation. If ye've scuttled this line permanently due to the host networking approach, best to haul it overboard entirely. If it be needed fer future voyages, add a note explainin' why it be kept in reserve.


90-92: More barnacles to scrape off the hull, I say.

These commented-out lines fer withAccessToHost(true) and withNetwork(Network.SHARED) be redundant now that ye've switched to host networking mode in OqmCoreApiWebServiceContainer. Either remove 'em or add a brief comment explainin' they be kept fer reference should ye need to revert course.

software/libs/core-api-lib-quarkus/deployment/src/main/java/tech/ebp/oqm/lib/core/api/quarkus/deployment/testContainers/OqmCoreApiWebServiceContainer.java (1)

39-45: Chartin' a new course with host networking, I see!

The switch to networkMode("host") be a bold maneuver that lets the container reach services on the host's localhost directly. This aligns well with the changes in CoreApiLibQuarkusProcessor.java where hostnames be set to localhost.

However, them commented-out lines be cluttering the deck. If ye've truly abandoned the old port-mapping approach, heave 'em overboard. Otherwise, add a note fer future sailors explainin' why they be kept.


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 6fa3bd8e-d08e-4765-a6a2-7ab2816d5c9f

📥 Commits

Reviewing files that changed from the base of the PR and between 2503781 and 2586b74.

📒 Files selected for processing (41)
  • software/core/oqm-core-api/build.gradle
  • software/core/oqm-core-api/docs/DataModel.md
  • software/core/oqm-core-api/docs/Features.adoc
  • software/core/oqm-core-api/docs/README.md
  • software/core/oqm-core-api/docs/development/BuildingAndDeployment.adoc
  • software/core/oqm-core-api/installerSrc/core-api-config.list
  • software/core/oqm-core-api/installerSrc/oqm-core-api.service
  • software/core/oqm-core-api/makeInstallers.sh
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/config/CoreApiInteractingEntity.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/config/ReflectionConfiguration.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/filters/InheritenceOpenapiFilter.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/interfaces/endpoints/info/Test.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/interfaces/ui/IndexUi.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/jackson/ColorModule.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/jackson/MongoObjectIdModule.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/messaging/EventNotificationWrapper.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/object/ObjectUtils.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/quantities/QuantitiesUtils.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/rest/media/ImageCreateRequest.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/rest/storage/IMAGED_OBJ_TYPE_NAME.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/scheduled/ExpiryProcessor.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/scheduled/LifecycleBean.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/TempFileService.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/identifiers/IdentifierBarcodeService.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/identifiers/IdentifierUtils.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/importExport/exporting/DatabaseExportService.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/mongo/InteractingEntityService.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/notification/HistoryEventNotificationService.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/notification/OutgoingNotificationService.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/serviceState/InstanceMutexService.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/serviceState/ServiceStateService.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/utils/ExternalAuthUtilService.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/utils/JacksonModuleCustomizer.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/utils/TimeUtils.java
  • software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/model/jackson/ColorModuleTest.java
  • software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/service/mongo/AppliedTransactionServiceTest.java
  • software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/service/mongo/MongoHistoriedObjectServiceTest.java
  • software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/service/serviceState/InstanceMutexServiceTest.java
  • software/libs/core-api-lib-quarkus/README.md
  • software/libs/core-api-lib-quarkus/deployment/src/main/java/tech/ebp/oqm/lib/core/api/quarkus/deployment/CoreApiLibQuarkusProcessor.java
  • software/libs/core-api-lib-quarkus/deployment/src/main/java/tech/ebp/oqm/lib/core/api/quarkus/deployment/testContainers/OqmCoreApiWebServiceContainer.java
💤 Files with no reviewable changes (9)
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/jackson/MongoObjectIdModule.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/filters/InheritenceOpenapiFilter.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/scheduled/LifecycleBean.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/config/ReflectionConfiguration.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/serviceState/ServiceStateService.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/utils/TimeUtils.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/utils/ExternalAuthUtilService.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/quantities/QuantitiesUtils.java
  • software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/object/ObjectUtils.java
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: CI-Pipeline / Integration Tests
  • GitHub Check: CI-Pipeline / Unit Tests
🔇 Additional comments (39)
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/config/CoreApiInteractingEntity.java (1)

25-27: Aye, this be a clean and proper terminology fix.

Line 26 now names the entity as “Core API,” which matches the current intent and keeps the ship’s docs in order without touchin’ behavior.

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/importExport/exporting/DatabaseExportService.java (1)

59-59: Aye, this rebrand be shipshape and correct.

Line 59 cleanly updates the GZIP metadata comment to “Core API,” and it stays aligned with how the archive comment be set in archiveFile.

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/identifiers/IdentifierBarcodeService.java (3)

76-86: Shipshape Javadoc on label rendering behavior.

Good clarity here, matey—Line 79 through Line 85 now explains optional labeling and output expectations cleanly, and it matches current behavior in processBarcodeData.


164-171: Aye, this method contract reads clear and true.

Line 167 through Line 170 documents inputs and SVG output plainly; this improves maintainability without changing course in logic.


254-260: Good seamanship on overload documentation.

Line 255 through Line 259 now states the delegation intent and fields used from Identifier clearly; tidy and useful for future hands on deck.

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/rest/media/ImageCreateRequest.java (1)

18-18: Aye, the ship's logs be properly updated, matey!

The rebranding from "Base Station service" to "Core API service" be clear as a calm sea, and this here documentation be properly aligned with the rest of the fleet's renaming efforts. The Javadoc now accurately reflects what cargo this request be carryin'.

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/serviceState/InstanceMutexService.java (2)

1-1: Aye, this package relocation be shipshape.

The new namespace matches the file’s berth and keeps the service-state grouping tidy.


18-18: Good catch adding the base-class import, matey.

Bringing in TopLevelMongoService explicitly is the right fix after moving out of the mongo package.

software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/service/serviceState/InstanceMutexServiceTest.java (1)

1-1: Aye, test package update be aligned proper.

This keeps the test class in the same waters as InstanceMutexService after the move.

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/scheduled/ExpiryProcessor.java (1)

11-22: Fine documentation pass, captain—clear and useful.

These Javadocs now explain purpose, schedule control, and flow in a way that matches the current implementation.

Also applies to: 34-40

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/mongo/InteractingEntityService.java (2)

20-20: Aye, this import be a proper rigging fix.

It keeps the InstanceMutexService reference resolved cleanly after the namespace move.


60-60: Terminology cleanup be on course.

Switching to “Core API entity” is consistent and clearer across the deck.

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/interfaces/ui/IndexUi.java (1)

21-23: Aye, fine documentation ye've added there, matey!

This here Javadoc be clear as the mornin' sea, properly explainin' what this endpoint be doin' - servin' up a simple splash page to point folks toward the Swagger charts. Well done keepin' the ship's manifest in order!

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/rest/storage/IMAGED_OBJ_TYPE_NAME.java (1)

4-4: Hoist the flag, but mind ye there be a leak below deck!

Aye, the documentation in this vessel be properly updated from "base station server" to "Core API server" — shipshape and true it be. However, the searchlights have revealed a stray reference lurkin' in the hold that didn't get updated, savvy?

The parallel file software/libs/open-qm-core/src/main/java/tech/ebp/oqm/lib/core/rest/storage/IMAGED_OBJ_TYPE_NAME.java still bears the old documentation: "Used to specify which type of imaged object to get in the base station server." This needs bringin' in line with its sister file, or the rebranding be incomplete and the crew will be confused about which direction we be sailin'.

Parallel file needing update
software/libs/open-qm-core/src/main/java/tech/ebp/oqm/lib/core/rest/storage/IMAGED_OBJ_TYPE_NAME.java:
 * Used to specify which type of imaged object to get in the base station server.
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/messaging/EventNotificationWrapper.java (1)

1-1: Aye, this package relocation be shipshape.

Line 1 cleanly places EventNotificationWrapper under the messaging model namespace, and it matches the updated usages.

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/notification/HistoryEventNotificationService.java (1)

17-17: Aye, import alignment looks tight.

Line 17 correctly points to the relocated EventNotificationWrapper type.

software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/service/mongo/AppliedTransactionServiceTest.java (1)

56-56: This test import be properly rerouted.

Line 56 now references the new messaging package, keeping the test in step with the move.

software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/service/mongo/MongoHistoriedObjectServiceTest.java (1)

14-14: Aye, this import change be correct.

Line 14 is aligned with the wrapper’s new package home.

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/notification/OutgoingNotificationService.java (1)

10-10: Aye, relocation and class docs be in good order.

Line 10 and the class comment updates are consistent with the service’s intent.

Also applies to: 13-16

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/identifiers/IdentifierUtils.java (2)

20-25: Fine chartin’ o’ the utility’s purpose and flow.

Arrr, this be clear Javadoc work: supported formats and detection order are laid out cleanly, which makes this helper easier to navigate fer the crew.

Also applies to: 29-40


171-176: Good and honest note on generic ID validation.

Aye, this Javadoc matches the implementation (!id.isBlank()) and keeps expectations shipshape.

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/TempFileService.java (4)

20-38: Fine documentation ye've added to the ship's manifest, sailor!

This class-level Javadoc be clear as the Caribbean waters, properly documentin' the service's purpose and main methods. The crew will know exactly what provisions this service be offerin'!


48-55: Aye, this directory validation documentation be shipshape!

Ye've properly documented the checkDir method's duties - checkin' if the hold exists, creatin' it if need be, and verifying it be fit for stowin' cargo. The exception conditions be clearly marked for when things go awry.


122-132: Excellent work charterin' this filename format, sailor!

Ye've documented the namin' convention clear as day - prefix_MM-dd-yyyy_kk-mm_rrr.extension - so any seafarer usin' this method will know exactly what treasures they'll find. The timestamp and random digits keep files from collidin' like ships in the fog!


147-156: A fine piece o' documentation fer directory creation, aye!

The directory namin' scheme be well-documented, followin' the same time-stamped pattern as the file method. Any sailor needin' a temporary hold will know exactly what they're gettin' and how it be named!

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/jackson/ColorModule.java (1)

22-27: Fair winds on these docs — clear and useful API intent.

The added JavaDoc around conversion helpers and serializer behavior makes the module easier to use and test.

Also applies to: 56-58

software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/utils/JacksonModuleCustomizer.java (1)

9-11: Aye, this class JavaDoc is shipshape.

Concise description and it matches what customize actually does.

software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/model/jackson/ColorModuleTest.java (1)

18-40: Good seamanship here: parameterized tests cover both conversion directions.

Nice, focused checks for toColor and toHexString using shared arguments.

software/libs/core-api-lib-quarkus/deployment/src/main/java/tech/ebp/oqm/lib/core/api/quarkus/deployment/CoreApiLibQuarkusProcessor.java (1)

123-140: Aye, this be sound navigation!

The new approach of storin' the mapped port in the devservice config and then retrievin' it fer the connection string be proper seamanship. This ensures the MongoDB connection uses the actual dynamically-assigned port rather than assumin' a fixed berth.

software/libs/core-api-lib-quarkus/deployment/src/main/java/tech/ebp/oqm/lib/core/api/quarkus/deployment/testContainers/OqmCoreApiWebServiceContainer.java (1)

72-74: A fine method fer retrievin' the port, matey.

With host networking mode, the port be whatever Quarkus binds to (set via QUARKUS_HTTP_PORT), so returnin' it from the config be the right approach.

software/libs/core-api-lib-quarkus/README.md (1)

60-62: A helpful chart fer fellow sailors navigatin' Kafka waters!

This tip be useful fer developers wantin' to inspect the Kafka messages. The --network=host approach matches the new container networking strategy in the codebase.

One small note: the Kafka port 9192 should match what's configured in the devservices example above (line 37), which it does. Consider addin' a brief note that the port should match yer Kafka devservice configuration.

software/core/oqm-core-api/docs/development/BuildingAndDeployment.adoc (1)

16-16: The rebranding be lookin' shipshape here!

Good work updatin' the terminology from "Base Station" to "Core API" in this section.

software/core/oqm-core-api/docs/Features.adoc (1)

1-1: Aye, the ship's name be properly painted on the bow!

Title update aligns with the broader "Base Station" to "Core API" renamin' across the fleet.

software/core/oqm-core-api/docs/DataModel.md (1)

1-1: Another ship in the fleet with her new name properly displayed!

This title change be consistent with the rebranding effort across all documentation.

software/core/oqm-core-api/docs/README.md (1)

1-1: The main chart room be properly labeled now, matey!

Documentation title update be consistent with the fleet-wide renamin' from "Base Station" to "Core API."

software/core/oqm-core-api/installerSrc/core-api-config.list (1)

2-3: The ship's log be properly updated with correct headings!

This comment now points to the correct user config path /etc/oqm/serviceConfig/core/api/user-config.list, which matches what the installer script (makeInstallers.sh:72-87) creates durin' deployment. Well done keepin' the documentation in sync with the actual rigging!

software/core/oqm-core-api/makeInstallers.sh (1)

3-3: A clean rename in the header comment — shipshape and proper.

Aye, this be a tidy terminology update with no change to installer behavior.

software/core/oqm-core-api/build.gradle (1)

11-11: Version bump looks correct and aligned with packaging flow.

Aye, setting 4.4.5-SNAPSHOT here should propagate cleanly through printVersion into installer and Helm artifacts.

software/core/oqm-core-api/installerSrc/oqm-core-api.service (1)

51-51: Comment rename be consistent with the new Core API naming.

Good deck discipline here, matey — clarity improved, no runtime impact.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Apr 13, 2026
@GregJohnStewart GregJohnStewart merged commit 3923cad into main Apr 13, 2026
1 check was pending
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant