On Sun, Feb 18, 2018 at 9:05 PM Shelley Tong <[email protected]>
wrote:
> Let's say you have a proto defined as the following:
>
> message Zoo {
> repeated Cat cats = 1;
> }
>
> Let's say cat looks like this:
>
> message Cat {
> google.protobuf.StringValue name = 1
> Decimal age = 2;
> }
>
> If I want to reduce the amount of data in Zoo such that sample data only
> contains Cat with only the name field, how do I do that?
>
> Example: A sample Zoo object will look like this:
>
> {
> Cat: [{
> name = "sam";
> },
> {
> name = "hester";
> }]
> }
>
> I'm trying to do this with one field mask:
>
> FieldMask zoo_mask = FieldMask.newBuilder()
> .addPaths("cats")
> .build();
>
> Zoo getMaskedZoo(FieldMask mask, Zoo zoo) {
> Zoo.Builder zooDest = Zoo.newBuilder();
> FieldMaskUtil.merge(zoo_mask, zoo, zooDest);
> return zooDest.build();
> }
>
> How do I make it so that only the name displays for each Cat?
>
This is not supported at the moment, i.e., you can't use 'cats.name' in the
FieldMask because 'cats' is a repeated field. FieldMaskUtil is more of a
helper utility for a specific use case of protobuf. In your case, I think
you can simply use protobuf reflection API to do the same.
> --
> You received this message because you are subscribed to the Google Groups
> "Protocol Buffers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/protobuf.
> For more options, visit https://groups.google.com/d/optout.
>
--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.