[
https://issues.apache.org/jira/browse/AVRO-2934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Biliuta updated AVRO-2934:
--------------------------
Description:
For testing purposes it would be nice to have a way to initialise all fields to
some value even if there is no default value specified in the schema (the value
is required). I noticed that for schemas that are large and have a few levels
of nesting it can get quite ugly (creating all the required sub classes) when
you want to instantiate a random message to do some tests.
The possible data types in an avro schema are initialisable to some
default/random value and if this is not the value desired, it can be changed at
any time.
I did a short implementation using reflection that recursively goes through the
entire fields of a message but maybe an annotation included in the avro schema
(using javaAnnotation) would make more sense so that it is available only if
needed. The annotation could also include some options like default or random
value, overwrite existing non null members or not, ignore specific members or
types.
was:
For testing purposes it would be nice to have a way to initialise all fields to
some value even if there is no default value specified in the schema. I noticed
that for schemas that are large and have a few levels of nesting it can get
quite ugly (creating all the required sub classes) when you want to instantiate
a random message to do some tests.
The possible data types in an avro schema are initialisable to some
default/random value and if this is not the value desired, it can be changed at
any time.
I did a short implementation using reflection that recursively goes through the
entire fields of a message but maybe an annotation included in the avro schema
(using javaAnnotation) would make more sense so that it is available only if
needed. The annotation could also include some options like default or random
value, overwrite existing non null members or not, ignore specific members or
types.
> Initialise all fields in a nested schema
> ----------------------------------------
>
> Key: AVRO-2934
> URL: https://issues.apache.org/jira/browse/AVRO-2934
> Project: Apache Avro
> Issue Type: Improvement
> Components: java
> Reporter: Biliuta
> Priority: Minor
>
> For testing purposes it would be nice to have a way to initialise all fields
> to some value even if there is no default value specified in the schema (the
> value is required). I noticed that for schemas that are large and have a few
> levels of nesting it can get quite ugly (creating all the required sub
> classes) when you want to instantiate a random message to do some tests.
> The possible data types in an avro schema are initialisable to some
> default/random value and if this is not the value desired, it can be changed
> at any time.
> I did a short implementation using reflection that recursively goes through
> the entire fields of a message but maybe an annotation included in the avro
> schema (using javaAnnotation) would make more sense so that it is available
> only if needed. The annotation could also include some options like default
> or random value, overwrite existing non null members or not, ignore specific
> members or types.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)