Example #1
0
  /**
   * Carrega todas as categorias (nome do projecto) que utilizaram o ponto de extensão
   * "SearchProvider". Além disso, para cada objecto presente na lista de resultados de cada
   * categoria, atribuí o provider correspondente e faz um mapeamento dessa ligação entre objecto e
   * provider num hashmap.
   *
   * @param text
   */
  private void loadCategories(String text) {

    providersCategories.clear();

    for (Map.Entry<SearchProvider, ExternalImage> entry : providerAndImageMap.entrySet()) {

      ProviderCategory category =
          new ProviderCategory(
              entry.getKey().getClass().getSimpleName(),
              pidescoServices.getImageFromPlugin(
                  entry.getValue().getPlugin(), entry.getValue().getImageName()));
      category.hits = entry.getKey().getResults(text);

      for (Object o : category.hits) {
        providerAndObjectMap.put(o, entry.getKey());
      }
      if (!category.hits.isEmpty()) providersCategories.add(category);
    }

    if (providersCategories.isEmpty())
      providersCategories.add(new ProviderCategory(NO_RESULTS_FOUND, null));

    tree.setInput(providersCategories);
    tree.expandAll();
  }
Example #2
0
    /** Recebe a imagem que tem que desenhar, para o objecto passado como argumento */
    public Image getImage(Object object) {

      if (object instanceof ProviderCategory) {
        for (ProviderCategory category : providersCategories) {
          if (object.equals(category)) return category.getIcon();
        }
      } else {
        for (Map.Entry<Object, SearchProvider> entry : providerAndObjectMap.entrySet()) {
          if (entry.getKey().equals(object)) return entry.getValue().setImage(object);
        }
      }
      return null;
    }