示例#1
0
    @Override
    protected IStatus doRun(IProgressMonitor monitor) {
      try {
        QueryDescriptor descriptor = QueryRegistry.instance().getQuery("oql"); // $NON-NLS-1$
        ArgumentSet argumentSet = descriptor.createNewArgumentSet(getEditor().getQueryContext());
        argumentSet.setArgumentValue("queryString", queryString); // $NON-NLS-1$
        final QueryResult result = argumentSet.execute(new ProgressMonitorWrapper(monitor));

        OQLPane.this
            .queryString
            .getDisplay()
            .asyncExec(
                new Runnable() {
                  public void run() {
                    initQueryResult(result, state);
                  }
                });
      } catch (final Exception e) {
        OQLPane.this
            .queryString
            .getDisplay()
            .asyncExec(
                new Runnable() {
                  public void run() {
                    try {
                      createExceptionPane(e, queryString);
                    } catch (PartInitException pie) {
                      ErrorHelper.logThrowable(pie);
                    }
                  }
                });
      }

      return Status.OK_STATUS;
    }