From 2780c52ad8a50f7644ef1b6c570e3f3ed6c6969b Mon Sep 17 00:00:00 2001 From: Greg Turnquist Date: Tue, 11 Sep 2018 17:12:39 -0500 Subject: [PATCH] SWS-1036 - Make SimpleXsdSchema's toString more resilient Backported to 2.x. --- .../org/springframework/xml/xsd/SimpleXsdSchema.java | 3 +++ .../org/springframework/xml/xsd/SimpleXsdSchemaTest.java | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/spring-xml/src/main/java/org/springframework/xml/xsd/SimpleXsdSchema.java b/spring-xml/src/main/java/org/springframework/xml/xsd/SimpleXsdSchema.java index f2bc09d8..a38009ef 100644 --- a/spring-xml/src/main/java/org/springframework/xml/xsd/SimpleXsdSchema.java +++ b/spring-xml/src/main/java/org/springframework/xml/xsd/SimpleXsdSchema.java @@ -91,6 +91,9 @@ public class SimpleXsdSchema implements XsdSchema, InitializingBean { @Override public String getTargetNamespace() { + + Assert.notNull(schemaElement, "schemaElement must not be null! Did you run afterPropertiesSet() or register this as a Spring bean?"); + return schemaElement.getAttribute("targetNamespace"); } diff --git a/spring-xml/src/test/java/org/springframework/xml/xsd/SimpleXsdSchemaTest.java b/spring-xml/src/test/java/org/springframework/xml/xsd/SimpleXsdSchemaTest.java index 1fc7afa0..d06a5452 100644 --- a/spring-xml/src/test/java/org/springframework/xml/xsd/SimpleXsdSchemaTest.java +++ b/spring-xml/src/test/java/org/springframework/xml/xsd/SimpleXsdSchemaTest.java @@ -16,6 +16,8 @@ package org.springframework.xml.xsd; +import org.junit.Test; + import org.springframework.core.io.Resource; public class SimpleXsdSchemaTest extends AbstractXsdSchemaTestCase { @@ -27,4 +29,11 @@ public class SimpleXsdSchemaTest extends AbstractXsdSchemaTestCase { return schema; } + @Test(expected = IllegalArgumentException.class) + public void testBareXsdSchema() { + + SimpleXsdSchema schema = new SimpleXsdSchema(); + schema.toString(); + } + } \ No newline at end of file