You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2016/04/26 22:52:54 UTC
[12/15] olingo-odata2 git commit: [OLINGO-937] Changes in test
[OLINGO-937] Changes in test
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/0a00f197
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/0a00f197
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/0a00f197
Branch: refs/heads/OLINGO-882_EnableContainerManagedPersistence
Commit: 0a00f197f53585b6eb6c69551eca0eb19c473fdc
Parents: 1c81f7b
Author: Michael Bolz <mi...@sap.com>
Authored: Wed Apr 20 09:48:09 2016 +0200
Committer: Michael Bolz <mi...@sap.com>
Committed: Wed Apr 20 09:48:09 2016 +0200
----------------------------------------------------------------------
.../olingo/odata2/core/commons/XmlHelper.java | 8 ++---
.../odata2/core/commons/XmlHelperTest.java | 31 ++++++++++++++++++++
2 files changed, 34 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/0a00f197/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/commons/XmlHelper.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/commons/XmlHelper.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/commons/XmlHelper.java
index 1d6e79f..e5379e2 100644
--- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/commons/XmlHelper.java
+++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/commons/XmlHelper.java
@@ -33,15 +33,13 @@ public class XmlHelper {
/** Default used charset for reader */
private static final String DEFAULT_CHARSET = "UTF-8";
-
- private static class XmlInputFactoryHolder {
+ static class XmlInputFactoryHolder {
private static final XMLInputFactory INSTANCE = XMLInputFactory.newInstance();
}
-
- private static class XmlOutputFactoryHolder {
+ static class XmlOutputFactoryHolder {
private static final XMLOutputFactory INSTANCE = XMLOutputFactory.newInstance();
}
- private static class TransformerFactoryHolder {
+ static class TransformerFactoryHolder {
private static final TransformerFactory INSTANCE = TransformerFactory.newInstance();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/0a00f197/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/commons/XmlHelperTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/commons/XmlHelperTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/commons/XmlHelperTest.java
index dc8fb77..e633e66 100644
--- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/commons/XmlHelperTest.java
+++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/commons/XmlHelperTest.java
@@ -25,6 +25,8 @@ import static org.junit.Assert.fail;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
@@ -35,6 +37,7 @@ import org.apache.olingo.odata2.api.ep.EntityProvider;
import org.apache.olingo.odata2.api.ep.EntityProviderException;
import org.apache.olingo.odata2.api.ep.EntityProviderReadProperties;
import org.apache.olingo.odata2.testutil.mock.MockFacade;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
@@ -87,13 +90,41 @@ public class XmlHelperTest {
" <data>&rules;</data>" +
"</extract>";
+ private static Object beforeXmlInputFactory;
+
@BeforeClass
public static void beforeClass() {
// CHECKSTYLE:OFF
System.setProperty("javax.xml.stream.XMLInputFactory", "com.ctc.wstx.stax.WstxInputFactory"); // NOSONAR
+ //
+ beforeXmlInputFactory = replaceXmlInputFactoryInstance(XMLInputFactory.newInstance());
// CHECKSTYLE:ON
}
+ @AfterClass
+ public static void afterClass() {
+ replaceXmlInputFactoryInstance(beforeXmlInputFactory);
+ }
+
+ private static Object replaceXmlInputFactoryInstance(Object newInstance) {
+ try {
+ Field field = XmlHelper.XmlInputFactoryHolder.class.getDeclaredField("INSTANCE");
+ field.setAccessible(true);
+
+ Field modifiersField = Field.class.getDeclaredField("modifiers");
+ modifiersField.setAccessible(true);
+ modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
+
+ Object replaced = field.get(null);
+ field.set(null, newInstance);
+ return replaced;
+ } catch (NoSuchFieldException e) {
+ throw new RuntimeException(e);
+ } catch (IllegalAccessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
@Test
public void createReader() throws Exception {
InputStream content = new ByteArrayInputStream(XML.getBytes("UTF-8"));