Ejemplo n.º 1
0
  private synchronized void initialize(AbstractTextSearchResult result) {
    fResult = result;
    fChildrenMap = new HashMap();
    boolean showLineMatches = !((Q7SearchQuery) fResult.getQuery()).isFileNameSearch();

    if (result != null) {
      Object[] elements = result.getElements();
      for (int i = 0; i < elements.length; i++) {
        if (showLineMatches) {
          Match[] matches = result.getMatches(elements[i]);
          for (int j = 0; j < matches.length; j++) {
            insert(
                ((org.eclipse.search.internal.ui.text.FileMatch) matches[j]).getLineElement(),
                false);
          }
        } else {
          insert(elements[i], false);
        }
      }
    }
  }
Ejemplo n.º 2
0
 private void insert(Object child, boolean refreshViewer) {
   int searchFor = ((Q7SearchQuery) fResult.getQuery()).getSearchFor();
   boolean isDependencySearch =
       searchFor == Q7SearchQuery.CONTEXTS_BY_ID
           || searchFor == Q7SearchQuery.TESTCASE_BY_ID
           || searchFor == Q7SearchQuery.VERIFICATION_BY_ID;
   if (isDependencySearch) {
     child = getParent(child);
   }
   Object parent = getParent(child);
   while (parent != null) {
     if (insertChild(parent, child)) {
       if (refreshViewer) fTreeViewer.add(parent, child);
     } else {
       if (refreshViewer) fTreeViewer.refresh(parent);
       return;
     }
     child = parent;
     parent = getParent(child);
   }
   if (insertChild(fResult, child)) {
     if (refreshViewer) fTreeViewer.add(fResult, child);
   }
 }