// There won't be any keys when loading a Configuration for the first time.
for (String mapMemberPropName : mapMemberPropNames)
{
Property mapMemberProp = propMap.get(mapMemberPropName);
MetaValue mapMemberMetaValue = compositeValue.get(mapMemberPropName);
MetaType mapMemberMetaType = compositeValue.getMetaType().getType(mapMemberPropName);
PropertyAdapter propertyAdapter = PropertyAdapterFactory.getPropertyAdapter(mapMemberMetaType);
PropertyDefinition mapMemberPropDef = propDefMap.get(mapMemberPropName);
if (mapMemberProp == null)
{
if (mapMemberPropDef != null)
mapMemberProp = propertyAdapter.convertToProperty(mapMemberMetaValue, mapMemberPropDef);
else
{
// If the member prop has no associated prop def, this is an "open map".
if (!mapMemberMetaType.isSimple() && !mapMemberMetaType.isEnum())
{
log.debug("Map member prop [" + mapMemberMetaType + "] is not a simple type - skipping...");
continue;
}
// Create a PropertySimple and populate it.