use of org.eclipse.wst.server.core.internal.Server in project webtools.servertools by eclipse.
the class ServerTableViewer method addListeners.
protected void addListeners() {
serverResourceListener = new IServerLifecycleListener() {
public void serverAdded(IServer server) {
addServer(server);
server.addServerListener(serverListener);
((Server) server).addPublishListener(publishListener);
}
public void serverChanged(IServer server) {
refreshServer(server);
}
public void serverRemoved(IServer server) {
removeServer(server);
server.removeServerListener(serverListener);
((Server) server).removePublishListener(publishListener);
}
};
ServerCore.addServerLifecycleListener(serverResourceListener);
publishListener = new PublishAdapter() {
public void publishStarted(IServer server) {
handlePublishChange(server, true);
}
public void publishFinished(IServer server, IStatus status) {
handlePublishChange(server, false);
}
};
serverListener = new IServerListener() {
public void serverChanged(ServerEvent event) {
if (event == null)
return;
int eventKind = event.getKind();
IServer server = event.getServer();
if ((eventKind & ServerEvent.SERVER_CHANGE) != 0) {
// server change event
if ((eventKind & ServerEvent.STATE_CHANGE) != 0) {
refreshServer(server);
int state = event.getState();
String id = server.getId();
if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
boolean startThread = false;
synchronized (starting) {
if (!starting.contains(id)) {
if (starting.isEmpty())
startThread = true;
starting.add(id);
}
}
if (startThread)
startThread();
} else {
boolean stopThread = false;
synchronized (starting) {
if (starting.contains(id)) {
starting.remove(id);
if (starting.isEmpty())
stopThread = true;
}
}
if (stopThread)
stopThread();
}
} else
refreshServer(server);
} else if ((eventKind & ServerEvent.MODULE_CHANGE) != 0) {
// module change event
if ((eventKind & ServerEvent.STATE_CHANGE) != 0 || (eventKind & ServerEvent.PUBLISH_STATE_CHANGE) != 0) {
refreshServer(server);
}
}
}
};
// add listeners to servers
IServer[] servers = ServerCore.getServers();
if (servers != null) {
int size = servers.length;
for (int i = 0; i < size; i++) {
servers[i].addServerListener(serverListener);
((Server) servers[i]).addPublishListener(publishListener);
}
}
}
use of org.eclipse.wst.server.core.internal.Server in project webtools.servertools by eclipse.
the class ServerTableLabelProvider method getColumnImage.
public Image getColumnImage(Object element, int columnIndex) {
if (element instanceof ServerTreeContentProvider.TreeElement) {
if (columnIndex == 0) {
ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
return sharedImages.getImage(ISharedImages.IMG_OBJ_FOLDER);
}
return null;
}
if (element instanceof ModuleServer) {
ModuleServer ms = (ModuleServer) element;
if (columnIndex == 0) {
// return ServerUICore.getLabelProvider().getImage(ms.module[ms.module.length - 1]);
ILabelProvider labelProvider = ServerUICore.getLabelProvider();
Image image = labelProvider.getImage(ms.module[ms.module.length - 1]);
labelProvider.dispose();
if (decorator != null) {
Image dec = decorator.decorateImage(image, ms);
if (dec != null)
return dec;
}
return image;
} else if (columnIndex == 1) {
if (ms.server == null)
return null;
/*int state = ms.server.getModuleState(ms.module);
if (state == IServer.STATE_STARTED)
return ImageResource.getImage(ImageResource.IMG_STATE_STARTED);
else if (state == IServer.STATE_STOPPED)
return ImageResource.getImage(ImageResource.IMG_STATE_STOPPED);
*/
return getStateImage(ms.server.getServerType(), ms.server.getModuleState(ms.module), null);
} else if (columnIndex == 2) {
IStatus status = ((Server) ms.server).getModuleStatus(ms.module);
if (status != null) {
ISharedImages sharedImages = ServerUIPlugin.getInstance().getWorkbench().getSharedImages();
if (status.getSeverity() == IStatus.ERROR)
return sharedImages.getImage(ISharedImages.IMG_OBJS_ERROR_TSK);
else if (status.getSeverity() == IStatus.WARNING)
return sharedImages.getImage(ISharedImages.IMG_OBJS_WARN_TSK);
else if (status.getSeverity() == IStatus.INFO)
return sharedImages.getImage(ISharedImages.IMG_OBJS_INFO_TSK);
}
}
return null;
}
IServer server = (IServer) element;
if (columnIndex == 0) {
if (server.getServerType() != null) {
Image image = ImageResource.getImage(server.getServerType().getId());
// return image;
if (decorator != null) {
Image dec = decorator.decorateImage(image, server);
if (dec != null)
return dec;
}
return image;
}
return null;
} else if (columnIndex == 1) {
IServerType serverType = server.getServerType();
if (serverType == null)
return null;
// return null;
return getServerStateImage(server);
} else
return null;
}
use of org.eclipse.wst.server.core.internal.Server in project webtools.servertools by eclipse.
the class ServerTableLabelProvider method getColumnText.
public String getColumnText(Object element, int columnIndex) {
if (element instanceof ServerTreeContentProvider.TreeElement) {
if (columnIndex == 0)
return ((ServerTreeContentProvider.TreeElement) element).text;
return "";
}
if (element instanceof ModuleServer) {
ModuleServer ms = (ModuleServer) element;
if (columnIndex == 0) {
if (ms.module == null)
return "";
int size = ms.module.length;
String name = ms.module[size - 1].getName();
if (decorator != null) {
String dec = decorator.decorateText(name, ms);
if (dec != null)
return dec;
}
return name;
} else if (columnIndex == 1) {
if (ms.server == null)
return "";
return getStateLabel(ms.server.getServerType(), ms.server.getModuleState(ms.module), null);
} else if (columnIndex == 2) {
IStatus status = ((Server) ms.server).getModuleStatus(ms.module);
if (status != null)
return status.getMessage();
return modulePublishState[ms.server.getModulePublishState(ms.module)];
}
}
IServer server = (IServer) element;
if (columnIndex == 0)
return notNull(server.getName());
else if (columnIndex == 1) {
IServerType serverType = server.getServerType();
if (serverType != null)
return getServerStateLabel(server);
return "";
} else if (columnIndex == 2) {
IStatus status = ((Server) server).getServerStatus();
if (status != null)
return status.getMessage();
if (server.getServerType() == null)
return "";
if (server.getServerState() == IServer.STATE_UNKNOWN)
return "";
String serverId = server.getId();
if (ServerTableViewer.publishing.contains(serverId))
return syncState[4];
// republish
int i = 0;
if (server.shouldPublish()) {
if (((Server) server).isPublishUnknown())
return "";
i += 2;
}
if (server.shouldRestart())
i = 1;
// if (serverType.getServerStateSet() == IServerType.SERVER_STATE_SET_MANAGED)
return syncState[i];
// return syncStateUnmanaged[i];
} else
return "-";
}
use of org.eclipse.wst.server.core.internal.Server in project webtools.servertools by eclipse.
the class ServerTransfer method nativeToJava.
/* (non-Javadoc)
* @see org.eclipse.swt.dnd.Transfer#nativeToJava(org.eclipse.swt.dnd.TransferData)
*/
protected Object nativeToJava(TransferData transferData) {
byte[] bytes = (byte[]) super.nativeToJava(transferData);
if (bytes == null)
return null;
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
try {
IMemento memento = XMLMemento.loadMemento(in);
IMemento[] children = memento.getChildren("server");
int count = children.length;
IServer[] results = new IServer[count];
for (int i = 0; i < count; i++) {
Server server = new Server(null);
server.deserialize(children[i]);
results[i] = server;
}
return results;
} catch (Exception e) {
DND.error(DND.ERROR_INVALID_DATA);
}
return null;
}
use of org.eclipse.wst.server.core.internal.Server in project webtools.servertools by eclipse.
the class AbstractTomcatServerTestCase method verifyPublishedModuleFiles.
protected void verifyPublishedModuleFiles(IModule module) throws Exception {
File moduleDir = new File(getTomcatServerBehaviour().getModuleDeployDirectory(module).toOSString());
assertTrue("Module " + module.getName() + " root directory doesn't exist: " + moduleDir.getPath(), moduleDir.exists());
IModuleResource[] resources = ((Server) getServer()).getResources(new IModule[] { module });
for (int i = 0; i < resources.length; i++) {
if (resources[i] instanceof IModuleFolder) {
verifyPublishedModuleFolder(moduleDir, (IModuleFolder) resources[i]);
} else {
String path = resources[i].getModuleRelativePath().append(resources[i].getName()).toOSString();
File file = new File(moduleDir, path);
assertTrue("Module file doesn't exist: " + file.getPath(), file.exists());
}
}
}
Aggregations