You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by bu...@apache.org on 2016/11/10 14:06:56 UTC

svn commit: r1769119 - in /uima/uimaj/trunk/uimaj-core/src: main/java/org/apache/uima/analysis_engine/impl/ main/java/org/apache/uima/cas/impl/ main/java/org/apache/uima/resource/metadata/impl/ main/java/org/apache/uima/search/impl/ test/java/org/apach...

Author: burn
Date: Thu Nov 10 14:06:55 2016
New Revision: 1769119

URL: http://svn.apache.org/viewvc?rev=1769119&view=rev
Log:
UIMA-5177 Make the startElement calls follow the spec, i.e. empty strings instead of null

Modified:
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/ResultSpecification_impl.java
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/TypeOrFeature_impl.java
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XCASSerializer.java
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XmiCasSerializer.java
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ConfigurationGroup_impl.java
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/Import_impl.java
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/MetaDataObjectSerializer_plain.java
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/MetaDataObject_impl.java
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Attribute_impl.java
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Filter_impl.java
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Style_impl.java
    uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasIOUtilsTest.java

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/ResultSpecification_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/ResultSpecification_impl.java?rev=1769119&r1=1769118&r2=1769119&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/ResultSpecification_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/ResultSpecification_impl.java Thu Nov 10 14:06:55 2016
@@ -470,7 +470,7 @@ public final class ResultSpecification_i
    */
   @Override
   protected XmlizationInfo getXmlizationInfo() {
-    return new XmlizationInfo("resultSpecification", null,
+    return new XmlizationInfo("resultSpecification", "",
             new PropertyXmlInfo[] { new PropertyXmlInfo("resultTypesAndFeatures", null) });
   }
 

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/TypeOrFeature_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/TypeOrFeature_impl.java?rev=1769119&r1=1769118&r2=1769119&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/TypeOrFeature_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/TypeOrFeature_impl.java Thu Nov 10 14:06:55 2016
@@ -143,7 +143,7 @@ public class TypeOrFeature_impl extends
       // if allAnnotatorFeatures is true, write that as an attribute
       if (isAllAnnotatorFeatures()) {
         AttributesImpl attrs = new AttributesImpl();
-        attrs.addAttribute("", "allAnnotatorFeatures", "allAnnotatorFeatures", null, "true");
+        attrs.addAttribute("", "allAnnotatorFeatures", "allAnnotatorFeatures", "", "true");
         serializer.outputStartElement(node, namespace, "type", "type", attrs);
 //        aContentHandler.startElement(getXmlizationInfo().namespace, "type", "type", attrs);
       } else {

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XCASSerializer.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XCASSerializer.java?rev=1769119&r1=1769118&r2=1769119&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XCASSerializer.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XCASSerializer.java Thu Nov 10 14:06:55 2016
@@ -322,7 +322,8 @@ public class XCASSerializer {
 
     private void startElement(String tag, Attributes attrs, int num) throws SAXException {
       numChildren = num;
-      ch.startElement("", "", tag, attrs);
+      // Saxon requirement? Can't set just one of localName & qName to ""
+      ch.startElement("", tag, tag, attrs);
     }
 
     private void endElement(String tag) throws SAXException {

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XmiCasSerializer.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XmiCasSerializer.java?rev=1769119&r1=1769118&r2=1769119&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XmiCasSerializer.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XmiCasSerializer.java Thu Nov 10 14:06:55 2016
@@ -727,8 +727,8 @@ public class XmiCasSerializer {
         endElement(xmlElementName);        
 
       } else {
-
-        workAttrs.addAttribute("", "", "elements", "CDATA", arrayToString(addr, typeClass));
+        // Saxon requirement? - can't omit (by using "") just one of localName & qName
+        workAttrs.addAttribute("", "elements", "elements", "CDATA", arrayToString(addr, typeClass));
         startElement(xmlElementName, workAttrs, 0);
         endElement(xmlElementName);      
       }
@@ -967,7 +967,7 @@ public class XmiCasSerializer {
         } // end of switch
         
         if (attrValue != null && featName != null) {
-          addAttribute(attrs, featName, attrValue, null);
+          addAttribute(attrs, featName, attrValue, "");
         }
       } // end of for loop over all features
       

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ConfigurationGroup_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ConfigurationGroup_impl.java?rev=1769119&r1=1769118&r2=1769119&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ConfigurationGroup_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ConfigurationGroup_impl.java Thu Nov 10 14:06:55 2016
@@ -121,7 +121,7 @@ public class ConfigurationGroup_impl ext
     for (int i = 1; i < names.length; i++) {
       buf.append(' ').append(names[i]);
     }
-    attrs.addAttribute("", "names", "names", null, buf.toString());
+    attrs.addAttribute("", "names", "names", "", buf.toString());
     return attrs;
   }
 

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/Import_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/Import_impl.java?rev=1769119&r1=1769118&r2=1769119&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/Import_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/Import_impl.java Thu Nov 10 14:06:55 2016
@@ -179,10 +179,10 @@ public class Import_impl extends MetaDat
     String namespace = getXmlizationInfo().namespace;
     AttributesImpl attrs = new AttributesImpl();
     if (getName() != null) {
-      attrs.addAttribute("", "name", "name", null, getName());
+      attrs.addAttribute("", "name", "name", "", getName());
     }
     if (getLocation() != null) {
-      attrs.addAttribute("", "location", "location", null, getLocation());
+      attrs.addAttribute("", "location", "location", "", getLocation());
     }
     Node node = serializer.findMatchingSubElement("import");
     serializer.outputStartElement(node, namespace, "import", "import", attrs);

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/MetaDataObjectSerializer_plain.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/MetaDataObjectSerializer_plain.java?rev=1769119&r1=1769118&r2=1769119&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/MetaDataObjectSerializer_plain.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/MetaDataObjectSerializer_plain.java Thu Nov 10 14:06:55 2016
@@ -74,10 +74,10 @@ class MetaDataObjectSerializer_plain imp
 
   @Override
   public void writeSimpleValueWithTag(String className, Object o, Node node) throws SAXException {
-    outputStartElement(node, null, className, className, EMPTY_ATTRIBUTES);
+    outputStartElement(node, "", className, className, EMPTY_ATTRIBUTES);
     String valStr = o.toString();
     ch.characters(valStr.toCharArray(),  0,  valStr.length());
-    outputEndElement(node, null,  className,  className);
+    outputEndElement(node, "",  className,  className);
   }
   
   @Override

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/MetaDataObject_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/MetaDataObject_impl.java?rev=1769119&r1=1769118&r2=1769119&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/MetaDataObject_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/MetaDataObject_impl.java Thu Nov 10 14:06:55 2016
@@ -863,7 +863,7 @@ public abstract class MetaDataObject_imp
     AttributesImpl attrs = getXMLAttributes();
     
     if (aWriteDefaultNamespaceAttribute && inf.namespace != null) {
-      attrs.addAttribute("", "xmlns", "xmlns", null, inf.namespace);
+      attrs.addAttribute("", "xmlns", "xmlns", "", inf.namespace);
     }
     
     // start element
@@ -1131,7 +1131,7 @@ public abstract class MetaDataObject_imp
 
           // write a tag for the value, with a "key" attribute
           AttributesImpl attrs = new AttributesImpl();
-          attrs.addAttribute("", aKeyXmlAttribute, aKeyXmlAttribute, null, key); // are these nulls OK?
+          attrs.addAttribute("", aKeyXmlAttribute, aKeyXmlAttribute, "", key); // nulls not OK - must use ""
           Node innerMatchingNode = getMatchingNode(sc, aValueTagName);
           serializer.outputStartElement(innerMatchingNode, aNamespace, aValueTagName, aValueTagName, attrs);
 

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Attribute_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Attribute_impl.java?rev=1769119&r1=1769118&r2=1769119&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Attribute_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Attribute_impl.java Thu Nov 10 14:06:55 2016
@@ -82,8 +82,8 @@ public class Attribute_impl extends Meta
    */
   protected AttributesImpl getXMLAttributes() {
     AttributesImpl attrs = super.getXMLAttributes();
-    attrs.addAttribute("", "name", "name", null, getName());
-    attrs.addAttribute("", "value", "value", null, getValue());
+    attrs.addAttribute("", "name", "name", "", getName());
+    attrs.addAttribute("", "value", "value", "", getValue());
     return attrs;
   }
 

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Filter_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Filter_impl.java?rev=1769119&r1=1769118&r2=1769119&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Filter_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Filter_impl.java Thu Nov 10 14:06:55 2016
@@ -113,7 +113,7 @@ public class Filter_impl extends MetaDat
           throws SAXException {
     // write the element's start tag
     AttributesImpl attrs = new AttributesImpl();
-    attrs.addAttribute("", "syntax", "syntax", null, getSyntax());
+    attrs.addAttribute("", "syntax", "syntax", "", getSyntax());
 
     // start element
     aContentHandler.startElement("", "filter", "filter", attrs);

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Style_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Style_impl.java?rev=1769119&r1=1769118&r2=1769119&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Style_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/search/impl/Style_impl.java Thu Nov 10 14:06:55 2016
@@ -109,7 +109,7 @@ public class Style_impl extends MetaData
    */
   protected AttributesImpl getXMLAttributes() {
     AttributesImpl attrs = super.getXMLAttributes();
-    attrs.addAttribute("", "name", "name", null, getName());
+    attrs.addAttribute("", "name", "name", "", getName());
     return attrs;
   }
 

Modified: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasIOUtilsTest.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasIOUtilsTest.java?rev=1769119&r1=1769118&r2=1769119&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasIOUtilsTest.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasIOUtilsTest.java Thu Nov 10 14:06:55 2016
@@ -98,6 +98,9 @@ public class CasIOUtilsTest extends Test
     FileOutputStream docOS = new FileOutputStream(casFile);
     CasIOUtils.save(cas, docOS, SerialFormat.XMI);
     docOS.close();
+    // NOTE - when Saxon saves the cas it omits the prefixes. 
+    //   e.g. produces: <NULL id="0"/>   instead of:    <cas:NULL xmi:id="0"/>
+    // This causes JUnit test failure "unknown type NULL"
     
     // Use a CAS initialized with the "correct" type system or with a different type system?
     CAS casToUse = leniently ? cas2 : cas;