private void setResourceToLoad(final FolderItem folderItem) {
   if (folderItem.getType().equals(FolderItemType.FILE) && folderItem.getItem() instanceof Path) {
     if (((Path) folderItem.getItem()).getFileName().indexOf(CURRENT_RESOURCE) > -1) {
       _item = folderItem.getItem();
     }
   }
 }
 @Override
 public void itemSelected(final FolderItem folderItem) {
   final Object _item = folderItem.getItem();
   if (_item == null) {
     return;
   }
   if (folderItem.getType().equals(FolderItemType.FILE) && _item instanceof Path) {
     placeManager.goTo((Path) _item);
   } else {
     activeFolderItemSelected(folderItem);
   }
 }
  @Override
  public void setItems(final FolderListing folderListing) {
    itemsContainer.clear();
    sortedFolderItems.clear();
    for (final FolderItem content : folderListing.getContent()) {
      if (!content.getType().equals(FolderItemType.FOLDER)) {
        sortedFolderItems.add(content);
      }
    }

    if (!sortedFolderItems.isEmpty()) {
      final Map<ClientResourceType, Collection<FolderItem>> resourceTypeGroups =
          classifier.group(sortedFolderItems);
      final TreeMap<ClientResourceType, Collection<FolderItem>> sortedResourceTypeGroups =
          new TreeMap<ClientResourceType, Collection<FolderItem>>(
              Sorters.RESOURCE_TYPE_GROUP_SORTER);
      sortedResourceTypeGroups.putAll(resourceTypeGroups);

      final Iterator<Map.Entry<ClientResourceType, Collection<FolderItem>>> itr =
          sortedResourceTypeGroups.entrySet().iterator();
      while (itr.hasNext()) {
        final Map.Entry<ClientResourceType, Collection<FolderItem>> e = itr.next();

        final CollapseTrigger collapseTrigger = makeTriggerWidget(e.getKey());

        final Collapse collapse = new Collapse();
        collapse.setExistTrigger(true);
        collapse.setId(getCollapseId(e.getKey()));
        final NavList itemsNavList = new NavList();
        collapse.add(itemsNavList);
        for (FolderItem folderItem : e.getValue()) {
          if (folderItem.getItem() != null) {
            setResourceToLoad(folderItem);
          }
        }
        collapse.setDefaultOpen(false);

        itemsContainer.add(collapseTrigger);
        itemsContainer.add(collapse);
        if (itr.hasNext()) {
          itemsContainer.add(new Divider());
        }
      }
      loadResourceSelected();

    } else {
      itemsContainer.add(new Label(ProjectExplorerConstants.INSTANCE.noItemsExist()));
    }
  }
예제 #4
0
  void fireContextChangeEvent() {
    if (activeFolderItem == null) {
      contextChangedEvent.fire(
          new ProjectContextChangeEvent(activeOrganizationalUnit, activeRepository, activeProject));
      return;
    }

    if (activeFolderItem.getItem() instanceof Package) {
      setActivePackage((Package) activeFolderItem.getItem());
      contextChangedEvent.fire(
          new ProjectContextChangeEvent(
              activeOrganizationalUnit, activeRepository, activeProject, activePackage));
    } else if (activeFolderItem.getType().equals(FolderItemType.FOLDER)) {
      explorerService.call(getResolvePackageRemoteCallback()).resolvePackage(activeFolderItem);
    }
  }
  private void fireContextChangeEvent() {
    if (activeFolderItem == null) {
      contextChangedEvent.fire(
          new ProjectContextChangeEvent(activeOrganizationalUnit, activeRepository, activeProject));
      return;
    }

    if (activeFolderItem.getItem() instanceof Package) {
      activePackage = (Package) activeFolderItem.getItem();
      contextChangedEvent.fire(
          new ProjectContextChangeEvent(
              activeOrganizationalUnit, activeRepository, activeProject, activePackage));
    } else if (activeFolderItem.getType().equals(FolderItemType.FOLDER)) {
      explorerService
          .call(
              new RemoteCallback<Package>() {
                @Override
                public void callback(final Package pkg) {
                  if (Utils.hasPackageChanged(pkg, activePackage)) {
                    activePackage = pkg;
                    contextChangedEvent.fire(
                        new ProjectContextChangeEvent(
                            activeOrganizationalUnit,
                            activeRepository,
                            activeProject,
                            activePackage));
                  } else {
                    contextChangedEvent.fire(
                        new ProjectContextChangeEvent(
                            activeOrganizationalUnit, activeRepository, activeProject));
                  }
                }
              })
          .resolvePackage(activeFolderItem);
    }
  }