blob: a6c230cb94afb589c0da205700a33be4ea2a22d2 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012 SAP AG.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Georgi Konstantinov - initial API and implementation.
*******************************************************************************/
package org.eclipse.wst.sse.sieditor.search.ui;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.Path;
import org.eclipse.wst.sse.sieditor.model.api.IModelObject;
import org.eclipse.wst.sse.sieditor.model.api.IQNamedObject;
import org.eclipse.wst.sse.sieditor.search.ui.tree.FileNode;
import org.eclipse.wst.sse.sieditor.ui.v2.common.AbstractEditorLabelProvider;
import org.eclipse.wst.sse.sieditor.ui.v2.nodes.ITreeNode;
public class SearchResultLableProvider extends AbstractEditorLabelProvider {
@Override
public String getText(Object element) {
if (element instanceof FileNode) {
return ((FileNode) element).getTreeDisplayText();
}
return super.getText(element);
}
@Override
public String getToolTipText(Object element) {
if (!(element instanceof ITreeNode)) {
return null;
}
ITreeNode treeNode = (ITreeNode) element;
IModelObject modelObject = treeNode.getModelObject();
if (modelObject == null) {
return null;
}
if (!(modelObject instanceof IQNamedObject)) {
return null;
}
IQNamedObject namedObject = (IQNamedObject) modelObject;
String result = "Namespace: " + namedObject.getNamespace(); //$NON-NLS-1$
result += "\nFile: " + getFilePath(namedObject); //$NON-NLS-1$
String documentation = modelObject.getDocumentation();
if (documentation != null && !documentation.isEmpty()) {
result += "\nDocumentation: " + documentation.trim(); //$NON-NLS-1$
}
return result;
}
protected String getFilePath(IQNamedObject namedObject) {
String strFile = namedObject.getComponent().eResource().getURI().toFileString();
IFile iFile = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(new Path(strFile));
return iFile.getFullPath().toString();
}
}