You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Richard Eckart de Castilho (JIRA)" <de...@uima.apache.org> on 2013/08/25 10:23:52 UTC
[jira] [Created] (UIMA-3219) Simpler XMI writing than XWriter
Richard Eckart de Castilho created UIMA-3219:
------------------------------------------------
Summary: Simpler XMI writing than XWriter
Key: UIMA-3219
URL: https://issues.apache.org/jira/browse/UIMA-3219
Project: UIMA
Issue Type: Improvement
Components: uimaFIT
Reporter: Steven Bethard
Assignee: Richard Eckart de Castilho
Fix For: 2.0.0uimaFIT
The whole FileNamer thing in XWriter is more complexity than most users need. You have to declare a new FileNamer class every time you create an XWriter. But that FileNamer class, even though it takes a JCas just like an annotator would, isn't actually an annotator, it's a totally different API.
We should instead leverage our users' existing understanding of the annotator API. If they're going to have to write a new class every time, we should let them write an annotator class like they're already used to. We should provide a simple static method that makes it easy to write such a class, something like:
{noformat}
public class XUtil {
public static void writeXMI(JCas jCas, File outputFile) throws IOException, SAXException {
FileOutputStream outputStream = new FileOutputStream(outputFile);
try {
ContentHandler handler = new XMLSerializer(outputStream).getContentHandler();
XmiCasSerializer serializer = new XmiCasSerializer(jCas.getTypeSystem());
serializer.serialize(jCas.getCas(), handler);
}
finally {
outputStream.close();
}
}
}
{noformat}
(The new XUtil class could also grow methods for writing XCAS, and for reading XMI and XCAS.)
More discussion here: https://code.google.com/p/uimafit/issues/detail?id=121
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira