diff --git a/core/src/main/java/io/cloudevents/core/v03/CloudEventV03.java b/core/src/main/java/io/cloudevents/core/v03/CloudEventV03.java index 461b763e..8752dbb8 100644 --- a/core/src/main/java/io/cloudevents/core/v03/CloudEventV03.java +++ b/core/src/main/java/io/cloudevents/core/v03/CloudEventV03.java @@ -236,12 +236,12 @@ public final class CloudEventV03 extends BaseCloudEvent { "id='" + id + '\'' + ", source=" + source + ", type='" + type + '\'' + - ", datacontenttype='" + datacontenttype + '\'' + - ", schemaurl=" + schemaurl + - ", subject='" + subject + '\'' + - ", time=" + time + - ", data=" + getData() + - ", extensions" + this.extensions + + ((datacontenttype != null) ? ", datacontenttype='" + datacontenttype + '\'' : "") + + ((schemaurl != null) ? ", schemaurl=" + schemaurl : "") + + ((subject != null) ? ", subject='" + subject + '\'' : "") + + ((time != null) ? ", time=" + time : "") + + ((getData() != null) ? ", data=" + getData() : "") + + ", extensions=" + this.extensions + '}'; } } diff --git a/core/src/main/java/io/cloudevents/core/v1/CloudEventV1.java b/core/src/main/java/io/cloudevents/core/v1/CloudEventV1.java index 920b7647..2ee42fe7 100644 --- a/core/src/main/java/io/cloudevents/core/v1/CloudEventV1.java +++ b/core/src/main/java/io/cloudevents/core/v1/CloudEventV1.java @@ -223,11 +223,11 @@ public final class CloudEventV1 extends BaseCloudEvent { "id='" + id + '\'' + ", source=" + source + ", type='" + type + '\'' + - ", datacontenttype='" + datacontenttype + '\'' + - ", dataschema=" + dataschema + - ", subject='" + subject + '\'' + - ", time=" + time + - ", data=" + getData() + + ((datacontenttype != null) ? ", datacontenttype='" + datacontenttype + '\'' : "") + + ((dataschema != null) ? ", dataschema=" + dataschema : "") + + ((subject != null) ? ", subject='" + subject + '\'' : "") + + ((time != null) ? ", time=" + time : "") + + ((getData() != null) ? ", data=" + getData() : "") + ", extensions=" + this.extensions + '}'; } diff --git a/core/src/test/java/io/cloudevents/core/impl/CloudEventImplTest.java b/core/src/test/java/io/cloudevents/core/impl/CloudEventImplTest.java index 74d3545a..5da14952 100644 --- a/core/src/test/java/io/cloudevents/core/impl/CloudEventImplTest.java +++ b/core/src/test/java/io/cloudevents/core/impl/CloudEventImplTest.java @@ -91,4 +91,28 @@ public class CloudEventImplTest { ); } + @Test + public void testToStringV1() { + CloudEvent event = CloudEventBuilder.v1() + .withId(ID) + .withType(TYPE) + .withSource(SOURCE) + .build(); + + assertThat(event.toString()) + .doesNotContain("time"); + } + + @Test + public void testToStringV03() { + CloudEvent event = CloudEventBuilder.v03() + .withId(ID) + .withType(TYPE) + .withSource(SOURCE) + .build(); + + assertThat(event.toString()) + .doesNotContain("time"); + } + }