in uimaj-ep-cev/src/main/java/org/apache/uima/cev/editor/CEVViewer.java [178:217]
public void doSave(IProgressMonitor monitor) {
CAS newCas = casDocument.getMainCas();
List<ArtifactModifier> modifiers = new ArrayList<ArtifactModifier>();
for (Integer eachIndex : casViews.keySet()) {
for (ICEVArtifactViewer each : casViews.get(eachIndex)) {
if (each instanceof ArtifactModifier) {
modifiers.add((ArtifactModifier) each);
}
}
}
if (!modifiers.isEmpty()) {
try {
newCas = casDocument.createCas();
} catch (ResourceInitializationException e) {
CEVPlugin.error(e);
} catch (InvalidXMLException e) {
CEVPlugin.error(e);
}
org.apache.uima.util.CasCopier.copyCas(casDocument.getMainCas(), newCas, false);
for (Integer eachIndex : casViews.keySet()) {
for (ICEVArtifactViewer each : casViews.get(eachIndex)) {
if (each instanceof ArtifactModifier) {
ArtifactModifier am = (ArtifactModifier) each;
am.modifyCas(casDocument, newCas, eachIndex);
}
}
}
}
try {
IFile iFile = ((FileEditorInput) getEditorInput()).getFile();
File file = iFile.getLocation().toFile();
XmlCasSerializer.serialize(newCas, new FileOutputStream(file));
iFile.getParent().refreshLocal(Resource.DEPTH_INFINITE, new NullProgressMonitor());
} catch (Exception e) {
CEVPlugin.error(e);
}
setDirty(false);
}