public void editModelChanged(EditModelEvent anEvent) { switch (anEvent.getEventCode()) { case EditModelEvent.UNLOADED_RESOURCE : if (anEvent.getChangedResources().contains(resource) && ! resource.isLoaded()) { try { resource.load(resource.getResourceSet().getLoadOptions()); } catch (IOException ioe) { JptCorePlugin.log(ioe); } } break; case EditModelEvent.REMOVED_RESOURCE : if (anEvent.getChangedResources().contains(resource)) { anEvent.getEditModel().removeListener(this); } break; // case EditModelEvent.SAVE : // case EditModelEvent.PRE_DISPOSE : } } // commenting out for now - this *was* a workaround for 202190, but with ArtifactEdit
public void editModelChanged(EditModelEvent anEvent) { switch (anEvent.getEventCode()) { case EditModelEvent.UNLOADED_RESOURCE : if (anEvent.getChangedResources().contains(resource) && ! resource.isLoaded()) { try { resource.load(resource.getResourceSet().getLoadOptions()); } catch (IOException ioe) { JptCorePlugin.log(ioe); } } break; case EditModelEvent.REMOVED_RESOURCE : if (anEvent.getChangedResources().contains(resource)) { anEvent.getEditModel().removeListener(this); } break; // case EditModelEvent.SAVE : // case EditModelEvent.PRE_DISPOSE : } } // commenting out for now - this *was* a workaround for 202190, but with ArtifactEdit
public void editModelChanged(EditModelEvent anEvent) { if (anEvent == null) return; if (anEvent.getEventCode()==EditModelEvent.UNLOADED_RESOURCE) { List resources = anEvent.getChangedResources(); for (int i=0; i<resources.size(); i++) { Resource res = (Resource) resources.get(i); if (isInterestedInResource(res)) notifyListeners(anEvent.getEventCode()); } } else if (anEvent.getEventCode() == EditModelEvent.PRE_DISPOSE) { ArtifactEditModel editModel = (ArtifactEditModel) anEvent.getEditModel(); if (editModel == null || editModel.getProject() == null) return; removeArtifactEdit(editModel.getProject()); notifyListeners(anEvent.getEventCode()); } }