You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2013/11/04 22:29:18 UTC

svn commit: r1538773 - /uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/XmiCasSerializerTest.java

Author: schor
Date: Mon Nov  4 21:29:17 2013
New Revision: 1538773

URL: http://svn.apache.org/r1538773
Log:
[UIMA-2155] add support to bypass tests requiring xml 1.1 support, for those Javas that do not support 1.1 xml.

Modified:
    uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/XmiCasSerializerTest.java

Modified: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/XmiCasSerializerTest.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/XmiCasSerializerTest.java?rev=1538773&r1=1538772&r2=1538773&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/XmiCasSerializerTest.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/XmiCasSerializerTest.java Mon Nov  4 21:29:17 2013
@@ -23,6 +23,8 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.OutputStream;
 
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParserFactory;
 import javax.xml.transform.OutputKeys;
 
 import junit.framework.TestCase;
@@ -34,6 +36,8 @@ import org.apache.uima.test.junit_extens
 import org.apache.uima.util.CasCreationUtils;
 import org.apache.uima.util.XMLInputSource;
 import org.apache.uima.util.XMLSerializer;
+import org.xml.sax.SAXNotRecognizedException;
+import org.xml.sax.SAXNotSupportedException;
 import org.xml.sax.SAXParseException;
 
 /**
@@ -41,6 +45,17 @@ import org.xml.sax.SAXParseException;
  * serialization are tested elsewhere.
  */
 public class XmiCasSerializerTest extends TestCase {
+  
+  private  static boolean XML1_1_SUPPORTED = false;
+  
+  static {
+    try {
+      XML1_1_SUPPORTED = SAXParserFactory.newInstance().getFeature("http://xml.org/sax/features/xml-1.1");
+    } catch (SAXNotRecognizedException e) {
+    } catch (SAXNotSupportedException e) {
+    } catch (ParserConfigurationException e) {
+    }
+  }
 
   private TypeSystemDescription typeSystemDesc = null;
 
@@ -85,14 +100,16 @@ public class XmiCasSerializerTest extend
         caughtException);
     
     //but when XML 1.1 output is being generated, don't fail on control chracters which are valid in 1.1.
-    out = new FileOutputStream(this.outputFile);
-    try {
-      XMLSerializer xml11Serializer = new XMLSerializer(out);
-      xml11Serializer.setOutputProperty(OutputKeys.VERSION,"1.1");
-      xmiCasSerializer.serialize(cas, xml11Serializer.getContentHandler());
-    }
-    finally {
-      out.close();
+    if (XML1_1_SUPPORTED) {
+      out = new FileOutputStream(this.outputFile);
+      try {
+        XMLSerializer xml11Serializer = new XMLSerializer(out);
+        xml11Serializer.setOutputProperty(OutputKeys.VERSION,"1.1");
+        xmiCasSerializer.serialize(cas, xml11Serializer.getContentHandler());
+      }
+      finally {
+        out.close();
+      }
     }
   }
 
@@ -113,16 +130,18 @@ public class XmiCasSerializerTest extend
     assertTrue("XMI serialization of document text with bad XML 1.0 char should throw exception",
         caughtException);
     
-    //but when XML 1.1 output is being generated, don't fail on control chracters which are valid in 1.1.
-    out = new FileOutputStream(this.outputFile);
-    try {
-      XMLSerializer xml11Serializer = new XMLSerializer(out);
-      xml11Serializer.setOutputProperty(OutputKeys.VERSION,"1.1");
-      xmiCasSerializer.serialize(cas, xml11Serializer.getContentHandler());
-    }
-    finally {
-      out.close();
-    }    
+    //but when XML 1.1 output is being generated, don't fail on control characters which are valid in 1.1.
+    if (XML1_1_SUPPORTED) {
+      out = new FileOutputStream(this.outputFile);
+      try {
+        XMLSerializer xml11Serializer = new XMLSerializer(out);
+        xml11Serializer.setOutputProperty(OutputKeys.VERSION,"1.1");
+        xmiCasSerializer.serialize(cas, xml11Serializer.getContentHandler());
+      }
+      finally {
+        out.close();
+      }
+    }
   }
 
   /*