/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.advisor.ui.actions; import java.util.Properties; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.graphics.Image; import org.teiid.designer.advisor.ui.util.DesignerPropertiesMapperUtil; public class AdvisorActionProvider implements ILabelProvider, ITreeContentProvider { Properties designerProperties; public AdvisorActionProvider() { super(); } public void setProperties(Properties properties) { designerProperties = properties; } @Override public void addListener(ILabelProviderListener listener) { // TODO Auto-generated method stub } @Override public void dispose() { // TODO Auto-generated method stub } @Override public boolean isLabelProperty(Object element, String property) { // TODO Auto-generated method stub return false; } @Override public void removeListener(ILabelProviderListener listener) { // TODO Auto-generated method stub } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // TODO Auto-generated method stub } @Override public Image getImage(Object element) { if( element instanceof AdvisorActionInfo ) { return AdvisorActionFactory.getImage((AdvisorActionInfo)element); } return null; } @Override public String getText(Object element) { if( element instanceof AdvisorActionInfo ) { return addPropertyToDisplayName((AdvisorActionInfo)element); //return ((AdvisorActionInfo)element).getDisplayName(); } return null; } @Override public Object[] getElements(Object inputElement) { if ((inputElement instanceof AdvisorActionInfo[])) { return (AdvisorActionInfo[])inputElement; } return null; } @Override public Object[] getChildren(Object parentElement) { if ((parentElement instanceof AdvisorGuides)) { return new Object[0]; } return new Object[0]; } @Override public Object getParent(Object element) { // TODO Auto-generated method stub return null; } @Override public boolean hasChildren(Object element) { return getChildren(element).length > 0; } private String addPropertyToDisplayName(AdvisorActionInfo actionInfo) { StringBuilder sb = new StringBuilder(actionInfo.getDisplayName()); String valueLabel = DesignerPropertiesMapperUtil.getActionsValueLabel(actionInfo.getId(), designerProperties); if( valueLabel != null && valueLabel.length() > 0 ) { if( ! DesignerPropertiesMapperUtil.IGNORE.equals(valueLabel) ) { sb.append(" >> ").append("( " + valueLabel + " )"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } } else { sb.append(" >> ").append("<undefined>"); //$NON-NLS-1$ //$NON-NLS-2$ } return sb.toString(); } }