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;