package org.eclipse.xtext.example.fowlerdsl.ui.editor;
import java.util.Collection;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.xtext.resource.IResourceDescription;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.ui.editor.DirtyStateEditorSupport;
public class StatemachineDirtyStateEditorSupport extends
DirtyStateEditorSupport {
// TODO start update job that updates Graphiti diagram?
protected Collection<Resource> collectAffectedResources(XtextResource resource, IResourceDescription.Event event) {
Collection<Resource> result = super.collectAffectedResources(resource, event);
URI diagramURI = resource.getURI().trimFileExtension().appendFileExtension(".diagram");
ResourceSet rs = new ResourceSetImpl();
Resource diagramResource = rs.getResource(diagramURI, false);
if(diagramResource != null) {
result.add(diagramResource);
}
return result;
}
}