blob: 3d2a784be8888647d59458bdf80c087b4c745903 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2003, 2005 IBM Corporation and others.
* 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:
* IBM Corporation - Initial API and implementation
*******************************************************************************/
package org.eclipse.wst.server.ui.internal.viewers;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.internal.IMonitoredServerPort;
import org.eclipse.wst.server.ui.internal.ImageResource;
import org.eclipse.wst.server.ui.internal.Messages;
/**
* Monitor port label provider.
*/
public class MonitorLabelProvider extends BaseLabelProvider implements ITableLabelProvider {
protected IServer server;
public MonitorLabelProvider(IServer server) {
super();
this.server = server;
}
public Image getColumnImage(Object element, int columnIndex) {
IMonitoredServerPort port = (IMonitoredServerPort) element;
if (columnIndex == 0) {
if (port.isStarted())
return ImageResource.getImage(ImageResource.IMG_MONITOR_ON);
return ImageResource.getImage(ImageResource.IMG_MONITOR_OFF);
}
return null;
}
public String getColumnText(Object element, int columnIndex) {
IMonitoredServerPort port = (IMonitoredServerPort) element;
if (columnIndex == 0) {
if (port.isStarted())
return Messages.started;
return Messages.stopped;
} else if (columnIndex == 1)
return notNull(port.getServerPort().getName());
else if (columnIndex == 2)
return port.getServerPort().getPort() + "";
else if (columnIndex == 3)
return port.getMonitorPort() + "";
else {
String[] content = port.getContentTypes();
if (content == null || content.length == 0)
return Messages.dialogMonitorContentTypeAll;
StringBuffer sb = new StringBuffer();
int size = content.length;
for (int i = 0; i < size; i++) {
if (i > 0)
sb.append(",");
sb.append(getContentTypeString(content[i]));
}
return sb.toString();
}
}
protected static String getContentTypeString(String s) {
if ("web".equals(s))
return Messages.dialogMonitorContentTypeWeb;
else if ("webservices".equals(s))
return Messages.dialogMonitorContentTypeWebServices;
else
return s;
}
}