Hey,
After discussion with Danwe and Denny I decided to rewrite EntityId.
It was the highest risk class according to PHPUnit (290 CRAP) in the
DataModel component, which really is bad considering this is one of our
most basic classes, which a lot of other code binds itself to. The goal of
rewriting it is getting rid of needless complexity, needless bindings and
making non-problematic use of the class easier.
The rewrite currently includes:
* Dropping of id prefix configurability (as previously discussed)
* Separation of the id class and the entity id DataValue (EntityId no
longer derives from DataValue. A new EntityIdDataValue composites in a
EntrityId)
* The EntityId class now has as fields entity type (string) and id
serialization (string)
* New ItemId and PropertyId derivatives, which in the constructor only take
the id serialization. The long term goal is to make EntityId abstract
* Serialization format compatibility where required. The format of the
DataValue will remain the same for now
Comments on the work in progress are welcome:
https://gerrit.wikimedia.org/r/#/c/80394/
It is possible this change will be done by tomorrow. More likely it'll only
be merged on Monday or later.
Cheers
--
Jeroen De Dauw
http://www.bn2vs.com
Don't panic. Don't be evil. ~=[,,_,,]:3
--