Skip to content

Commit 3c7a6b9

Browse files
marschallgregturn
authored andcommitted
SWS-921 Use varargs for XSD schemas
XML schema validation accepting multiple schemas currently uses arrays of Resource objects. They would be a bit easier and more succinct to use if the setters were switched to varargs. Such a change would be backwards compatible. This change includes: * change AbstractValidatingInterceptor#setSchemas to use varargs * change the CommonsXsdSchemaCollection constructor to use varargs * change CommonsXsdSchemaCollection.setXsds to use varargs * update the tests to use varargs Issue: SWS-921 https://jira.spring.io/browse/SWS-921
1 parent 35f3fb9 commit 3c7a6b9

File tree

8 files changed

+32
-33
lines changed

8 files changed

+32
-33
lines changed

spring-ws-core/src/main/java/org/springframework/ws/client/support/interceptor/AbstractValidatingInterceptor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,15 +87,15 @@ public Resource[] getSchemas() {
8787
* #setSchemas(Resource[]) schemas} is required.
8888
*/
8989
public void setSchema(Resource schema) {
90-
setSchemas(new Resource[]{schema});
90+
setSchemas(schema);
9191
}
9292

9393
/**
9494
* Sets the schema resources to use for validation. Setting this property, {@link
9595
* #setXsdSchemaCollection(XsdSchemaCollection) xsdSchemaCollection}, {@link #setSchema(Resource) schema}, or {@link
9696
* #setSchemas(Resource[]) schemas} is required.
9797
*/
98-
public void setSchemas(Resource[] schemas) {
98+
public void setSchemas(Resource... schemas) {
9999
Assert.notEmpty(schemas, "schemas must not be empty or null");
100100
for (Resource schema : schemas) {
101101
Assert.notNull(schema, "schema must not be null");

spring-ws-core/src/main/java/org/springframework/ws/server/endpoint/interceptor/AbstractValidatingInterceptor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,15 @@ public Resource[] getSchemas() {
9393
* #setSchemas(Resource[]) schemas} is required.
9494
*/
9595
public void setSchema(Resource schema) {
96-
setSchemas(new Resource[]{schema});
96+
setSchemas(schema);
9797
}
9898

9999
/**
100100
* Sets the schema resources to use for validation. Setting this property, {@link
101101
* #setXsdSchemaCollection(XsdSchemaCollection) xsdSchemaCollection}, {@link #setSchema(Resource) schema}, or {@link
102102
* #setSchemas(Resource[]) schemas} is required.
103103
*/
104-
public void setSchemas(Resource[] schemas) {
104+
public void setSchemas(Resource... schemas) {
105105
Assert.notEmpty(schemas, "schemas must not be empty or null");
106106
for (Resource schema : schemas) {
107107
Assert.notNull(schema, "schema must not be null");

spring-ws-core/src/test/java/org/springframework/ws/client/support/interceptor/PayloadValidatingInterceptorTest.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.junit.Test;
3131

3232
import org.springframework.core.io.ClassPathResource;
33-
import org.springframework.core.io.Resource;
3433
import org.springframework.ws.MockWebServiceMessage;
3534
import org.springframework.ws.MockWebServiceMessageFactory;
3635
import org.springframework.ws.client.WebServiceClientException;
@@ -188,8 +187,8 @@ public void testNonExistingSchema() throws Exception {
188187

189188
@Test
190189
public void testHandlerInvalidRequestMultipleSchemas() throws Exception {
191-
interceptor.setSchemas(new Resource[]{new ClassPathResource(PRODUCT_SCHEMA, getClass()),
192-
new ClassPathResource(SIZE_SCHEMA, getClass())});
190+
interceptor.setSchemas(new ClassPathResource(PRODUCT_SCHEMA, getClass()),
191+
new ClassPathResource(SIZE_SCHEMA, getClass()));
193192
interceptor.afterPropertiesSet();
194193
MockWebServiceMessage request = new MockWebServiceMessage(new ClassPathResource(INVALID_MESSAGE, getClass()));
195194
context = new DefaultMessageContext(request, new MockWebServiceMessageFactory());
@@ -207,8 +206,8 @@ public void testHandlerInvalidRequestMultipleSchemas() throws Exception {
207206

208207
@Test
209208
public void testHandleValidRequestMultipleSchemas() throws Exception {
210-
interceptor.setSchemas(new Resource[]{new ClassPathResource(PRODUCT_SCHEMA, getClass()),
211-
new ClassPathResource(SIZE_SCHEMA, getClass())});
209+
interceptor.setSchemas(new ClassPathResource(PRODUCT_SCHEMA, getClass()),
210+
new ClassPathResource(SIZE_SCHEMA, getClass()));
212211
interceptor.afterPropertiesSet();
213212
MockWebServiceMessage request = new MockWebServiceMessage(new ClassPathResource(VALID_MESSAGE, getClass()));
214213
context = new DefaultMessageContext(request, new MockWebServiceMessageFactory());
@@ -220,8 +219,8 @@ public void testHandleValidRequestMultipleSchemas() throws Exception {
220219

221220
@Test
222221
public void testHandleInvalidResponseMultipleSchemas() throws Exception {
223-
interceptor.setSchemas(new Resource[]{new ClassPathResource(PRODUCT_SCHEMA, getClass()),
224-
new ClassPathResource(SIZE_SCHEMA, getClass())});
222+
interceptor.setSchemas(new ClassPathResource(PRODUCT_SCHEMA, getClass()),
223+
new ClassPathResource(SIZE_SCHEMA, getClass()));
225224
interceptor.afterPropertiesSet();
226225
MockWebServiceMessage request = new MockWebServiceMessage();
227226
context = new DefaultMessageContext(request, new MockWebServiceMessageFactory());
@@ -233,8 +232,8 @@ public void testHandleInvalidResponseMultipleSchemas() throws Exception {
233232

234233
@Test
235234
public void testHandleValidResponseMultipleSchemas() throws Exception {
236-
interceptor.setSchemas(new Resource[]{new ClassPathResource(PRODUCT_SCHEMA, getClass()),
237-
new ClassPathResource(SIZE_SCHEMA, getClass())});
235+
interceptor.setSchemas(new ClassPathResource(PRODUCT_SCHEMA, getClass()),
236+
new ClassPathResource(SIZE_SCHEMA, getClass()));
238237
interceptor.afterPropertiesSet();
239238
MockWebServiceMessage request = new MockWebServiceMessage();
240239
context = new DefaultMessageContext(request, new MockWebServiceMessageFactory());

spring-ws-core/src/test/java/org/springframework/ws/soap/server/endpoint/interceptor/PayloadValidatingInterceptorTest.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -242,8 +242,8 @@ public void testNonExistingSchema() throws Exception {
242242

243243
@Test
244244
public void testHandlerInvalidRequestMultipleSchemas() throws Exception {
245-
interceptor.setSchemas(new Resource[]{new ClassPathResource(PRODUCT_SCHEMA, getClass()),
246-
new ClassPathResource(SIZE_SCHEMA, getClass())});
245+
interceptor.setSchemas(new ClassPathResource(PRODUCT_SCHEMA, getClass()),
246+
new ClassPathResource(SIZE_SCHEMA, getClass()));
247247
interceptor.afterPropertiesSet();
248248
MockWebServiceMessage request = new MockWebServiceMessage(new ClassPathResource(INVALID_MESSAGE, getClass()));
249249
context = new DefaultMessageContext(request, new MockWebServiceMessageFactory());
@@ -253,8 +253,8 @@ public void testHandlerInvalidRequestMultipleSchemas() throws Exception {
253253

254254
@Test
255255
public void testHandleValidRequestMultipleSchemas() throws Exception {
256-
interceptor.setSchemas(new Resource[]{new ClassPathResource(PRODUCT_SCHEMA, getClass()),
257-
new ClassPathResource(SIZE_SCHEMA, getClass())});
256+
interceptor.setSchemas(new ClassPathResource(PRODUCT_SCHEMA, getClass()),
257+
new ClassPathResource(SIZE_SCHEMA, getClass()));
258258
interceptor.afterPropertiesSet();
259259
MockWebServiceMessage request = new MockWebServiceMessage(new ClassPathResource(VALID_MESSAGE, getClass()));
260260
context = new DefaultMessageContext(request, new MockWebServiceMessageFactory());
@@ -266,8 +266,8 @@ public void testHandleValidRequestMultipleSchemas() throws Exception {
266266

267267
@Test
268268
public void testHandleInvalidResponseMultipleSchemas() throws Exception {
269-
interceptor.setSchemas(new Resource[]{new ClassPathResource(PRODUCT_SCHEMA, getClass()),
270-
new ClassPathResource(SIZE_SCHEMA, getClass())});
269+
interceptor.setSchemas(new ClassPathResource(PRODUCT_SCHEMA, getClass()),
270+
new ClassPathResource(SIZE_SCHEMA, getClass()));
271271
interceptor.afterPropertiesSet();
272272
MockWebServiceMessage request = new MockWebServiceMessage();
273273
context = new DefaultMessageContext(request, new MockWebServiceMessageFactory());
@@ -279,8 +279,8 @@ public void testHandleInvalidResponseMultipleSchemas() throws Exception {
279279

280280
@Test
281281
public void testHandleValidResponseMultipleSchemas() throws Exception {
282-
interceptor.setSchemas(new Resource[]{new ClassPathResource(PRODUCT_SCHEMA, getClass()),
283-
new ClassPathResource(SIZE_SCHEMA, getClass())});
282+
interceptor.setSchemas(new ClassPathResource(PRODUCT_SCHEMA, getClass()),
283+
new ClassPathResource(SIZE_SCHEMA, getClass()));
284284
interceptor.afterPropertiesSet();
285285
MockWebServiceMessage request = new MockWebServiceMessage();
286286
context = new DefaultMessageContext(request, new MockWebServiceMessageFactory());

spring-ws-core/src/test/java/org/springframework/ws/wsdl/wsdl11/DefaultWsdl11DefinitionTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public void testSingle() throws Exception {
7979
@Test
8080
public void testInclude() throws Exception {
8181
ClassPathResource resource = new ClassPathResource("including.xsd", getClass());
82-
CommonsXsdSchemaCollection schemaCollection = new CommonsXsdSchemaCollection(new Resource[]{resource});
82+
CommonsXsdSchemaCollection schemaCollection = new CommonsXsdSchemaCollection(resource);
8383
schemaCollection.setInline(true);
8484
schemaCollection.afterPropertiesSet();
8585
definition.setSchemaCollection(schemaCollection);
@@ -100,7 +100,7 @@ public void testInclude() throws Exception {
100100
@Test
101101
public void testImport() throws Exception {
102102
ClassPathResource resource = new ClassPathResource("importing.xsd", getClass());
103-
CommonsXsdSchemaCollection schemaCollection = new CommonsXsdSchemaCollection(new Resource[]{resource});
103+
CommonsXsdSchemaCollection schemaCollection = new CommonsXsdSchemaCollection(resource);
104104
schemaCollection.setInline(true);
105105
schemaCollection.afterPropertiesSet();
106106
definition.setSchemaCollection(schemaCollection);

spring-ws-core/src/test/java/org/springframework/ws/wsdl/wsdl11/provider/InliningXsdSchemaTypesProviderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public void testComplex() throws Exception {
7676
definition.addNamespace("schema", schemaNamespace);
7777

7878
Resource resource = new ClassPathResource("A.xsd", getClass());
79-
CommonsXsdSchemaCollection collection = new CommonsXsdSchemaCollection(new Resource[]{resource});
79+
CommonsXsdSchemaCollection collection = new CommonsXsdSchemaCollection(resource);
8080
collection.setInline(true);
8181
collection.afterPropertiesSet();
8282

spring-xml/src/main/java/org/springframework/xml/xsd/commons/CommonsXsdSchemaCollection.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public CommonsXsdSchemaCollection() {
8787
*
8888
* @param resources the schema resources to load
8989
*/
90-
public CommonsXsdSchemaCollection(Resource[] resources) {
90+
public CommonsXsdSchemaCollection(Resource... resources) {
9191
this.xsdResources = resources;
9292
}
9393

@@ -96,7 +96,7 @@ public CommonsXsdSchemaCollection(Resource[] resources) {
9696
*
9797
* @param xsdResources the schema resources to be loaded
9898
*/
99-
public void setXsds(Resource[] xsdResources) {
99+
public void setXsds(Resource... xsdResources) {
100100
this.xsdResources = xsdResources;
101101
}
102102

spring-xml/src/test/java/org/springframework/xml/xsd/commons/CommonsXsdSchemaCollectionTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,15 @@ public void setUp() throws Exception {
5959
@Test
6060
public void testSingle() throws Exception {
6161
Resource resource = new ClassPathResource("single.xsd", AbstractXsdSchemaTestCase.class);
62-
collection.setXsds(new Resource[]{resource});
62+
collection.setXsds(resource);
6363
collection.afterPropertiesSet();
6464
Assert.assertEquals("Invalid amount of XSDs loaded", 1, collection.getXsdSchemas().length);
6565
}
6666

6767
@Test
6868
public void testInlineComplex() throws Exception {
6969
Resource a = new ClassPathResource("A.xsd", AbstractXsdSchemaTestCase.class);
70-
collection.setXsds(new Resource[]{a});
70+
collection.setXsds(a);
7171
collection.setInline(true);
7272
collection.afterPropertiesSet();
7373
XsdSchema[] schemas = collection.getXsdSchemas();
@@ -91,7 +91,7 @@ public void testInlineComplex() throws Exception {
9191
@Test
9292
public void testCircular() throws Exception {
9393
Resource resource = new ClassPathResource("circular-1.xsd", AbstractXsdSchemaTestCase.class);
94-
collection.setXsds(new Resource[]{resource});
94+
collection.setXsds(resource);
9595
collection.setInline(true);
9696
collection.afterPropertiesSet();
9797
XsdSchema[] schemas = collection.getXsdSchemas();
@@ -101,7 +101,7 @@ public void testCircular() throws Exception {
101101
@Test
102102
public void testXmlNamespace() throws Exception {
103103
Resource resource = new ClassPathResource("xmlNamespace.xsd", AbstractXsdSchemaTestCase.class);
104-
collection.setXsds(new Resource[]{resource});
104+
collection.setXsds(resource);
105105
collection.setInline(true);
106106
collection.afterPropertiesSet();
107107
XsdSchema[] schemas = collection.getXsdSchemas();
@@ -111,7 +111,7 @@ public void testXmlNamespace() throws Exception {
111111
@Test
112112
public void testCreateValidator() throws Exception {
113113
Resource a = new ClassPathResource("A.xsd", AbstractXsdSchemaTestCase.class);
114-
collection.setXsds(new Resource[]{a});
114+
collection.setXsds(a);
115115
collection.setInline(true);
116116
collection.afterPropertiesSet();
117117

@@ -122,7 +122,7 @@ public void testCreateValidator() throws Exception {
122122
@Test
123123
public void testInvalidSchema() throws Exception {
124124
Resource invalid = new ClassPathResource("invalid.xsd", AbstractXsdSchemaTestCase.class);
125-
collection.setXsds(new Resource[]{invalid});
125+
collection.setXsds(invalid);
126126
try {
127127
collection.afterPropertiesSet();
128128
Assert.fail("CommonsXsdSchemaException expected");
@@ -135,7 +135,7 @@ public void testInvalidSchema() throws Exception {
135135
@Test
136136
public void testIncludesAndImports() throws Exception {
137137
Resource hr = new ClassPathResource("hr.xsd", getClass());
138-
collection.setXsds(new Resource[]{hr});
138+
collection.setXsds(hr);
139139
collection.setInline(true);
140140
collection.afterPropertiesSet();
141141

0 commit comments

Comments
 (0)