A comment-health audit driven by an AST scanner (regex scanners kept false-positiving on annotation-separated javadoc; the AST pass with constructor and @Override-implementation exemptions is what produced a trustworthy worklist) ended with a much smaller true gap than the raw numbers suggested: class-level javadoc is already at 100% repository-wide. What actually gets filled here: - AnalyticsModel: all 30 nested records of the S19 analytics facet get maintainer-voice javadoc (the @Schema descriptions serve the API side; these serve code readers). - The whole entity/ext family (29 files, 47 nested classes): every Content/Ui/Validation/Security/AppliesTo/Template/Dedup/... schema class states what it actually holds — read from the fields, not templated. - Adapter families: the @Bean methods of all six MQ adapters, all four TSDB adapters and the three DB dialect adapters get one-line maintainer docs (what binds to what, what is overridable). - Nested support types across data/agentic/constant/public/facade: NotifyBindKey, CacheTuning, Credential, dashboard VOs' Item/BucketVO, ExpireListener (plus its null-doc placeholder javadoc replaced with a real contract), agentic chat/stream VOs' choice/delta/usage shapes, tool-context records, RequestHeader envelopes, FleetSummary, visualization Type/Scale codes. - PointValueSampleConverter's boundary methods now state the port-side contract (quality default injection point, batch order preservation). Comment drift fixed: the class javadoc of the can/mqtt/opc-da driver skeletons claimed "see TODO markers in method bodies" — those markers do not exist; the claims are corrected to plain work-in-progress notes. The genuine TODOs (zigbee API verification, lwm2m lookup, ethernet-ip CIP framing, CAN JNI) stay: they mark real unimplemented behavior. Vendored-code boundary: the opc-da module carries a ported org.openscada library (46 files, package org.openscada.*). Its trivial accessors stay bare on purpose — filler comments on get/set pairs are exactly the kind of noise this pass exists to remove — but the non-obvious JIStruct wire-decoder methods (getStruct/fromStruct FILETIME + three DO wrappers) now document the COM bridge shape. Gates: full-repo compile green; data/model/constant/agentic/public test suites green.
2.5 KiB
DC3 Driver Redis
Overview
dc3-driver-redis treats Redis as a key-value data source. It reads and writes string keys (GET/SET) and hash fields
(HGET/HSET) through the Spring Boot auto-configured StringRedisTemplate. A device-level key prefix isolates multiple
logical devices within one Redis instance.
Module Information
- Group ID: io.github.pnoker
- Artifact ID: dc3-driver-redis
- Driver Name: Redis Driver
Driver Attributes (Device-level)
| Attribute | Code | Type | Default | Description |
|---|---|---|---|---|
| Key Prefix | keyPrefix | STRING | Prefix prepended to every point key |
Point Attributes
| Attribute | Code | Type | Default | Description |
|---|---|---|---|---|
| Key | key | STRING | Redis key (relative to the key prefix) | |
| Data Type | dataType | STRING | STRING | Redis data type: STRING or HASH |
| Field | field | STRING | Hash field, required when dataType=HASH |
Command Attributes (write)
| Attribute | Code | Type | Default | Description |
|---|---|---|---|---|
| Data Type | dataType | STRING | STRING | Redis data type of the written key: STRING or HASH |
The module application.yml is authoritative for attribute codes, types, defaults, scheduling, health, and local
buffering. Keep this README aligned when those user-facing settings change.
Prerequisites
A reachable Redis instance. Point the spring.data.redis.* properties (or REDIS_HOST, REDIS_PORT,
REDIS_PASSWORD, REDIS_DATABASE) at the target server.
Connection
The Redis connection is configured through Spring Boot spring.data.redis.* properties in application.yml, driven
by the REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, and REDIS_DATABASE environment variables.
Running Locally
make up-db
make up-dev GROUP=core
mvn -s .mvn/settings.xml -pl dc3-driver/dc3-driver-redis -am package
java -jar dc3-driver/dc3-driver-redis/target/dc3-driver-redis.jar
Testing
mvn -s .mvn/settings.xml -pl dc3-driver/dc3-driver-redis -am test
Related Modules
dc3-common-driver— Driver SDK for registration, scheduling, and RabbitMQ integration