Page MenuHomePhabricator

[ES-M2] Split EntitySchemaValueParser into parser and deserializer
Closed, ResolvedPublic5 Estimated Story Points

Description

EntitySchemaValueParser is currently handling calls from wbformatvalue and from wbparsevalue, by detected whether its input is a string or an array. This works, but it is an uncomfortable workaround for the fact that we are not able to register independent parsers and deserializers for datatypes with the new datatype registration mechanism.

Acceptance Criteria

  • Split EntitySchemaValueParser into two classes that reflect the separate functions, or remove the TODO in the code

Event Timeline

Change #1037772 had a related patch set uploaded (by Jakob; author: Jakob):

[mediawiki/extensions/Wikibase@master] Add 'deserializer-builder' to DataTypeDefinitions

https://gerrit.wikimedia.org/r/1037772

Change #1037817 had a related patch set uploaded (by Jakob; author: Jakob):

[mediawiki/extensions/Wikibase@master] Don't conflate parsing and deserializing in SnakDeserializer

https://gerrit.wikimedia.org/r/1037817

Change #1038763 had a related patch set uploaded (by Jakob; author: Jakob):

[mediawiki/extensions/WikibaseLexeme@master] Add new DeserializerFactory constructor arg

https://gerrit.wikimedia.org/r/1038763

Change #1038764 had a related patch set uploaded (by Jakob; author: Jakob):

[mediawiki/extensions/Wikibase@master] Don't conflate snak parsing and deserializing

https://gerrit.wikimedia.org/r/1038764

Change #1038764 abandoned by Jakob:

[mediawiki/extensions/Wikibase@master] Don't conflate snak parsing and deserializing

Reason:

accidentally overwrote the change-id. oopsie.

https://gerrit.wikimedia.org/r/1038764

Change #1038780 had a related patch set uploaded (by Jakob; author: Jakob):

[mediawiki/extensions/Wikibase@master] Don't conflate snak parsing and deserializing

https://gerrit.wikimedia.org/r/1038780

Change #1038784 had a related patch set uploaded (by Jakob; author: Jakob):

[mediawiki/extensions/WikibaseLexeme@master] Add new DeserializerFactory constructor arg

https://gerrit.wikimedia.org/r/1038784

Change #1038780 abandoned by Jakob:

[mediawiki/extensions/Wikibase@master] Don't conflate snak parsing and deserializing

Reason:

successfully confused gerrit

https://gerrit.wikimedia.org/r/1038780

Change #1039203 had a related patch set uploaded (by Jakob; author: Jakob):

[mediawiki/extensions/EntitySchema@master] Register EntitySchema value deserializer

https://gerrit.wikimedia.org/r/1039203

Change #1038784 abandoned by Jakob:

[mediawiki/extensions/WikibaseLexeme@master] Add new DeserializerFactory constructor arg

Reason:

changed approach, no longer needed

https://gerrit.wikimedia.org/r/1038784

Change #1037772 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Add 'deserializer-builder' to DataTypeDefinitions

https://gerrit.wikimedia.org/r/1037772

Change #1037817 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Don't conflate snak parsing and deserializing

https://gerrit.wikimedia.org/r/1037817

Change #1039203 merged by jenkins-bot:

[mediawiki/extensions/EntitySchema@master] Register EntitySchema value deserializer

https://gerrit.wikimedia.org/r/1039203