* formats: Add support for protobuf format
Adds support for the Protocol Buffer CloudEvent format defined at
https://github.com/cloudevents/spec/blob/v1.0.1/protobuf-format.md.
Compiles the Proto3 file taken from the spec repo into generated Java
protobuf classes. These classes are used to convert the SDK
representation of a CloudEvent to and from the protobuf format.
Signed-off-by: Erik Paulson <epaulson@apexclearing.com>
* Address feedback in PR #348
- Adds service file for event format autoloading
- Addresses some field access issues
- Treats unset fields as omitted
- Updates and adds documentation
Signed-off-by: Erik Paulson <epaulson@apexclearing.com>
* Add missing attribute writer methods for CloudEventBuilders
Without these methods, binary attributes are interpreted as
Strings instead of byte[].
Signed-off-by: Erik Paulson <epaulson@apexclearing.com>
* Added test data files.
Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
* - Now executes tests related to wire-format files.
- Supports V03 dialect
Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
* - Added new ProtoCloudEventData construct to support proto message based data.
- Added some more test files.
- When the PR related to binary context attributes is merged we can extend the
test use-cases appropriately.
Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
* - Merged changes related to binary context attributes.
- Modified proto format to process binary context attributes
- Added CloudEventData varient to hold proto messages (requires tests)
- Will add further tests once the failing test is addressed
Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
* Added test for protobuf data
Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
* Indicate that v0.3 events are supported by Protobuf Format
Even though the protobuf spec came out for v1, the attributes are
fairly easily mapped back to v0.3.
Signed-off-by: Erik Paulson <epaulson@apexclearing.com>
* Add missing comments; fix formatting; minor refactoring
Signed-off-by: Erik Paulson <epaulson@apexclearing.com>
* Create a full Protobuf CloudEventWriter
Converts the ProtoContextWriter class to a ProtoCloudEventWriter class
and modifies the format code to use it instead of manually writing
data to the output.
Signed-off-by: Erik Paulson <epaulson@apexclearing.com>
* - Addressed Review Comments.
- Introduced a default ProtoDataWrapper
- Tests updated.
Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
* Address Review Comments
Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
* Test cleanup and timezone testing
This does some tweaking to tests by moving to using assertj and fixing
whitespace. It also adds a new test to ensure that timezones are handled
correctly.
Signed-off-by: Erik Paulson <epaulson@apexclearing.com>
* Formatting cleanup
- Remove unecessary whitespace
- Fix Javadocs
- Delete unused code
Signed-off-by: Erik Paulson <epaulson@apexclearing.com>
Co-authored-by: Day, Jeremy(jday) <jday@paypal.com>
- Modfy logic that selects between structured and binary modes during reception.
- Introduced new test scenarios to veify behavior.
Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
* Introduced support for Binary attribute types.
Added test data example
Added unit-test for JSON Format
Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
* documentation tweak
Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
* - Addressed review comment.
- Removed the withContextAttribute(string, Integer).
- This should be a seperate PR, was mixed-in by accident.
Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
* Address review comments
Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
* Halfway through it
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* That should be it
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Prettier run
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Removed code sample
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Suggestions + fixed up the mess made by prettier
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Suggestion
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Javadocs!!!
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Missing module name?
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Excluding javadocs
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* clean install only release artifacts, but verify them all!
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Reverted the crazy idea to use the release profile
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Suggestions
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Suggestion
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Nit
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Nit
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Nit
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Messing up stuff
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Collapse CloudEventAttributesWriter and CloudEventAttributesWriter into CloudEventContextWriter
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Rebase fix
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Fix NPE on null body with structured message
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Improved test robustness
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Javadoc'ed + Cleanup of the api module (#267)
* Javadoc'ed more and more the api module
Cleanup the CloudEventRWException
More tests on the API module
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Use parseTime
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Better docs on the Extensions
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
Signed-off-by: Sreenath Madasu <MADASUSX@legal.regn.net>
* Remove UnknownEncodingMessageReader and replace with exceptions #262
Signed-off-by: Sreenath Madasu <Sreenath.Madasu@gmail.com>
* Remove UnknownEncodingMessageReader and replace with exceptions -- Added Unit tests #262
Signed-off-by: Sreenath Madasu <Sreenath.Madasu@gmail.com>
* Remove UnknownEncodingMessageReader and replace with exceptions -- Fixed compile error #262
Signed-off-by: Sreenath Madasu <Sreenath.Madasu@gmail.com>
* Remove UnknownEncodingMessageReader and replace with exceptions -- changed exception name and details #262
Signed-off-by: Sreenath Madasu <Sreenath.Madasu@gmail.com>
Signed-off-by: Sreenath Madasu <MADASUSX@legal.regn.net>
* Fixed
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
Co-authored-by: Francesco Guardiani <francescoguard@gmail.com>
Co-authored-by: Sreenath Madasu <MADASUSX@legal.regn.net>
* Add the method `BytesCloudEventData#wrap` to be consistent with #289
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Removed all usages of constructor
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Fix poms warnings
Bumped javadoc plugin to latest version
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Dumped back the javadoc version
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Introduce CloudEventContext
Signed-off-by: Dave Syer <dsyer@vmware.com>
* Extract some code into a base class
Signed-off-by: Dave Syer <dsyer@vmware.com>
* Ensure extensions get copied in constructor
Signed-off-by: Dave Syer <dsyer@vmware.com>
* Introduce a CloudEventContextReaderAdapter
Signed-off-by: Dave Syer <dsyer@vmware.com>
* Use inheritance instead of composition
Signed-off-by: Dave Syer <dsyer@vmware.com>
* Add a static method to wrap a pojo in PojoCloudEventData
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* WIP
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Cleanup
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Reverted BytesCloudEventData and moved to a separate PR
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Removed ContextAttributes.java in CloudEventV03
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Rebase changes
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Removed ContextAttributes.java in CloudEventV1
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Public constants + javadoc
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* CloudEventDataMapper cannot be null
Cleanup of all mapper != null and replaced with CloudEventDataMapper.NOOP
Fixed all the missing wildcards
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* I forgot a bunch of them
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* CloudEventDataMapper.NOOP to CloudEventDataMapper.identity
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Now it should be fine
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>