Adapt to deprecation
This commit is contained in:
@@ -35,7 +35,7 @@ import java.lang.annotation.Target;
|
||||
* </ul>
|
||||
*
|
||||
* @author Arjen Poutsma
|
||||
* @see org.springframework.ws.server.endpoint.adapter.XPathParamAnnotationMethodEndpointAdapter
|
||||
* @see org.springframework.ws.server.endpoint.adapter.method.XPathParamMethodArgumentResolver
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Target(ElementType.PARAMETER)
|
||||
|
||||
@@ -19,6 +19,7 @@ package org.springframework.ws.server.endpoint.interceptor;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
|
||||
import javax.xml.parsers.SAXParserFactory;
|
||||
import javax.xml.transform.Source;
|
||||
import javax.xml.transform.Templates;
|
||||
import javax.xml.transform.Transformer;
|
||||
@@ -30,7 +31,6 @@ import javax.xml.transform.stream.StreamSource;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.xml.sax.XMLReader;
|
||||
import org.xml.sax.helpers.XMLReaderFactory;
|
||||
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.core.io.Resource;
|
||||
@@ -139,7 +139,9 @@ public class PayloadTransformingInterceptor extends TransformerObjectSupport
|
||||
throw new IllegalArgumentException("Setting either 'requestXslt' or 'responseXslt' is required");
|
||||
}
|
||||
TransformerFactory transformerFactory = getTransformerFactory();
|
||||
XMLReader xmlReader = XMLReaderFactory.createXMLReader();
|
||||
SAXParserFactory parserFactory = SAXParserFactory.newInstance();
|
||||
parserFactory.setNamespaceAware(true);
|
||||
XMLReader xmlReader = parserFactory.newSAXParser().getXMLReader();
|
||||
xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
|
||||
if (requestXslt != null) {
|
||||
Assert.isTrue(requestXslt.exists(), "requestXslt \"" + requestXslt + "\" does not exit");
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.springframework.ws.server.endpoint.mapping.jaxb;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
@@ -86,13 +87,13 @@ public class XmlRootElementEndpointMapping extends AbstractAnnotationMethodEndpo
|
||||
|
||||
private QName handleRootElement(Class<?> parameterType) {
|
||||
try {
|
||||
Object param = parameterType.newInstance();
|
||||
Object param = parameterType.getDeclaredConstructor().newInstance();
|
||||
QName result = getElementName(parameterType, param);
|
||||
if (result != null) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
catch (InstantiationException | IllegalAccessException e) {
|
||||
catch (InvocationTargetException | NoSuchMethodException | InstantiationException | IllegalAccessException e) {
|
||||
// ignore
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -323,6 +323,7 @@ public class MessageDispatcherServlet extends FrameworkServlet {
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
protected long getLastModified(HttpServletRequest httpServletRequest) {
|
||||
WsdlDefinition definition = getWsdlDefinition(httpServletRequest);
|
||||
if (definition != null) {
|
||||
|
||||
@@ -49,6 +49,7 @@ public class WebServiceMessageReceiverHandlerAdapter extends WebServiceMessageRe
|
||||
implements HandlerAdapter {
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public long getLastModified(HttpServletRequest request, Object handler) {
|
||||
return -1L;
|
||||
}
|
||||
|
||||
@@ -140,6 +140,7 @@ public class WsdlDefinitionHandlerAdapter extends LocationTransformerObjectSuppo
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public long getLastModified(HttpServletRequest request, Object handler) {
|
||||
Source definitionSource = ((WsdlDefinition) handler).getSource();
|
||||
return LastModifiedHelper.getLastModified(definitionSource);
|
||||
|
||||
@@ -88,6 +88,7 @@ public class XsdSchemaHandlerAdapter extends LocationTransformerObjectSupport
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public long getLastModified(HttpServletRequest request, Object handler) {
|
||||
Source schemaSource = ((XsdSchema) handler).getSource();
|
||||
return LastModifiedHelper.getLastModified(schemaSource);
|
||||
|
||||
@@ -18,11 +18,12 @@ package org.springframework.ws.wsdl.wsdl11;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.parsers.SAXParserFactory;
|
||||
import javax.xml.transform.Source;
|
||||
|
||||
import org.xml.sax.SAXException;
|
||||
import org.xml.sax.XMLReader;
|
||||
import org.xml.sax.helpers.XMLReaderFactory;
|
||||
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.core.io.Resource;
|
||||
@@ -72,11 +73,13 @@ public class SimpleWsdl11Definition implements Wsdl11Definition, InitializingBea
|
||||
@Override
|
||||
public Source getSource() {
|
||||
try {
|
||||
XMLReader xmlReader = XMLReaderFactory.createXMLReader();
|
||||
SAXParserFactory parserFactory = SAXParserFactory.newInstance();
|
||||
parserFactory.setNamespaceAware(true);
|
||||
XMLReader xmlReader = parserFactory.newSAXParser().getXMLReader();
|
||||
xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
|
||||
return new ResourceSource(xmlReader, wsdlResource);
|
||||
}
|
||||
catch (SAXException ex) {
|
||||
catch (SAXException | ParserConfigurationException ex) {
|
||||
throw new WsdlDefinitionException("Could not create XMLReader", ex);
|
||||
}
|
||||
catch (IOException ex) {
|
||||
|
||||
@@ -26,6 +26,7 @@ import java.nio.charset.StandardCharsets;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.SAXParserFactory;
|
||||
import javax.xml.stream.XMLEventReader;
|
||||
import javax.xml.stream.XMLEventWriter;
|
||||
import javax.xml.stream.XMLInputFactory;
|
||||
@@ -48,7 +49,6 @@ import org.w3c.dom.Document;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.XMLReader;
|
||||
import org.xml.sax.helpers.DefaultHandler;
|
||||
import org.xml.sax.helpers.XMLReaderFactory;
|
||||
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.core.io.Resource;
|
||||
@@ -187,8 +187,9 @@ public abstract class AbstractWebServiceMessageTest {
|
||||
}
|
||||
|
||||
private void validateMessage() throws Exception {
|
||||
|
||||
XMLReader xmlReader = XMLReaderFactory.createXMLReader();
|
||||
SAXParserFactory parserFactory = SAXParserFactory.newInstance();
|
||||
parserFactory.setNamespaceAware(true);
|
||||
XMLReader xmlReader = parserFactory.newSAXParser().getXMLReader();
|
||||
xmlReader.setContentHandler(new DefaultHandler());
|
||||
ByteArrayOutputStream os = new ByteArrayOutputStream();
|
||||
webServiceMessage.writeTo(os);
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.springframework.ws.server.endpoint.adapter.MarshallingMethodEndpointA
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@Deprecated
|
||||
public class WebServiceNamespaceHandlerTest {
|
||||
|
||||
private ApplicationContext applicationContext;
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.springframework.ws.server.endpoint.adapter.XPathParamAnnotationMethod
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@Deprecated
|
||||
public class WebServicesNamespaceHandlerTigerTest {
|
||||
|
||||
private ApplicationContext applicationContext;
|
||||
|
||||
@@ -24,6 +24,7 @@ import java.nio.charset.StandardCharsets;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.SAXParserFactory;
|
||||
import javax.xml.stream.XMLEventReader;
|
||||
import javax.xml.stream.XMLInputFactory;
|
||||
import javax.xml.stream.XMLStreamReader;
|
||||
@@ -36,7 +37,6 @@ import org.junit.jupiter.api.Test;
|
||||
import org.w3c.dom.Document;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.XMLReader;
|
||||
import org.xml.sax.helpers.XMLReaderFactory;
|
||||
|
||||
import org.springframework.util.xml.StaxUtils;
|
||||
import org.springframework.xml.DocumentBuilderFactoryUtils;
|
||||
@@ -67,8 +67,9 @@ public abstract class AbstractEndpointTest {
|
||||
|
||||
@Test
|
||||
public void testSaxSource() throws Exception {
|
||||
|
||||
XMLReader reader = XMLReaderFactory.createXMLReader();
|
||||
SAXParserFactory parserFactory = SAXParserFactory.newInstance();
|
||||
parserFactory.setNamespaceAware(true);
|
||||
XMLReader reader = parserFactory.newSAXParser().getXMLReader();
|
||||
InputSource inputSource = new InputSource(new StringReader(REQUEST));
|
||||
testSource(new SAXSource(reader, inputSource));
|
||||
}
|
||||
|
||||
@@ -16,11 +16,12 @@
|
||||
|
||||
package org.springframework.ws.server.endpoint;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import org.dom4j.Document;
|
||||
import org.dom4j.Element;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@Deprecated
|
||||
public class Dom4jPayloadEndpointTest extends AbstractPayloadEndpointTest {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.w3c.dom.Element;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@Deprecated
|
||||
public class DomPayloadEndpointTest extends AbstractPayloadEndpointTest {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.jdom2.Namespace;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@Deprecated
|
||||
public class JDomPayloadEndpointTest extends AbstractPayloadEndpointTest {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -55,6 +55,7 @@ import static org.easymock.EasyMock.isA;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
|
||||
@Deprecated
|
||||
public class MarshallingPayloadEndpointTest {
|
||||
|
||||
private Transformer transformer;
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.springframework.xml.transform.StringSource;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
|
||||
@Deprecated
|
||||
public class SaxPayloadEndpointTest extends AbstractPayloadEndpointTest {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -33,7 +33,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
*
|
||||
* @see AbstractStaxEventPayloadEndpoint
|
||||
*/
|
||||
@SuppressWarnings("Since15")
|
||||
@Deprecated
|
||||
public class StaxEventPayloadEndpointTest extends AbstractMessageEndpointTest {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -16,17 +16,16 @@
|
||||
|
||||
package org.springframework.ws.server.endpoint;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import jakarta.xml.soap.MessageFactory;
|
||||
|
||||
import javax.xml.stream.XMLOutputFactory;
|
||||
import javax.xml.stream.XMLStreamConstants;
|
||||
import javax.xml.stream.XMLStreamReader;
|
||||
import javax.xml.stream.XMLStreamWriter;
|
||||
import javax.xml.transform.Transformer;
|
||||
|
||||
import jakarta.xml.soap.MessageFactory;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.xmlunit.assertj.XmlAssert;
|
||||
|
||||
import org.springframework.ws.context.DefaultMessageContext;
|
||||
import org.springframework.ws.context.MessageContext;
|
||||
import org.springframework.ws.soap.saaj.SaajSoapMessage;
|
||||
@@ -34,14 +33,15 @@ import org.springframework.ws.soap.saaj.SaajSoapMessageFactory;
|
||||
import org.springframework.xml.transform.StringResult;
|
||||
import org.springframework.xml.transform.StringSource;
|
||||
import org.springframework.xml.transform.TransformerFactoryUtils;
|
||||
import org.xmlunit.assertj.XmlAssert;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Test case for AbstractStaxStreamPayloadEndpoint.
|
||||
*
|
||||
* @see AbstractStaxStreamPayloadEndpoint
|
||||
*/
|
||||
@SuppressWarnings("Since15")
|
||||
@Deprecated
|
||||
public class StaxStreamPayloadEndpointTest extends AbstractMessageEndpointTest {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -16,10 +16,11 @@
|
||||
|
||||
package org.springframework.ws.server.endpoint;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import nu.xom.Element;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@Deprecated
|
||||
public class XomPayloadEndpointTest extends AbstractPayloadEndpointTest {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -41,6 +41,7 @@ import static org.easymock.EasyMock.isA;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
|
||||
@Deprecated
|
||||
public class GenericMarshallingMethodEndpointAdapterTest {
|
||||
|
||||
private GenericMarshallingMethodEndpointAdapter adapter;
|
||||
|
||||
@@ -39,6 +39,7 @@ import static org.easymock.EasyMock.isA;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
|
||||
@Deprecated
|
||||
public class MarshallingMethodEndpointAdapterTest {
|
||||
|
||||
private MarshallingMethodEndpointAdapter adapter;
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.springframework.ws.server.endpoint.MethodEndpoint;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@Deprecated
|
||||
public class MessageMethodEndpointAdapterTest {
|
||||
|
||||
private MessageMethodEndpointAdapter adapter;
|
||||
|
||||
@@ -32,6 +32,7 @@ import org.springframework.ws.server.endpoint.MethodEndpoint;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@Deprecated
|
||||
public class PayloadMethodEndpointAdapterTest {
|
||||
|
||||
private PayloadMethodEndpointAdapter adapter;
|
||||
|
||||
@@ -48,6 +48,7 @@ import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
|
||||
@Deprecated
|
||||
public class XPathParamAnnotationMethodEndpointAdapterTest {
|
||||
|
||||
private static final String CONTENTS = "<root><child><text>text</text><number>42.0</number></child></root>";
|
||||
|
||||
@@ -46,6 +46,7 @@ import org.springframework.ws.soap.saaj.SaajSoapMessageFactory;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
|
||||
@Deprecated
|
||||
public class FaultCreatingValidatingMarshallingPayloadEndpointTest {
|
||||
|
||||
private MessageContext messageContext;
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.util.Collections;
|
||||
import java.util.Random;
|
||||
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.io.input.CountingInputStream;
|
||||
import org.apache.commons.io.input.BoundedInputStream;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
|
||||
@@ -46,11 +46,11 @@ public class AbstractHttpSenderConnectionTest {
|
||||
* enabled.
|
||||
*/
|
||||
private void testSupportsStreaming(boolean chunking) throws Exception {
|
||||
|
||||
byte[] content = new byte[16 * 1024];
|
||||
new Random().nextBytes(content);
|
||||
CountingInputStream rawInputStream = new CountingInputStream(new ByteArrayInputStream(content));
|
||||
|
||||
BoundedInputStream rawInputStream = BoundedInputStream.builder()
|
||||
.setInputStream(new ByteArrayInputStream(content))
|
||||
.get();
|
||||
AbstractHttpSenderConnection connection = spy(AbstractHttpSenderConnection.class);
|
||||
when(connection.getResponseCode()).thenReturn(200);
|
||||
// Simulate response with chunking enabled
|
||||
|
||||
@@ -39,6 +39,7 @@ import org.springframework.ws.soap.saaj.SaajSoapMessageFactory;
|
||||
import org.springframework.ws.transport.WebServiceConnection;
|
||||
import org.springframework.ws.transport.support.FreePortScanner;
|
||||
|
||||
@Deprecated
|
||||
public class CommonsHttpMessageSenderIntegrationTest
|
||||
extends AbstractHttpWebServiceMessageSenderIntegrationTest<CommonsHttpMessageSender> {
|
||||
|
||||
@@ -52,7 +53,7 @@ public class CommonsHttpMessageSenderIntegrationTest
|
||||
|
||||
CommonsHttpMessageSender messageSender = new CommonsHttpMessageSender();
|
||||
messageSender.setMaxTotalConnections(2);
|
||||
Map<String, String> maxConnectionsPerHost = new HashMap<String, String>();
|
||||
Map<String, String> maxConnectionsPerHost = new HashMap<>();
|
||||
maxConnectionsPerHost.put("https://www.example.com", "1");
|
||||
maxConnectionsPerHost.put("http://www.example.com:8080", "7");
|
||||
maxConnectionsPerHost.put("www.springframework.org", "10");
|
||||
|
||||
@@ -45,6 +45,7 @@ import org.springframework.ws.transport.support.FreePortScanner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class HttpComponentsMessageSenderIntegrationTest
|
||||
extends AbstractHttpWebServiceMessageSenderIntegrationTest<HttpComponentsMessageSender> {
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ public class XsdSchemaHandlerAdapterTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@Deprecated
|
||||
public void getLastModified() throws Exception {
|
||||
|
||||
Resource single = new ClassPathResource("single.xsd", getClass());
|
||||
|
||||
@@ -54,8 +54,8 @@ public class SpringBasedX509UserCache implements X509UserCache, InitializingBean
|
||||
|
||||
String subjectDN = "unknown";
|
||||
|
||||
if ((userCert != null) && (userCert.getSubjectDN() != null)) {
|
||||
subjectDN = userCert.getSubjectDN().toString();
|
||||
if ((userCert != null) && (userCert.getSubjectX500Principal() != null)) {
|
||||
subjectDN = userCert.getSubjectX500Principal().toString();
|
||||
}
|
||||
|
||||
logger.debug("X.509 Cache hit. SubjectDN: " + subjectDN);
|
||||
@@ -68,7 +68,7 @@ public class SpringBasedX509UserCache implements X509UserCache, InitializingBean
|
||||
public void putUserInCache(X509Certificate userCert, UserDetails user) {
|
||||
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Cache put: " + userCert.getSubjectDN());
|
||||
logger.debug("Cache put: " + userCert.getSubjectX500Principal());
|
||||
}
|
||||
|
||||
cache.put(userCert, user);
|
||||
@@ -78,7 +78,7 @@ public class SpringBasedX509UserCache implements X509UserCache, InitializingBean
|
||||
public void removeUserFromCache(X509Certificate userCert) {
|
||||
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Cache remove: " + userCert.getSubjectDN());
|
||||
logger.debug("Cache remove: " + userCert.getSubjectX500Principal());
|
||||
}
|
||||
|
||||
cache.evict(userCert);
|
||||
|
||||
@@ -69,7 +69,7 @@ public class DaoX509AuthoritiesPopulator implements X509AuthoritiesPopulator, In
|
||||
|
||||
@Override
|
||||
public UserDetails getUserDetails(X509Certificate clientCert) throws AuthenticationException {
|
||||
String subjectDN = clientCert.getSubjectDN().getName();
|
||||
String subjectDN = clientCert.getSubjectX500Principal().getName();
|
||||
|
||||
Matcher matcher = subjectDNPattern.matcher(subjectDN);
|
||||
|
||||
|
||||
@@ -16,17 +16,21 @@
|
||||
|
||||
package org.springframework.ws.test.support.matcher;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.easymock.EasyMock.*;
|
||||
|
||||
import jakarta.xml.soap.MessageFactory;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.ws.WebServiceMessage;
|
||||
import org.springframework.ws.soap.SoapMessage;
|
||||
import org.springframework.ws.soap.saaj.SaajSoapMessage;
|
||||
import org.springframework.xml.transform.StringSource;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
|
||||
@Deprecated
|
||||
public class PayloadDiffMatcherTest {
|
||||
|
||||
@Test
|
||||
|
||||
@@ -31,6 +31,7 @@ import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
|
||||
@Deprecated
|
||||
public class SoapEnvelopeDiffMatcherTest {
|
||||
|
||||
@Test
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
*/
|
||||
package org.springframework.xml.transform;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
import javax.xml.XMLConstants;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.TransformerFactoryConfigurationError;
|
||||
@@ -43,9 +45,9 @@ public class TransformerFactoryUtils {
|
||||
*/
|
||||
public static TransformerFactory newInstance(Class<? extends TransformerFactory> transformerFactoryClass) {
|
||||
try {
|
||||
return defaultSettings(transformerFactoryClass.newInstance());
|
||||
return defaultSettings(transformerFactoryClass.getDeclaredConstructor().newInstance());
|
||||
}
|
||||
catch (InstantiationException | IllegalAccessException e) {
|
||||
catch (InvocationTargetException | NoSuchMethodException | InstantiationException | IllegalAccessException e) {
|
||||
throw new TransformerFactoryConfigurationError(e,
|
||||
"Could not instantiate TransformerFactory [" + transformerFactoryClass + "]");
|
||||
}
|
||||
|
||||
@@ -15,9 +15,12 @@
|
||||
*/
|
||||
package org.springframework.xml.validation;
|
||||
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.parsers.SAXParser;
|
||||
import javax.xml.parsers.SAXParserFactory;
|
||||
|
||||
import org.xml.sax.SAXException;
|
||||
import org.xml.sax.XMLReader;
|
||||
import org.xml.sax.helpers.XMLReaderFactory;
|
||||
|
||||
/**
|
||||
* @author Greg Turnquist
|
||||
@@ -27,17 +30,27 @@ public class XMLReaderFactoryUtils {
|
||||
|
||||
/**
|
||||
* Build a {@link XMLReader} and set properties to prevent external entity access.
|
||||
* @see XMLReaderFactory#createXMLReader()
|
||||
* @see SAXParser#getXMLReader()
|
||||
*/
|
||||
public static XMLReader createXMLReader() throws SAXException {
|
||||
XMLReader xmlReader = XMLReaderFactory.createXMLReader();
|
||||
|
||||
XMLReader xmlReader = namespaceAwareXmlReader();
|
||||
xmlReader.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
|
||||
xmlReader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
|
||||
xmlReader.setFeature("http://xml.org/sax/features/external-general-entities", false);
|
||||
xmlReader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
|
||||
|
||||
return xmlReader;
|
||||
}
|
||||
|
||||
private static XMLReader namespaceAwareXmlReader() throws SAXException {
|
||||
try {
|
||||
SAXParserFactory parserFactory = SAXParserFactory.newInstance();
|
||||
parserFactory.setNamespaceAware(true);
|
||||
return parserFactory.newSAXParser().getXMLReader();
|
||||
}
|
||||
catch (ParserConfigurationException ex) {
|
||||
throw new IllegalStateException(ex);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import java.io.StringReader;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.SAXParserFactory;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -27,7 +28,6 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.XMLReader;
|
||||
import org.xml.sax.helpers.XMLReaderFactory;
|
||||
|
||||
import org.springframework.xml.DocumentBuilderFactoryUtils;
|
||||
|
||||
@@ -63,7 +63,9 @@ public class DomContentHandlerTest {
|
||||
documentBuilderFactory.setNamespaceAware(true);
|
||||
documentBuilder = documentBuilderFactory.newDocumentBuilder();
|
||||
result = documentBuilder.newDocument();
|
||||
xmlReader = XMLReaderFactory.createXMLReader();
|
||||
SAXParserFactory parserFactory = SAXParserFactory.newInstance();
|
||||
parserFactory.setNamespaceAware(true);
|
||||
xmlReader = parserFactory.newSAXParser().getXMLReader();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -28,6 +28,7 @@ import java.nio.charset.StandardCharsets;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.SAXParserFactory;
|
||||
import javax.xml.stream.XMLEventReader;
|
||||
import javax.xml.stream.XMLEventWriter;
|
||||
import javax.xml.stream.XMLInputFactory;
|
||||
@@ -52,7 +53,6 @@ import org.xml.sax.XMLReader;
|
||||
import org.xml.sax.ext.DefaultHandler2;
|
||||
import org.xml.sax.ext.LexicalHandler;
|
||||
import org.xml.sax.helpers.DefaultHandler;
|
||||
import org.xml.sax.helpers.XMLReaderFactory;
|
||||
|
||||
import org.springframework.util.xml.StaxUtils;
|
||||
import org.springframework.xml.DocumentBuilderFactoryUtils;
|
||||
@@ -119,7 +119,9 @@ public class TraxUtilsTest {
|
||||
@Test
|
||||
public void testDoWithSaxSource() throws Exception {
|
||||
|
||||
XMLReader reader = XMLReaderFactory.createXMLReader();
|
||||
SAXParserFactory parserFactory = SAXParserFactory.newInstance();
|
||||
parserFactory.setNamespaceAware(true);
|
||||
XMLReader reader = parserFactory.newSAXParser().getXMLReader();
|
||||
InputSource inputSource = new InputSource();
|
||||
|
||||
TraxUtils.SourceCallback mock = createMock(TraxUtils.SourceCallback.class);
|
||||
|
||||
Reference in New Issue
Block a user