JCas jcas;
try {
jcas = aCAS.getJCas();
} catch (CASException e) {
throw new ResourceProcessException(e);
}
String originalFileName = DocumentIDAnnotationUtil.getDocumentID(jcas);
File outFile = null;
if (originalFileName != null && !originalFileName.isEmpty())
{
File inFile;
try
{
String outFileName = null;
if (originalFileName.contains("/"))
{
URI uri = UriUtils.quote(originalFileName);
inFile = new File(uri);
outFileName = inFile.getName();
} else
{
outFileName = originalFileName;
}
outFileName += ".xmi";
outFile = new File(mOutputDir, outFileName);
} catch (URISyntaxException e)
{
// bad URI, use default processing below
}
}
if (outFile == null) {
outFile = new File(mOutputDir, "doc" + mDocNum++ + ".xmi"); // Jira UIMA-629
}
// serialize XCAS and write to output file
try {
writeXmi(jcas.getCas(), outFile, modelFileName);
} catch (IOException e) {
throw new ResourceProcessException(e);
} catch (SAXException e) {
throw new ResourceProcessException(e);
}
}