internal static bool SetCollectionPropertyIfElementDefined(XmlElement element, ParserContext parserContext, ObjectDefinitionBuilder builder, string propertyName, string parentPropertyName, string parentId) { var propertyElement = element.GetSingleChildElement(propertyName.ToCamelCase()); if (propertyElement != null) { var managedList = new ManagedList(); foreach (XmlNode node in propertyElement) { var parser = NamespaceParserRegistry.GetParser(node.NamespaceURI); var objectDefinition = parser.ParseElement((XmlElement)node, parserContext); if (!string.IsNullOrEmpty(parentPropertyName)) { //if the child object has a parent Property specified then set it as well for bi-directional relationships to work seamlessly. objectDefinition.PropertyValues.Add(parentPropertyName, new RuntimeObjectReference(parentId)); } managedList.Add(objectDefinition); } builder.AddPropertyValue(propertyName, managedList); return(true); } return(false); }
public void Registered() { NamespaceParserRegistry.RegisterParser(typeof(WcfNamespaceParser)); INamespaceParser namespaceParser = NamespaceParserRegistry.GetParser("http://www.springframework.net/wcf"); Assert.IsNotNull(namespaceParser); Assert.IsTrue(namespaceParser is WcfNamespaceParser); }
public void Registered() { Assert.IsNotNull(NamespaceParserRegistry.GetParser("http://www.springframework.net/tx")); Assert.IsTrue(ctx.ContainsObjectDefinition(AopNamespaceUtils.AUTO_PROXY_CREATOR_OBJECT_NAME)); string className = typeof(ObjectFactoryTransactionAttributeSourceAdvisor).FullName; string targetName = className + ObjectDefinitionReaderUtils.GENERATED_OBJECT_NAME_SEPARATOR + "0"; Assert.IsTrue(ctx.ContainsObjectDefinition(targetName)); }
public static bool SetValueIfElementDefined(XmlElement element, ParserContext parserContext, ObjectDefinitionBuilder builder, string propertyName) { var childElement = element.GetSingleChildElement(propertyName.ToCamelCase()); if (childElement != null) { var parser = NamespaceParserRegistry.GetParser(childElement.NamespaceURI); var objectDefinition = parser.ParseElement(childElement, parserContext); builder.AddPropertyValue(propertyName, objectDefinition); return(true); } return(false); }
public static bool AddConstructorArgValueIfElementDefined(XmlElement element, ParserContext parserContext, ObjectDefinitionBuilder builder, string childElementName) { var childElement = element.GetSingleChildElement(childElementName); if (childElement != null) { var parser = NamespaceParserRegistry.GetParser(childElement.NamespaceURI); var inlineConnection = parser.ParseElement(childElement, parserContext); builder.AddConstructorArg(inlineConnection); return(true); } return(false); }
public void Registered() { Assert.IsNotNull(NamespaceParserRegistry.GetParser("http://www.springframework.net/aop")); IPointcut pointcut = ctx["getDescriptionCalls"] as IPointcut; Assert.IsNotNull(pointcut); Assert.IsFalse(AopUtils.IsAopProxy(pointcut)); ITestObject testObject = ctx["testObject"] as ITestObject; Assert.IsNotNull(testObject); Assert.IsTrue(AopUtils.IsAopProxy(testObject), "Object should be an AOP proxy"); IAdvised advised = testObject as IAdvised; Assert.IsNotNull(advised); IAdvisor[] advisors = advised.Advisors; Assert.IsTrue(advisors.Length > 0, "Advisors should not be empty"); }
public void Registered() { Assert.IsNotNull(NamespaceParserRegistry.GetParser("http://www.springframework.net/ems")); }
/// <summary> /// Resolve the namespace URI and return the corresponding <see cref="INamespaceParser"/> /// implementation. /// </summary> /// <param name="namespaceUri">the namespace URI to get the matching parser for.</param> /// <returns>the matching parser or <c>null</c></returns> public INamespaceParser Resolve(string namespaceUri) { return(NamespaceParserRegistry.GetParser(namespaceUri)); }
public void RegisteredAsWellKnownParser() { Assert.IsNotNull(NamespaceParserRegistry.GetParser("http://www.springframework.net/context")); }
public void Registered() { INamespaceParser parser = NamespaceParserRegistry.GetParser("http://www.springframework.net/mongo"); Assert.That(parser, Is.Not.Null); }