public void ShouldBeAbleToRegisterSameNamedConfigurationClassesFromDifferentNamespaces() { _parser.Parse(typeof(ConfigurationNameSpace1.SpringConfiguration), "1"); _parser.Parse(typeof(ConfigurationNameSpace2.SpringConfiguration), "2"); Assert.That(_parser.ConfigurationClasses.Count, Is.EqualTo(2), "Did not find two configuration classes"); }
private void ProcessConfigObjectDefinitions(IObjectDefinitionRegistry registry) { Collections.Generic.ISet <ObjectDefinitionHolder> configCandidates = new HashedSet <ObjectDefinitionHolder>(); foreach (string objectName in registry.GetObjectDefinitionNames()) { IObjectDefinition objectDef = registry.GetObjectDefinition(objectName); if (ConfigurationClassObjectDefinitionReader.CheckConfigurationClassCandidate(objectDef)) { configCandidates.Add(new ObjectDefinitionHolder(objectDef, objectName)); } } //if nothing to process, bail out if (configCandidates.Count == 0) { return; } ConfigurationClassParser parser = new ConfigurationClassParser(_problemReporter); foreach (ObjectDefinitionHolder holder in configCandidates) { IObjectDefinition bd = holder.ObjectDefinition; try { if (bd is AbstractObjectDefinition && ((AbstractObjectDefinition)bd).HasObjectType) { parser.Parse(((AbstractObjectDefinition)bd).ObjectType, holder.ObjectName); } else { //parser.Parse(bd.ObjectTypeName, holder.ObjectName); } } catch (ObjectDefinitionParsingException ex) { throw new ObjectDefinitionStoreException("Failed to load object class: " + bd.ObjectTypeName, ex); } } parser.Validate(); // Read the model and create Object definitions based on its content ConfigurationClassObjectDefinitionReader reader = new ConfigurationClassObjectDefinitionReader(registry, _problemReporter); reader.LoadObjectDefinitions(parser.ConfigurationClasses); }
private void ProcessConfigObjectDefinitions(IObjectDefinitionRegistry registry) { ISet<ObjectDefinitionHolder> configCandidates = new HashedSet<ObjectDefinitionHolder>(); foreach (string objectName in registry.GetObjectDefinitionNames()) { IObjectDefinition objectDef = registry.GetObjectDefinition(objectName); if (ConfigurationClassObjectDefinitionReader.CheckConfigurationClassCandidate(objectDef)) { configCandidates.Add(new ObjectDefinitionHolder(objectDef, objectName)); } } //if nothing to process, bail out if (configCandidates.Count == 0) { return; } ConfigurationClassParser parser = new ConfigurationClassParser(_problemReporter); foreach (ObjectDefinitionHolder holder in configCandidates) { IObjectDefinition bd = holder.ObjectDefinition; try { if (bd is AbstractObjectDefinition && ((AbstractObjectDefinition)bd).HasObjectType) { parser.Parse(((AbstractObjectDefinition)bd).ObjectType, holder.ObjectName); } else { //parser.Parse(bd.ObjectTypeName, holder.ObjectName); } } catch (ObjectDefinitionParsingException ex) { throw new ObjectDefinitionStoreException("Failed to load object class: " + bd.ObjectTypeName, ex); } } parser.Validate(); // Read the model and create Object definitions based on its content ConfigurationClassObjectDefinitionReader reader = new ConfigurationClassObjectDefinitionReader(registry, _problemReporter); reader.LoadObjectDefinitions(parser.ConfigurationClasses); }