public void resourceChanged()

in uimaj-ep-cev/src/main/java/org/apache/uima/cev/editor/CEVViewer.java [351:395]


  public void resourceChanged(final IResourceChangeEvent event) {
    IPreferenceStore store = CEVPlugin.getDefault().getPreferenceStore();
    boolean reload = store.getBoolean(CEVPreferenceConstants.P_AUTO_REFRESH);
    if (reload) {
      IResourceDelta findInDelta = findInDelta(event.getDelta(), inputFile.getFile().getFullPath());
      if (findInDelta != null) {

        final CEVViewer t = this;
        Display display = Display.getCurrent();
        if (display == null) {
          // [FIXME] get correct display or replace code

          display = getEditorSite().getWorkbenchWindow().getShell().getDisplay();
          // display = activeText.getDisplay();
          if (display == null) {
            display = getActiveEditor().getSite().getShell().getDisplay();
          }
        }
        display.asyncExec(new Runnable() {
          public void run() {

            int page = getActivePage();
            if (casDocument != null) {
              for (CEVData casData : casDocument.getCASData()) {
                casData.removeAnnotationListener(t);
              }
            }
            try {
              init(getEditorSite(), inputFile);
            } catch (PartInitException e) {
              CEVPlugin.error(e);
            }

            for (ICEVView each : views.values()) {
              each.casChanged(casDocument);
            }
            for (ICEVEditor each : editors.values()) {
              each.casChanged(casDocument);
            }
            pageChange(page);
          }
        });
      }
    }
  }