/******************************************************************************* * Copyright (c) 2006 Jeff Mesnil * 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 *******************************************************************************/ package net.jmesnil.jmx.ui.internal.tables; import javax.management.MBeanAttributeInfo; import net.jmesnil.jmx.resources.MBeanAttributeInfoWrapper; import net.jmesnil.jmx.ui.JMXUIActivator; import net.jmesnil.jmx.ui.internal.Messages; import net.jmesnil.jmx.ui.internal.StringUtils; import org.eclipse.core.runtime.IStatus; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.graphics.Image; class AttributesLabelProvider extends LabelProvider implements ITableLabelProvider { public String getColumnText(Object element, int columnIndex) { if (!(element instanceof MBeanAttributeInfoWrapper)) return super.getText(element); MBeanAttributeInfoWrapper wrapper = (MBeanAttributeInfoWrapper) element; MBeanAttributeInfo attrInfo = wrapper.getMBeanAttributeInfo(); switch (columnIndex) { case 0: return attrInfo.getName(); case 1: try { return StringUtils.toString(wrapper.getValue(), false); } catch (Throwable t) { JMXUIActivator.log(IStatus.ERROR, NLS.bind( Messages.MBeanAttributeValue_Warning, attrInfo.getName()), t); return Messages.unavailable; } } return getText(element); } public Image getColumnImage(Object element, int columnIndex) { return null; } }