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

Subscription Rework and multiple version support #31

Merged
merged 6 commits into from
Nov 10, 2020

Conversation

rzwiefel
Copy link
Contributor

@rzwiefel rzwiefel commented Sep 28, 2020

Remaining to do/possible changes

  • Check if these changes are 2.24/2.25 compatible and change any of the 2.26 nomenclature to 2.24+/2.25+ depending on which is supported.
  • Update root readme with information about email-service and how to install the different versions (feature repo add, feature install)
  • A complete runthrough of all registered methods on both a 2.19 and 2.26 instance to ensure no runtime issues were missed
  • miscellaneous code cleanup (see comments i left on pr)

Closes #24

Overview

  • Subscriptions are no longer coupled with the ddf.catalog/query response (Did not match what the catalog framework does)
    • Two new Subscriptions methods: One for checking if you are subscribed to the supplied ids, and one for fetching all your current subscriptions
    • ⚠️ This will break existing users of query method relying on subscriptions (working with downstream consumers to fix)
  • Added support for multiple versions of DDF: 2.19, 2.26+
    • Abstracted version incompatibilities away behind a service and support into two implementations of that service that can be installed with the corresponding versions via feature install.
  • New feature module with Feature file containing the two previously mentioned features: jsonrpc-2.19 and jsonrpc-2.26

Bundle changes

  • ddf-rpc-api
  • Custom Import package utilizing version ranges that will work with both 2.19 and 2.26 (mostly ddf packages, but also shiro and geotools

New Bundles:

  • email-service
    • Contains the EmailResolver interface and exports it
  • 2.19-email-impl & 2.26-email-impl
    • Contains implementations for EmailResolver for their respective versions

Blueprint changes

  • ddf-rpc-api
    • No longer uses SubjectOperations(Service)/SecurityUtils(Static class methods) -- Now uses email-service
  • 2.19-email-impl/2.26-email-impl
    • Registers the EmailResovler implementation as a service

Structural changes

  • No longer a single module, so we now have a few levels of modules
    image

@rzwiefel rzwiefel changed the title Subscription Rework and multiversioning support Subscription Rework and multiple version support Sep 28, 2020
log-sanitizer
</Embed-Dependency>
<!--
org.codice.ddf.log.sanitizer;version="[2.19,3)",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

remove

org.opengis.filter.expression;version="[19.1.0,21.0.0)",
org.apache.commons.lang3;version="[3.8.0,4.0.0)",
org.apache.commons.lang3.tuple;version="[3.8.0,4.0.0)",
ddf.security;version="[2.19,3)",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

See if this is removeable or if the transitive dependency powers that be require us specify this

ddf-rpc-api/pom.xml Outdated Show resolved Hide resolved
@rzwiefel rzwiefel marked this pull request as draft September 28, 2020 20:23
@rzwiefel
Copy link
Contributor Author

Tested all methods against 2.19 and master (currently 2.27-SNAPSHOT) successfully

@rzwiefel rzwiefel marked this pull request as ready for review October 12, 2020 21:50
@rzwiefel rzwiefel requested review from jrnorth and pklinef October 12, 2020 22:04
README.md Outdated Show resolved Hide resolved
@rzwiefel rzwiefel force-pushed the subscription-and-multiversion-support branch from 5384915 to fbd5cfa Compare October 13, 2020 19:34
@rzwiefel
Copy link
Contributor Author

Verified that this works with ddf 2.23.2 as well

@rzwiefel rzwiefel mentioned this pull request Oct 22, 2020
README.md Show resolved Hide resolved
ddf-rpc-api/pom.xml Show resolved Hide resolved
ddf-rpc-api/pom.xml Show resolved Hide resolved
ddf-rpc-api/pom.xml Show resolved Hide resolved
email/2.19-email-impl/pom.xml Show resolved Hide resolved
ddf-rpc-api/pom.xml Show resolved Hide resolved
email/2.25-email-impl/pom.xml Show resolved Hide resolved
jsonrpc-features/pom.xml Show resolved Hide resolved
@rzwiefel rzwiefel force-pushed the subscription-and-multiversion-support branch from e90e924 to 7d3bb10 Compare November 9, 2020 23:26
@rzwiefel
Copy link
Contributor Author

CI build passed ✅ 🎉

@rzwiefel rzwiefel merged commit 883741c into master Nov 10, 2020
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.

Extract workspace subscriptions from catalog methods and move to extended methods.
4 participants