Commit Graph

298 Commits

Author SHA1 Message Date
Jem Day 433ec5b274
Initial Implementation of XML Format (#448)
Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
Signed-off-by: Jem Day <Jem.Day@cliffhanger.com>
2023-01-10 09:48:36 +01:00
Pierangelo Di Pilato d00ad967c0
Fix the Java Doc build (#424)
- https://vertx.io/docs/apidocs/ returns 404, so removing it
- Fix Java Doc error for missing `@param`

Signed-off-by: Pierangelo Di Pilato <pdipilat@redhat.com>
2021-11-17 16:55:27 +01:00
Jem Day 5e3bfc890f
Specification Compliant handling of numeric context attributes (#358)
* - Added tests case to verify expected handling of numeric context attributes
- Updated serializer.

Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>

* - Added @deprecated marker for CloudEventContextWriter.set(name, Number)
- Added use of new method for JSON serializer.

Cleanup of deprecated implementations can occur independantly.

Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>

* Addressed Review Comments

- Now throws exception when non specification compliant numeric
  attribute values are received during deserialization.

- Added test cases to verify deserialization exceptions.

Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>

* Address Review Comments

Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>

* Address Review Comment

Signed-off-by: Day, Jeremy(jday) <jday@paypal.com>
2021-03-24 16:58:33 +01:00
Jem Day 13f8b56618
Introduced support for Binary attribute types. (#353)
* 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>
2021-03-10 11:29:38 +01:00
Francesco Guardiani e523bfbfbf
Rename extension (#339)
* Fixed broken links

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Renamed Extension to CloudEventExtension

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

Co-authored-by: slinkydeveloper <slinkydeveloper@users.noreply.github.com>
2021-02-02 08:32:43 +01:00
Francesco Guardiani f5d9b47c1c
Javadocs api and core (#313)
* 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>
2020-12-09 18:31:56 +01:00
Francesco Guardiani b89f45265b
Simplify the Reader/Writer implementations, reducing the knowledge of spec details (#309)
* 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>
2020-12-01 17:27:50 +01:00
Sreenath Madasu 5a926820b4
Remove UnknownEncodingMessageReader and replace with exceptions #262 (#277)
* 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>
2020-11-26 11:23:24 +01:00
Dave Syer 7f65c92dec
Introduce CloudEventContext (#296)
* 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>
2020-11-23 21:05:26 +01:00
Francesco Guardiani 394347db07
CloudEventAttributesWriter and CloudEventExtensionsWriter accepts only not nil attributes/extensions (#287)
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-11-23 11:28:56 +01:00
Francesco Guardiani baf3b56d6d
Introduce CloudEventDataMapper.identity() (#286)
* 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>
2020-11-19 18:24:14 +01:00
Francesco Guardiani c1ff628511
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>
2020-11-13 14:31:32 +01:00
Francesco Guardiani 42a732623b
Improvements to CloudEventReader (#263)
* Extracted readAttributes and readExtensions from CloudEventReader
Added CloudEventUtils#toContextReader to create a context reader starting from a CloudEvent
Improved documentation of *Reader interfaces
Renamed MessageReader#visit to the proper name MessageReader#read

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Typo

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-11-13 09:54:07 +01:00
Francesco Guardiani c7baada605
Json mapper (#258)
* Implemented Pojo mapper using jackson
Added other exception kinds

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Fixup for the rebase

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Removed comment

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Equals and hash code

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Fixed rebase issues

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-11-11 08:54:01 +01:00
Francesco Guardiani 3bd9a6922f
CloudEventUtils.mapData(event, mapper) (#257)
* Generified the return value of CloudEventDataMapper
Added toData(CloudEventDataMapper) method to map the data

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Moved to CloudEventUtils

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* public static

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Test

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* wildcard bound

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-11-11 08:48:45 +01:00
Francesco Guardiani de2052c4d6
CloudEventDataMapper (#252)
* Defined an interface to perform mapping of data

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* All code compiles and run

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Added a sample + fixed copyrights

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* More test

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-11-09 09:37:37 +01:00
Francesco Guardiani f9e31efaa3
Introduce CloudEventData (#250)
* Introduce CloudEventData

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Javadocs

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Removed to

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Applied changes throughout the sdk

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Fix javadoc

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-10-29 10:01:39 +01:00
Zhixuan Lai a09b03bd2f
Serialize time to RFC3339 compliant string (#249)
Signed-off-by: Zhixuan Lai <zhixuan@squareup.com>

Co-authored-by: Zhixuan Lai <zhixuan@squareup.com>
2020-09-30 13:03:13 +02:00
Francesco Guardiani 2982f07f55
Renamed methods of writes to coerce with the builder apis (#237)
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-09-28 08:58:57 +02:00
Francesco Guardiani 75171b9705
Switch `ZonedDateTime` to `OffsetDateTime` (#216)
* Switch `ZonedDateTime` to `OffsetDateTime`. Fix #214

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Removed useless date format

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Removed time format

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-09-01 10:10:35 +02:00
Francesco Guardiani 4c98031c3b
Fix #200 (#202)
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-08-10 16:10:37 +02:00
Francesco Guardiani 98a6b87d5b
Javadoc-ed cloudevents-api (#181)
* Javadoc-ed cloudevents-api

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* nit

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-06-23 17:20:09 +02:00
Matej Vasek 7d85d19f1a
fix: sub-second resolution `time` attribute (#176)
* fix: sub-second resolution `time` attribute

Fixes parsing of dates like: 2018-04-26T14:48:09.1234Z

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* test: added test for datetime parsing formatting

Signed-off-by: Matej Vasek <mvasek@redhat.com>
2020-06-18 16:59:12 +02:00
slinkydeveloper 28dcc2a009 Renamed package io.cloudevents.visitor to io.cloudevents.rw
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-06-09 11:37:07 +02:00
slinkydeveloper 57bb81cc5c Rename Visitor/Visitable to Writer/Reader
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-06-04 16:56:19 +02:00
Francesco Guardiani 73d90d11bb
Reworked a bit the Extension interface (#158)
* Reworked a bit the `Extension` interface

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Renamed readFromEvent as readFrom

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Removed Extension extends CloudEventExtensions

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* getValue() throws an exception if the key is not recognized by the materialized extension

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* typo

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-06-01 09:22:54 +02:00
Francesco Guardiani 0fdfcc378d
Moved cloudevents-api to cloudevents-core (#155)
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

Proposed set of apis for CloudEvent

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

Changes

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

Javadocs

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

Removed CloudEventBuilder.java

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

Nits

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-05-22 16:30:36 +02:00
Francesco Guardiani 199f8c02e0
Revert "Proposal for reworking the unstructured read/write of events (#146)" (#149)
This reverts commit cd5777791c.
2020-05-15 15:56:48 +02:00
Francesco Guardiani cd5777791c
Proposal for reworking the unstructured read/write of events (#146)
* Proposal for handling unstructured read/write of events

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* cloudevents-json-jackson fixed

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Everything builds

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Added two utility methods to Message

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Signature was wrong

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-05-15 11:41:41 +02:00
Francesco Guardiani a485edffdb
Integration with Jakarta RESTful Web Services (#145)
* Bootstrapped http/restful-ws module

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Bootstrapped http/restful-ws module

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Going forward with jax-rs

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Going forward with jax-rs

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Fix

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Trying another jaxrs impl

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Flush fix

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Reverted Jersey, now all works as it should

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Constant

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-05-04 08:55:54 +02:00
Francesco Guardiani 30ca27afd8
Formatted code and added copyright headers (#140)
* Formatted code and added headers

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Updated all copyright years with 2018-Present

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-28 13:56:06 +02:00
Sergei Egorov ba2db45f38
Introduce JSR-305 compatible nullability, remove `Optional` (#138)
* Introduce JSR-305 compatible nullability, remove `Optional`

Closes #123.

Signed-off-by: Sergei Egorov <segorov@pivotal.io>

* fix wrong indentation

Signed-off-by: Sergei Egorov <segorov@pivotal.io>

* fix wrong indentation (2)

Signed-off-by: Sergei Egorov <segorov@pivotal.io>
2020-04-28 12:02:30 +02:00
Francesco Guardiani 5c28b36967
Reworked Kafka module (#134)
* WIP kafka

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Worked on some abstractions to simplify implementation of Message

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Reworked kafka module

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Applied suggestions + documented Kafka module usage

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Renaming

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Docs fix

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* small fixes

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* small fixes

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-28 10:33:00 +02:00
Francesco Guardiani 2b5e72c50a
Reworked Vert.x Integration (#129)
* Started http-vertx module reworking

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Vertx integration done

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Adjusted the READMEs

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Case sensitivity fix

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-24 12:17:49 +02:00
Francesco Guardiani 924dbed6e7
Test for implementation of equals (#126)
* Test for equals

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Maven fix

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Funny pom issues

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Fixed pom issues

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-22 17:05:04 +02:00
slinkydeveloper d207ecc311 Fixed structuredToEvent test
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-21 18:49:51 +02:00
slinkydeveloper 92c205a941 Json deserialization works
Json roundtrip works
Added extensions to tests

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-21 18:43:03 +02:00
slinkydeveloper 4df01cd279 Progress on implementing serialization
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-20 21:01:10 +02:00
slinkydeveloper 7dcfdba30d Tests ready, starting implementing
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-20 19:26:24 +02:00
slinkydeveloper 30c5fcf1e4 Json added mock data
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-20 19:11:14 +02:00
slinkydeveloper 0f94976f7b All tests in cloudevents-api pass!
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-20 17:45:40 +02:00
slinkydeveloper 41f48a5c84 cloudevents-api does not depend on jackson anymore
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-20 16:57:58 +02:00
slinkydeveloper 814bf80745 Removed JsonNode from Data (now jackson should be easily pluggable)
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-20 16:44:49 +02:00
slinkydeveloper c7b9f3dab5 Compiles!
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-20 15:52:49 +02:00
slinkydeveloper 8f1b8d2da9 Completed implementation of message interfaces for events.
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-20 13:21:54 +02:00
slinkydeveloper 223d786a3f Message interfaces should be fine now
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-20 12:30:55 +02:00
slinkydeveloper d54dcf7f83 Added conversion between spec versions
Added copy builder

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-20 10:45:04 +02:00
slinkydeveloper ad5ab5d491 WIP
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-17 14:35:11 +02:00
slinkydeveloper 59d4a79ed6 Sketching Message APIs
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-16 16:40:55 +02:00
slinkydeveloper ce98e7cbda Extensions
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-04-16 12:52:50 +02:00