Exemplo n.º 1
0
 public void Destroy()
 {
     foreach (IValueObjectConfig config in managedValueObjectConfigs)
     {
         ValueObjectConfigExtendable.UnregisterValueObjectConfig(config);
     }
 }
Exemplo n.º 2
0
        protected void ConsumeConfigs(IEntityMetaData metaData, IList <XElement> entities)
        {
            for (int i = entities.Count; i-- > 0;)
            {
                XElement item = entities[i];

                IMap <String, IList <XElement> > configs = XmlConfigUtil.ChildrenToElementMap(item);
                IList <XElement> voConfigs = configs.Get(XmlConstants.VALUE_OBJECT.LocalName);
                for (int j = voConfigs.Count; j-- > 0;)
                {
                    XElement voConfig = voConfigs[j];

                    String valueTypeName = XmlConfigUtil.GetRequiredAttribute(voConfig, XmlConstants.CLASS);
                    Type   valueType     = XmlConfigUtil.GetTypeForName(valueTypeName);

                    bool exists = false;
                    foreach (IValueObjectConfig conf in managedValueObjectConfigs)
                    {
                        if (conf.ValueType.Equals(valueType) && conf.EntityType.Equals(metaData.EntityType))
                        {
                            exists = true;
                            break;
                        }
                    }
                    if (exists)
                    {
                        continue;
                    }

                    ValueObjectConfig config = new ValueObjectConfig();
                    config.EntityType = metaData.EntityType;
                    config.ValueType  = valueType;

                    HandleMembers(config, voConfig, metaData);

                    managedValueObjectConfigs.Add(config);
                    ValueObjectConfigExtendable.RegisterValueObjectConfig(config);
                }
            }
        }