Support attributes longer than 512kb.
This commit is contained in:
parent
9b97fb0e97
commit
62b0707b36
|
@ -221,6 +221,7 @@ public class XmlUtil {
|
||||||
if (inputFactory instanceof com.ctc.wstx.stax.WstxInputFactory) {
|
if (inputFactory instanceof com.ctc.wstx.stax.WstxInputFactory) {
|
||||||
// inputFactory.setProperty(WstxInputFactory.IS_REPLACING_ENTITY_REFERENCES, false);
|
// inputFactory.setProperty(WstxInputFactory.IS_REPLACING_ENTITY_REFERENCES, false);
|
||||||
inputFactory.setProperty(WstxInputProperties.P_UNDECLARED_ENTITY_RESOLVER, XML_RESOLVER);
|
inputFactory.setProperty(WstxInputProperties.P_UNDECLARED_ENTITY_RESOLVER, XML_RESOLVER);
|
||||||
|
inputFactory.setProperty(WstxInputProperties.P_MAX_ATTRIBUTE_SIZE, "100000000");
|
||||||
}
|
}
|
||||||
} catch (ClassNotFoundException e) {
|
} catch (ClassNotFoundException e) {
|
||||||
ourLog.debug("WstxOutputFactory (Woodstox) not found on classpath");
|
ourLog.debug("WstxOutputFactory (Woodstox) not found on classpath");
|
||||||
|
|
|
@ -958,7 +958,7 @@ public class ResourceProviderDstu2Test {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Test
|
@Test
|
||||||
public void testValidateResourceHuge() throws IOException {
|
public void testValidateResourceHuge() throws IOException {
|
||||||
|
|
||||||
Patient patient = new Patient();
|
Patient patient = new Patient();
|
||||||
|
|
|
@ -118,7 +118,7 @@ public class XmlParserTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// @Test
|
@Test
|
||||||
public void testParseAndEncodeHugeValue() {
|
public void testParseAndEncodeHugeValue() {
|
||||||
int len = 1000000;
|
int len = 1000000;
|
||||||
byte[] bytes = new byte[len];
|
byte[] bytes = new byte[len];
|
||||||
|
@ -137,7 +137,7 @@ public class XmlParserTest {
|
||||||
|
|
||||||
obs = ourCtx.newXmlParser().parseResource(Observation.class, str);
|
obs = ourCtx.newXmlParser().parseResource(Observation.class, str);
|
||||||
att = (AttachmentDt) obs.getValue();
|
att = (AttachmentDt) obs.getValue();
|
||||||
assertEquals(bytes, att.getData().getValue());
|
assertArrayEquals(bytes, att.getData().getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ public class ResourceValidatorDstu2Test {
|
||||||
ourLog.info(resultString);
|
ourLog.info(resultString);
|
||||||
|
|
||||||
assertEquals(2, result.getOperationOutcome().getIssue().size());
|
assertEquals(2, result.getOperationOutcome().getIssue().size());
|
||||||
assertThat(resultString, StringContains.containsString("'2000-15-31'"));
|
assertThat(resultString, StringContains.containsString("2000-15-31"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -58,6 +58,12 @@
|
||||||
<action type="add">
|
<action type="add">
|
||||||
LoggingInterceptor for server now supports logging DSTU2 extended operations by name
|
LoggingInterceptor for server now supports logging DSTU2 extended operations by name
|
||||||
</action>
|
</action>
|
||||||
|
<action type="fix">
|
||||||
|
Woodstox XML parser has a default setting to limit the maximum
|
||||||
|
length of an attribute to 512kb. This caused issues handling
|
||||||
|
large attachments, so this setting has been increased to 100Mb.
|
||||||
|
Thanks to Nikos Kyriakoulakos for reporting!
|
||||||
|
</action>
|
||||||
</release>
|
</release>
|
||||||
<release version="1.0" date="2015-May-8">
|
<release version="1.0" date="2015-May-8">
|
||||||
<action type="add">
|
<action type="add">
|
||||||
|
|
Loading…
Reference in New Issue