Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split up command router modules #3623

Merged

Conversation

StFS
Copy link
Contributor

@StFS StFS commented Apr 3, 2024

This PR is preparation for adding a redis backed command-router.

It consists of the following changes:

  • Split the client-device-connection-infinispan module into client-device-connection-base and client-device-connection-infinispan modules.
    • The classes that were moved to the -base module got refactored and their package name changes from org.eclipse.hono.deviceconnection.infinispan.client to org.eclipse.hono.deviceconnection.common
    • The QuarkusPropertyBindingTest class got split into two: CommonCacheQuarkusPropertyBindingTest and RemoteCacheQuarkusPropertyBindingTest
    • The dependencies in these modules were evaluated and modified in some cases (instead of depending on vertx-web, it turned out to be sufficient to depend on vertx-core). TODOs were added to get feedback on whether dependencies should only be declared in the -base module or whether they should be repeated in the -infinispan module.
  • The services/command-router module was split into services/command-router-base and services/command-router-infinispan.
    • The command-router-base module contains the vast majority of the code but the creation of a docker image was removed from that module.
    • The Application class was converted to an abstract class to be implemented in descendant modules and named AbstractApplication accordingly.
    • The DeviceConnectionInfoProducer class was removed from the base module to be implemented in descendant modules.
    • The command-router-infinispan module contains the docker image creation. It also implements a InfinispanDeviceConnectionInfoProducer and an Application class (descendant of AbstractApplication) in order to create an Infinispan based implementation of a command-router.

StFS added 3 commits April 3, 2024 16:57
…onnection-base and client-device-connection-infinispan. Unit tests run.
…nto client-device-connection-base module. Unit tests run.
…e and services/command-router-infinispan. Unit tests and integration tests run.
@StFS
Copy link
Contributor Author

StFS commented Apr 10, 2024

Addresses #3532

@sophokles73 sophokles73 added the C&C Command and Control label Apr 11, 2024
Copy link
Contributor

@sophokles73 sophokles73 left a comment

Choose a reason for hiding this comment

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

Looks pretty good so far 👍
Just some formal issues to fix ...

push_hono_images.sh Outdated Show resolved Hide resolved
push_hono_images.sh Outdated Show resolved Hide resolved
push_hono_images.sh Outdated Show resolved Hide resolved
push_hono_images.sh Outdated Show resolved Hide resolved
push_hono_images.sh Outdated Show resolved Hide resolved
Copy link
Contributor

@sophokles73 sophokles73 left a comment

Choose a reason for hiding this comment

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

LGTM

Thanks for contributing 👍

@sophokles73 sophokles73 merged commit 74f3001 into eclipse-hono:master May 17, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C&C Command and Control
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants