blob: be09b754cdb55f7df17c2913e980c14bb8013167 [file] [log] [blame]
/*********************************************************************
* Copyright (c) 2009, 2012 SpringSource, a division of VMware, Inc.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
**********************************************************************/
package org.eclipse.virgo.ide.runtime.internal.ui.providers;
import org.eclipse.core.resources.IFile;
import org.eclipse.virgo.ide.runtime.core.artefacts.ArtefactSet;
import org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact;
import org.eclipse.virgo.ide.runtime.core.artefacts.LocalArtefactSet;
import org.eclipse.virgo.ide.runtime.internal.ui.editor.Messages;
import org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectArtefact;
import org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectContainer;
/**
* @author Miles Parker
* @author Christian Dupuis
*/
public class RuntimeFullLabelProvider extends RuntimeLabelProvider {
@Override
public String getText(Object element) {
if (element instanceof IServerProjectArtefact) {
return getText(((IServerProjectArtefact) element).getContainer()) + " - " + getText(((IServerProjectArtefact) element).getArtefact());
}
if (element instanceof IServerProjectContainer) {
return getText(((IServerProjectContainer) element).getServer()) + " - " + getText(((IServerProjectContainer) element).getArtefactSet());
}
if (element instanceof LibrariesNode) {
return getText(((LibrariesNode) element).getServer()) + " " + Messages.RepositoryBrowserEditorPage_BundlesAndLibraries;
}
if (element instanceof IFile) {
return ((IFile) element).getName();
}
if (element instanceof ArtefactSet) {
ArtefactSet set = (ArtefactSet) element;
String label = set.getArtefactType().getPluralLabel();
if (element instanceof LocalArtefactSet) {
label = ((LocalArtefactSet) element).getRelativePath() + " [" + label + "]";
}
return label;
} else if (element instanceof IArtefact) {
IArtefact version = (IArtefact) element;
StringBuilder l = new StringBuilder();
if (version.getName() != null) {
l.append(version.getName());
l.append(" - ");
}
l.append(version.getSymbolicName());
l.append(" (");
l.append(version.getVersion());
l.append(")");
return l.toString();
}
return super.getText(element);
}
}