I've been adding a facility to bnd to use metatypes with components. I noticed that the Designate pid or factoryPid was not used as the pid but instead the the OCD id was used. As far as I can read the spec this is wrong, what would be the purpose of the Designate element?
<OCD name='Basic component config' id='ocd'>
<AD name='Message' id='message' cardinality='0' required='false' type='String'/>
Will be see as a pid of "ocd" and strangely enough there will be no interpretation of the metatype. Making pid and ocd id equal makes it work.