public void NotAccessibleInterfaceProxying() { const string xml = @"<?xml version='1.0' encoding='UTF-8' ?> <objects xmlns='http://www.springframework.net'> <object id='MyProxy' type='Spring.Aop.Framework.ProxyFactoryObject, Spring.Aop'> <property name='ProxyInterfaces'> <list> <value>Spring.Aop.Framework.HelperInterface2, Spring.Aop.Tests</value> </list> </property> <property name='TargetName' value='MyTarget' /> <property name='InterceptorNames'> <list> <value>MyInterceptor</value> </list> </property> </object> <object id='MyTarget' type='Spring.Aop.Framework.HelperClassForNotAccessibleInterfaceProxyingTest, Spring.Aop.Tests'/> <object id='MyInterceptor' type='Spring.Aop.Interceptor.NopInterceptor'/> </objects>"; MemoryStream stream = new MemoryStream(new UTF8Encoding().GetBytes(xml)); IResource resource = new InputStreamResource(stream, "Test ProxyFactoryObject"); XmlObjectFactory objectFactory = new XmlObjectFactory(resource, null); HelperInterface2 hc = (HelperInterface2)objectFactory.GetObject("MyProxy"); Console.WriteLine(hc.SecondDoSomething()); }
public void ErrorTests() { const string xml = @"<?xml version='1.0' encoding='UTF-8' ?> <objects xmlns='http://www.springframework.net' xmlns:v='http://www.springframework.net/validation'> <object id='ccAmex' type='Oragon.Spring.Validation.Validators.Amex, Oragon.Spring.Core'/> <v:validator id='ccValidator' test='Creditcard' type='Oragon.Spring.Validation.Validators.CreditCardValidator, Oragon.Spring.Core'> <v:property name='CardType' ref='ccAmex'/> <v:message id='errorKey' providers='validationSummary' /> </v:validator> </objects>"; MemoryStream stream = new MemoryStream(new UTF8Encoding().GetBytes(xml)); IResource resource = new InputStreamResource(stream, "ccValidator"); XmlObjectFactory objectFactory = new XmlObjectFactory(resource, null); IValidationErrors errors = new ValidationErrors(); Contact contact = new Contact(); IValidator validator = (IValidator)objectFactory.GetObject("ccValidator"); contact.Creditcard = "378282246310"; bool result = validator.Validate(contact, errors); Assert.IsNotNull(errors.GetErrors("validationSummary")); Assert.IsFalse(result); }
public XmlDocument CreateFromResource(InputStreamResource resource) { XmlDocument document = null; Stream input = resource.InputStream; try { document = (input == null) ? null : CreateDocumentBuilder().Parse( XmlReader.Create(input)); } finally { IOUtils.CloseQuietly(input); } return(document); }
public void TestDifferentCollectionTypes() { const string xml = @"<?xml version='1.0' encoding='UTF-8' ?> <objects xmlns='http://www.springframework.net' xmlns:v='http://www.springframework.net/validation'> <v:group id='validatePerson' when='T(Spring.Objects.TestObject) == #this.GetType()'> <v:required id ='req' when='true' test='Name'/> <v:regex id ='reg' test='Name'> <v:property name='Expression' value='[a-z]*\s[a-z]*'/> <v:property name='Options' value='IgnoreCase'/> <v:message id='reg1' providers='regularni' when='true'> <v:param value='#this.ToString()'/> </v:message> </v:regex> </v:group> <v:collection id='collectionValidator' validate-all='true'> <v:ref name='validatePerson'/> </v:collection> </objects>"; MemoryStream stream = new MemoryStream(new UTF8Encoding().GetBytes(xml)); IResource resource = new InputStreamResource(stream, "collectionValidator"); XmlObjectFactory objectFactory = new XmlObjectFactory(resource, null); CollectionValidator validator = (CollectionValidator)objectFactory.GetObject("collectionValidator"); IList listPersons = new ArrayList(); IDictionary dictPersons = new Hashtable(); ISet setPersons = new ListSet(); listPersons.Add(new TestObject("DAMJAN Tomic", 24)); listPersons.Add(new TestObject("Goran Milosavljevic", 24)); listPersons.Add(new TestObject("Ivan CIKIC", 28)); dictPersons.Add(1, listPersons[0]); dictPersons.Add(2, listPersons[1]); dictPersons.Add(3, listPersons[2]); setPersons.AddAll(listPersons); IValidationErrors ve = new ValidationErrors(); Assert.IsTrue(validator.Validate(listPersons, ve)); Assert.IsTrue(ve.IsEmpty); Assert.IsTrue(validator.Validate(dictPersons, ve)); Assert.IsTrue(ve.IsEmpty); Assert.IsTrue(validator.Validate(setPersons, ve)); Assert.IsTrue(ve.IsEmpty); }
public void TestNestingCollectionValidatorWithXMLDescription() { const string xml = @"<?xml version='1.0' encoding='UTF-8' ?> <objects xmlns='http://www.springframework.net' xmlns:v='http://www.springframework.net/validation'> <v:group id='validatePerson' when='T(Spring.Objects.TestObject) == #this.GetType()'> <v:required id ='req' when='true' test='Name'/> <v:regex id ='reg' test='Name'> <v:property name='Expression' value='[a-z]*\s[a-z]*'/> <v:property name='Options' value='IgnoreCase'/> <v:message id='reg1' providers='regExpr' when='true'> <v:param value='#this.ToString()'/> </v:message> </v:regex> </v:group> <v:group id='validator'> <v:collection id='collectionValidator' validate-all='true' context='Members' include-element-errors='true'> <v:message id='coll1' providers='membersCollection' when='true'> <v:param value='#this.ToString()'/> </v:message> <v:ref name='validatePerson'/> </v:collection> </v:group> </objects>"; MemoryStream stream = new MemoryStream(new UTF8Encoding().GetBytes(xml)); IResource resource = new InputStreamResource(stream, "collection validator test"); XmlObjectFactory objectFactory = new XmlObjectFactory(resource, null); ValidatorGroup validator = (ValidatorGroup)objectFactory.GetObject("validator"); Society soc = new Society(); soc.Members.Add(new TestObject("Damjan Tomic", 24)); soc.Members.Add(new TestObject("Goran Milosavljevic", 24)); soc.Members.Add(new TestObject("Ivan Cikic", 28)); IValidationErrors err1 = new ValidationErrors(); Assert.IsTrue(validator.Validate(soc, err1)); soc.Members.Add(new TestObject("foo", 30)); soc.Members.Add(new TestObject("bar", 30)); Assert.IsFalse(validator.Validate(soc, err1)); }
public void ISBNValidatorTests() { const string xml = @"<?xml version='1.0' encoding='UTF-8' ?> <objects xmlns='http://www.springframework.net' xmlns:v='http://www.springframework.net/validation'> <v:validator id='urlValidator' test='#this' type='Spring.Validation.Validators.UrlValidator, Spring.Core'/> </objects>"; MemoryStream stream = new MemoryStream(new UTF8Encoding().GetBytes(xml)); IResource resource = new InputStreamResource(stream, "urlValidator"); XmlObjectFactory objectFactory = new XmlObjectFactory(resource, null); object obj = objectFactory.GetObject("urlValidator"); Assert.IsTrue(obj is IValidator); IValidator validator = obj as IValidator; Assert.IsTrue(validator.Validate("http://www.springframework.net", new ValidationErrors())); }
public void ContainerLoadsXmlFromRawStream() { var xml = "<objects xmlns=\"http://www.springframework.net\"><object id=\"Sauce\" type=\"SauceBéarnaise\" /></objects>"; using (var stream = new MemoryStream()) { using (var sw = new StreamWriter(stream)) { sw.Write(xml); sw.Flush(); stream.Position = 0; var resource = new InputStreamResource(stream, ""); var context = new XmlObjectFactory(resource); var sauce = context.GetObject("Sauce"); Assert.IsAssignableFrom <SauceBéarnaise>(sauce); } } }
public override void Setup() { string objectXml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?> " + " <objects xmlns=\"http://www.springframework.net\" " + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " + " xsi:schemaLocation=\"http://www.springframework.net http://www.springframework.net/xsd/spring-objects.xsd\"> " + " <object id=\"SimpleDependency\" singleton=\"false\" type=\"MvcContrib.UnitTests.IoC.SimpleDependency\"/> " + " <object id=\"NestedDependency\" singleton=\"false\" type=\"MvcContrib.UnitTests.IoC.NestedDependency\" > " + " <constructor-arg> " + " <object type=\"MvcContrib.UnitTests.IoC.SimpleDependency\" /> " + " </constructor-arg> " + " </object> " + " </objects>"; Stream stream = new MemoryStream(ASCIIEncoding.Default.GetBytes(objectXml)); IResource resource = new InputStreamResource(stream, "In memory xml"); IObjectFactory factory = new XmlObjectFactory(resource); _dependencyResolver = new SpringDependencyResolver(factory); }
public void ISBNValidatorTests() { const string xml = @"<?xml version='1.0' encoding='UTF-8' ?> <objects xmlns='http://www.springframework.net' xmlns:v='http://www.springframework.net/validation'> <v:validator id='isbnValidator' test='#this' type='Spring.Validation.Validators.ISBNValidator, Spring.Core'> <v:message id='error.airportCode.dummy' providers='summary' when='false'/> </v:validator> </objects>"; MemoryStream stream = new MemoryStream(new UTF8Encoding().GetBytes(xml)); IResource resource = new InputStreamResource(stream, "isbnValidator"); XmlObjectFactory objectFactory = new XmlObjectFactory(resource, null); object obj = objectFactory.GetObject("isbnValidator"); Assert.IsTrue(obj is IValidator); IValidator validator = obj as IValidator; Assert.IsTrue(validator.Validate("978-1-905158-79-9", new ValidationErrors())); }
public void WithNullCardType() { const string xml = @"<?xml version='1.0' encoding='UTF-8' ?> <objects xmlns='http://www.springframework.net' xmlns:v='http://www.springframework.net/validation'> <v:validator id='ccValidator' test='#this' type='Oragon.Spring.Validation.Validators.CreditCardValidator, Oragon.Spring.Core'> <v:message id='error.airportCode.dummy' providers='summary' when='false'/> </v:validator> </objects>"; MemoryStream stream = new MemoryStream(new UTF8Encoding().GetBytes(xml)); IResource resource = new InputStreamResource(stream, "ccValidator"); XmlObjectFactory objectFactory = new XmlObjectFactory(resource, null); object obj = objectFactory.GetObject("ccValidator"); Assert.IsTrue(obj is CreditCardValidator); CreditCardValidator validator = obj as CreditCardValidator; Assert.IsNull(validator.CardType); Assert.Throws <ArgumentException>(() => validator.Validate("378282246310005", new ValidationErrors())); }
public void ConfigureContainerWithSauceUsingLinqToXml() { XNamespace xmlns = @"http://www.springframework.net"; var xml = new XElement(xmlns + "objects", new XElement(xmlns + "object", new XAttribute("id", "Sauce"), new XAttribute("type", "SauceBéarnaise"))); using (var stream = new MemoryStream()) { using (var xw = XmlWriter.Create(stream)) { xml.Save(xw); xw.Flush(); stream.Position = 0; } var resource = new InputStreamResource(stream, ""); var context = new XmlObjectFactory(resource); var sauce = context.GetObject("Sauce"); Assert.IsAssignableFrom <SauceBéarnaise>(sauce); } }
public static ProcessEngineConfiguration parseProcessEngineConfigurationFromInputStream(Stream inputStream, string beanName) { Resource springResource = new InputStreamResource(inputStream); return(parseProcessEngineConfiguration(springResource, beanName)); }