Open
Conversation
enforce license
Add mavlink to the protocols started
Finish first phase for mavlink
Update copyright for the year
The stomp protocol negotiated a keep alive but didn't actually send it, resulting in stomp connections being closed
If no forwards defined would attempt to create uri on ""
Initial phase of event pipelining the transformers
To ensure our configuration makes sense and can be made into a schema we need a linter to validate and warn for values that fail
Ensure the schema documentation aligns with the actual value
Log errors with config at load time based on schema parsing
…s reality and can be enforced
Work through the DTO and children to ensure correct parsing Add yaml writer to save configuration
fix webSockets
add final schema comments to make the final JsonSchema tight
handle longitude correctly
Fix tests for the {geohash} replacement
Seems test env has an issue with this test
Fix the schema entries to correctly reflect reality
fix tests
fix tests
- Added `LicenseFetcher`, `LicenseServerClient`, and `LicenseFileStore` for handling license fetching, storage, and fallback handling. - Integrated license fetching into the Maven build lifecycle using `exec-maven-plugin`. - Created unit tests for license-related functionality, including fetching and file storage. - Updated `LicenseController` to support fallback licenses when fetching fails. Jira: MSG-179
feat(license): add license management and fetching functionality
…m specified locations
…hemaManager Update the server to support bundle-based schemas using the schema library. On schema load the server now: - detects protobuf descriptor bundles and JSON schemas with $defs - extracts child schemas from the bundle - registers parent and child schemas in the schema repository - links children to the parent bundle - resolves message formatters through SchemaManager using SchemaResolver This allows topics to bind directly to protobuf message types or JSON $defs entries while the formatter resolves the parent bundle schema at runtime.
…g-load Development schema config load
…oss multiple modules
…rsing and JSON transformations - Updated all formatter parsing methods to include the `ParseMode` parameter (`STRICT` or `IGNORE`) for enhanced error handling and flexibility during parsing. - Adjusted relevant classes and methods to adopt the new parameter (e.g., `parseToJson`, `parse`). - Added exception handling (`ParseException`) for better logging and debugging of parsing failures.
…aManager` default mode - Introduced `SchemaManager.getDefaultParseMode()` to determine parsing behavior dynamically. - Updated all references to hardcoded `ParseMode` values (e.g., `STRICT` or `IGNORE`) across modules to use the new dynamic method. - Simplified imports by removing unused `ParseMode` references where applicable. - Enhanced schema parsing configuration (`SchemaManager.yaml`) to include a default `parseMode` setting.
…tion - Added `SequenceTracker` for monitoring sequence numbers, dropped packets, and status changes in MAVLink messages with support for status topic publishing. - Implemented `SequenceResult` and `SequenceStatus` classes to manage tracking and state evaluation. - Enhanced `MavlinkConfig` to support known sources, accepted/rejected message IDs, and frame metadata inclusion for unprocessed messages. - Updated `MavlinkProtocol` to handle source validation, rejected frames handling, and custom topic-based message propagation. - Improved configuration and handling logic for MAVLink-specific settings in `MavlinkInterfaceManager` and `MavlinkProtocol`.
- Added `DynamicAggregatorManager` to manage runtime creation, cleanup, and event routing of aggregators. - Implemented `AggregatorConfigDTO` changes, including support for new fields like `windowCloseMode`. - Introduced `WindowCloseMode` enum to define window-closing strategies (`ALL_INPUTS`, `TIMEOUT_ONLY`, `ALL_INPUTS_OR_TIMEOUT`). - Refactored existing aggregator logic to enable modular interaction with dynamic and static aggregators. - Simplified `Aggregator` interface to standardize common functionalities. - Enhanced session creation and management for dynamic aggregators. - Improved configuration property mapping and validation.
- Introduced `JsonToSchemaTransformation` for converting JSON to schemas. - Added `JsonToSchemaTransformationDTO` with schema configuration details. - Registered `JsonToSchemaTransformation` and updated transformation type mappings. - Implemented schema parsing and message formatting logic using `SchemaManager`. - Enhanced transformation factory to support `JSON_TO_SCHEMA` type.
…resolution - Added `getSchemaByNameAndType` method in `SchemaManager` to support schema resolution by name and format. - Updated `JsonToSchemaTransformationDTO` to include optional `format` and `messageName` fields for dynamic schema lookups. - Refactored `JsonToSchema` transformer to utilize `lookupConfig` for resolving schemas based on multiple criteria. - Enhanced schema parsing logic to prioritize exact schema name matches while supporting fallback mechanisms with format and messageName. - Improved DTO validation and flexibility for schema transformation configurations.
…n and logging - Added `loadMessageFormatter` method to initialize `MessageFormatter` during schema resolution. - Introduced logging for schema message formats (`SCHEMA_MESSAGE_FORMAT`) and dropped messages (`SCHEMA_MESSAGE_DROP`). - Updated `JsonToSchema` to dynamically load `MessageFormatter` and configure it with expected formats. - Improved error handling and processing flow to ensure formatter is loaded and logged if available.
…ased XML generation - Introduced `AttributeXmlBuilder` for converting `JsonObject` to XML with attributes and text content support. - Updated `JSONToXML` transformer to utilize `AttributeXmlBuilder` for attribute-based XML generation. - Refactored `convert` logic in `JSONToXML` to handle attribute-based XML or fallback to map-based XML generation. - Improved error handling and modularity in JSON-to-XML transformation flow.
… expiry time - Introduced `UtcTimeIsoInterceptor` to format message creation time as ISO-8601 UTC string. - Added `UtcExpiryTimeIsoInterceptor` to format message expiry time with a default offset when not set. - Registered new interceptors (`utcTimeIso`, `utcExpiryTimeIso`) in `FieldInterceptor` for field mappings.
…g and child element support - Added logic to handle field names starting with "@" as attributes and others as child elements. - Improved XML generation by dynamically creating attributes or child elements based on the field naming convention.
… JSON transformation - Enhanced `JsonQueryTransformation` to inject `meta` object with `utcTimeIso` and `utcExpiryTimeIso` properties. - Ensured seamless addition of metadata when `jsonElement` is a JSON object.
- Implemented `CanaerospaceProtocol` with comprehensive methods for processing inbound/outbound packets, session management, and message transformation. - Added `CanaerospaceProtocolFactory` and `CanAerospaceConfigDTO` for protocol configuration and initialization. - Enhanced `EndPointConfigFactory` and `ProtocolConfigDTO` to register and support CANAerospace protocol configurations. - Introduced `InboundProcessor` for managing inbound packet processing with error handling. - Extended `ServerLogMessages` for CANAerospace-specific logging. - Provided YAML schema configuration and flexible topic formatting for CANAerospace integration.
…formatter and strict/ignore
…ntroller - Renamed `notAfter` and `notBefore` to `end` and `start` for consistency and better readability. - Updated variable references in logging and feature details.
…n ConfigurationManager
…nd caching - Replaced redundant `parseMode` fetching with initialization in the constructor. - Added `ConcurrentHashMap` for caching CAN ID to message name mappings. - Updated `processPacket` to cache message names for efficient reuse. - Enhanced error handling by throwing an exception when no CAN frame is received.
|
Important Review skippedToo many files! This PR contains 300 files, which is 150 over the limit of 150. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (300)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.