public String getText(Object element) {
    if (!(element instanceof IResource)) return null;

    IResource resource = (IResource) element;
    String text = null;

    if (!resource.exists()) text = SearchMessages.FileLabelProvider_removed_resource_label;
    else {
      IPath path = resource.getFullPath().removeLastSegments(1);
      if (path.getDevice() == null) path = path.makeRelative();
      if (fOrder == SHOW_LABEL || fOrder == SHOW_LABEL_PATH) {
        text = fLabelProvider.getText(resource);
        if (path != null && fOrder == SHOW_LABEL_PATH) {
          fArgs[0] = text;
          fArgs[1] = path.toString();
          text = MessageFormat.format(fgSeparatorFormat, fArgs);
        }
      } else {
        if (path != null) text = path.toString();
        else text = ""; // $NON-NLS-1$
        if (fOrder == SHOW_PATH_LABEL) {
          fArgs[0] = text;
          fArgs[1] = fLabelProvider.getText(resource);
          text = MessageFormat.format(fgSeparatorFormat, fArgs);
        }
      }
    }

    int matchCount = 0;
    AbstractTextSearchResult result = fPage.getInput();
    if (result != null) matchCount = result.getMatchCount(element);
    if (matchCount <= 1) return text;
    String format = SearchMessages.FileLabelProvider_count_format;
    return MessageFormat.format(format, new Object[] {text, new Integer(matchCount)});
  }
Esempio n. 2
0
 private String getParentLabel(IResource resource) {
   IResource parent = resource.getParent();
   String text;
   if (parent.getType() == IResource.ROOT) {
     // Get readable name for workspace root ("Workspace"), without duplicating language-specific
     // string here.
     text = labelProvider.getText(parent);
   } else {
     text = parent.getFullPath().makeRelative().toString();
   }
   if (text == null) {
     return ""; //$NON-NLS-1$
   }
   return text;
 }
  /* (non-Javadoc)
   * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
   */
  public String getText(Object element) {
    IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry) element;
    switch (entry.getType()) {
      case IRuntimeClasspathEntry.PROJECT:
        IResource res = entry.getResource();
        IJavaElement proj = JavaCore.create(res);
        if (proj == null) {
          return entry.getPath().lastSegment();
        } else {
          return lp.getText(proj);
        }
      case IRuntimeClasspathEntry.ARCHIVE:
        IPath path = entry.getPath();
        if (path == null) {
          return MessageFormat.format("Invalid path: {0}", new Object[] {"null"}); // $NON-NLS-1$
        }
        if (!path.isAbsolute() || !path.isValidPath(path.toString())) {
          return MessageFormat.format("Invalid path: {0}", new Object[] {path.toOSString()});
        }
        String[] segments = path.segments();
        StringBuffer displayPath = new StringBuffer();
        if (segments.length > 0) {
          String device = path.getDevice();
          if (device != null) {
            displayPath.append(device);
            displayPath.append(File.separator);
          }
          for (int i = 0; i < segments.length - 1; i++) {
            displayPath.append(segments[i]).append(File.separator);
          }
          displayPath.append(segments[segments.length - 1]);

          // getDevice means that's a absolute path.
          if (path.getDevice() != null && !path.toFile().exists()) {
            displayPath.append(" (missing) ");
          }
        } else {
          displayPath.append(path.toOSString());
        }
        return displayPath.toString();
      case IRuntimeClasspathEntry.VARIABLE:
        path = entry.getPath();
        IPath srcPath = entry.getSourceAttachmentPath();
        StringBuffer buf = new StringBuffer(path.toString());
        if (srcPath != null) {
          buf.append(" ["); // $NON-NLS-1$
          buf.append(srcPath.toString());
          IPath rootPath = entry.getSourceAttachmentRootPath();
          if (rootPath != null) {
            buf.append(IPath.SEPARATOR);
            buf.append(rootPath.toString());
          }
          buf.append(']');
        }
        // append JRE name if we can compute it
        if (path.equals(new Path(JavaRuntime.JRELIB_VARIABLE)) && fLaunchConfiguration != null) {
          try {
            IVMInstall vm = JavaRuntime.computeVMInstall(fLaunchConfiguration);
            buf.append(" - "); // $NON-NLS-1$
            buf.append(vm.getName());
          } catch (CoreException e) {
          }
        }
        return buf.toString();
      case IRuntimeClasspathEntry.CONTAINER:
        path = entry.getPath();
        if (fLaunchConfiguration != null) {
          try {
            IJavaProject project = null;
            try {
              project = JavaRuntime.getJavaProject(fLaunchConfiguration);
            } catch (CoreException e) {
            }
            if (project == null) {
            } else {
              IClasspathContainer container =
                  JavaCore.getClasspathContainer(entry.getPath(), project);
              if (container != null) {
                if (container.getDescription().startsWith("Persisted container")) {
                  return container.getPath().toString();
                } else {
                  return container.getDescription();
                }
              }
            }
          } catch (CoreException e) {
          }
        }
        return entry.getPath().toString();
      case IRuntimeClasspathEntry.OTHER:
        IRuntimeClasspathEntry delegate = entry;
        if (entry instanceof ClasspathEntry) {
          delegate = ((ClasspathEntry) entry).getDelegate();
        }
        String name = lp.getText(delegate);
        if (name == null || name.length() == 0) {
          return ((IRuntimeClasspathEntry2) delegate).getName();
        }
        return name;
    }
    return ""; //$NON-NLS-1$
  }
 @Override
 public String getText(Object element) {
   return workbenchLabelProvider.getText(element);
 }
  @Override
  public String getText(final Object node) {
    if (node instanceof DifferenceReport) {
      DifferenceReport diffReport = (DifferenceReport) node;
      String result = diffReport.getTitle();

      if (result == null) {
        result = diffReport.getResultUri();
      }

      return result;
    } else if (node instanceof Mapping) {
      Mapping mapping = (Mapping) node;
      MappingHelper helper = mapping.getHelper();
      if (helper instanceof DifferenceDescriptor) {
        final DifferenceDescriptor desc = (DifferenceDescriptor) helper;
        final DifferenceType type = desc.getType();
        int typeValue = type.getValue();
        if (typeValue == DifferenceType.ADDITION) {
          final List<EObject> outputs = mapping.getOutputs();
          final EObject output = outputs.isEmpty() ? null : outputs.get(0);
          if (output != null) {
            return ModelUtilities.getEMFLabelProvider().getText(output);
          }
        } else if (typeValue == DifferenceType.DELETION) {
          final List<EObject> inputs = mapping.getInputs();
          final EObject input = inputs.isEmpty() ? null : inputs.get(0);
          if (input != null) {
            return ModelUtilities.getEMFLabelProvider().getText(input);
          }
        } else if (typeValue == DifferenceType.CHANGE) {
          final List<EObject> outputs = mapping.getOutputs();
          final EObject output = outputs.isEmpty() ? null : outputs.get(0);
          if (output != null) {
            return ModelUtilities.getEMFLabelProvider().getText(output);
          }
        } else if (typeValue == DifferenceType.NO_CHANGE) {
          final List<EObject> outputs = mapping.getOutputs();
          final EObject output = outputs.isEmpty() ? null : outputs.get(0);
          if (output != null) {
            return ModelUtilities.getEMFLabelProvider().getText(output);
          }
        } else if (typeValue == DifferenceType.CHANGE_BELOW) {
          final List<EObject> outputs = mapping.getOutputs();
          final EObject output = outputs.isEmpty() ? null : outputs.get(0);
          final List<EObject> inputs = mapping.getInputs();
          final EObject input = inputs.isEmpty() ? null : inputs.get(0);
          if (output != null) {
            return ModelUtilities.getEMFLabelProvider().getText(output);
          } else if (input != null) {
            return ModelUtilities.getEMFLabelProvider().getText(input);
          }
        }
      }
    } else if (node instanceof EObject) {
      return ModelUtilities.getEMFLabelProvider().getText(node);
    }

    if (node instanceof ModelWorkspaceItem) {
      return workbenchProvider.getText(((ModelWorkspaceItem) node).getResource());
    }
    return "UNKNOWN"; //$NON-NLS-1$
  }