symphonyoss / symphony-java-client

Java client library for Symphony
Apache License 2.0
34 stars 37 forks source link

V4 Support for DataFeedClient #78

Closed dferguson992 closed 6 years ago

dferguson992 commented 7 years ago

With V4 endpoints being the latest and greatest, the datafeed should support V4 endpoints. At this point, all methods in the DataFeedClientImpl that aren't deprecated throw "NotSupportedExceptions." It would seem this is because there is no V4 support in the DataFeedClient.

To use the DataFeedClientImpl at this time, you must use deprecated methods that require V1 APIs to use them. If you generate your client with a V4 API, you will get a "NotSupportedException." This severely limits the growth of the platform, preventing anyone who wants to use V4 endpoints from using a Datafeed.

ftbb commented 7 years ago

Would rather remove all V2 support from impl...if that's OK with you?

In fact, the intention of 1.1.0 was to remove all V2.

With that said, I think in the future exceptions should be generated for version compatibility.

dnsymphony commented 7 years ago

You could call Agent's health check to determine Agent version and conditionally throw unsupported.

GET /agent/v1/HealthCheck

{"podConnectivity":true,"keyManagerConnectivity":true,"version":"1.48.0"}

ftbb commented 7 years ago

This is a great point and something I'm trying to implement soon.

Looking at adding in a "SystemClient" which will support the HealthChecks, version check and Logout.

dnsymphony commented 7 years ago

Make sure you check Agent separately from the pod since Agent isn't necessarily in sync for on-prem deployments. In fact, it is often behind by a version or two.

ftbb commented 6 years ago

Implemented in 1.1.0