in CasViewerEclipsePlugin/uimaj-ep-casviewer-core/src/main/java/org/apache/uima/casviewer/core/internal/casreader/XcasReader.java [33:129]
static public CAS deserializeXcas_NOT_USED (String xmlDescriptor, String xmlXcas,
String typePrioritiesFileName)
{
// File descriptorFile = new File(xmlDescriptor);
// Parse descriptor and create TCas and StyleMap
Object descriptor;
try {
// Create new CAS with the type system from input descriptor.
// Also build style map file if there is none.
descriptor = UIMAFramework.getXMLParser().parse(new XMLInputSource(xmlDescriptor));
TypePriorities typePriorities = null;
if (typePrioritiesFileName != null) {
XMLInputSource in = new XMLInputSource(new File(typePrioritiesFileName));
Object xmlLizable = UIMAFramework.getXMLParser().parse(in);
if (xmlLizable != null && (xmlLizable instanceof TypePriorities)) {
typePriorities = (TypePriorities) xmlLizable;
}
}
CAS tcas;
// File styleMapFile;
if (descriptor instanceof AnalysisEngineDescription) {
tcas = CasCreationUtils.createCas((AnalysisEngineDescription)descriptor);
// styleMapFile = getStyleMapFile((AnalysisEngineDescription)descriptor, descriptorFile.getPath());
} else if (descriptor instanceof TypeSystemDescription) {
TypeSystemDescription typeSystemDescription = (TypeSystemDescription)descriptor;
typeSystemDescription.resolveImports();
tcas = CasCreationUtils.createCas(typeSystemDescription, typePriorities, new FsIndexDescription[0]);
// styleMapFile = getStyleMapFile((TypeSystemDescription)descriptor, descriptorFile.getPath());
} else {
// displayError("Invalid Descriptor File \"" + descriptorFile.getPath() + "\"" +
// "Must be either an AnalysisEngine or TypeSystem descriptor.");
return null;
}
// Create a new CAS
if (typePriorities != null) {
Trace.err("Used TypePriorities");
} else {
Trace.err("NO TypePriorities");
}
CAS cas = CasCreationUtils.createCas(tcas.getTypeSystem(),
typePriorities, new FsIndexDescription[0],
UIMAFramework.getDefaultPerformanceTuningProperties());
// Deserialize XCAS or XMI into CAS
File xcasFile = new File(xmlXcas);
// For Apache-UIMA
FileInputStream xcasInStream = null;
try {
xcasInStream = new FileInputStream(xcasFile);
XmlCasDeserializer.deserialize(xcasInStream, cas, true);
} finally {
if (xcasInStream != null)
xcasInStream.close();
}
// For UIMA 1.4
// XCASDeserializer deser = new XCASDeserializer(cas.getTypeSystem());
// ContentHandler deserHandler = deser.getXCASHandler(cas, new OutOfTypeSystemData());
// SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
// XMLReader xmlReader = parser.getXMLReader();
// xmlReader.setContentHandler(deserHandler);
// FileInputStream xcasInStream = null;
// try {
// xcasInStream = new FileInputStream(xcasFile);
// xmlReader.parse(new InputSource(xcasInStream));
// } finally {
// if (xcasInStream != null)
// xcasInStream.close();
// }
FSIterator it = cas.getSofaIterator();
SofaFS sf = null;
int i=0;
while (it.hasNext()) {
SofaFS sofa = (SofaFS) it.next();
if (++i == 2) sf = sofa;
Trace.trace("sofa " + sofa.getSofaRef() );
}
return cas.getCurrentView();
} catch (InvalidXMLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ResourceInitializationException e) {
e.printStackTrace();
// } catch (ParserConfigurationException e) {
// e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
}
return null;
} // deserializeXcas