Search in sources :

Example 11 with Server

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);
        }
    }
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) Server(org.eclipse.wst.server.core.internal.Server) PublishAdapter(org.eclipse.wst.server.core.util.PublishAdapter)

Example 12 with Server

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;
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) IServer(org.eclipse.wst.server.core.IServer) IServer(org.eclipse.wst.server.core.IServer) Server(org.eclipse.wst.server.core.internal.Server) IServerType(org.eclipse.wst.server.core.IServerType) ISharedImages(org.eclipse.ui.ISharedImages) ILabelProvider(org.eclipse.jface.viewers.ILabelProvider) Image(org.eclipse.swt.graphics.Image)

Example 13 with Server

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 "-";
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) IServer(org.eclipse.wst.server.core.IServer) IServer(org.eclipse.wst.server.core.IServer) Server(org.eclipse.wst.server.core.internal.Server) IServerType(org.eclipse.wst.server.core.IServerType) ServerTreeContentProvider(org.eclipse.wst.server.ui.internal.viewers.ServerTreeContentProvider)

Example 14 with Server

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;
}
Also used : IServer(org.eclipse.wst.server.core.IServer) Server(org.eclipse.wst.server.core.internal.Server) IServer(org.eclipse.wst.server.core.IServer) ByteArrayInputStream(java.io.ByteArrayInputStream) IMemento(org.eclipse.wst.server.core.internal.IMemento) IOException(java.io.IOException)

Example 15 with Server

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());
        }
    }
}
Also used : IModuleResource(org.eclipse.wst.server.core.model.IModuleResource) IModuleFolder(org.eclipse.wst.server.core.model.IModuleFolder) TomcatServer(org.eclipse.jst.server.tomcat.core.internal.TomcatServer) IServer(org.eclipse.wst.server.core.IServer) Server(org.eclipse.wst.server.core.internal.Server) File(java.io.File)

Aggregations

Server (org.eclipse.wst.server.core.internal.Server)23 IServer (org.eclipse.wst.server.core.IServer)17 IStatus (org.eclipse.core.runtime.IStatus)11 CoreException (org.eclipse.core.runtime.CoreException)7 IOException (java.io.IOException)5 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)5 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)4 Job (org.eclipse.core.runtime.jobs.Job)4 ControllableServerBehavior (org.jboss.ide.eclipse.as.wtp.core.server.behavior.ControllableServerBehavior)4 File (java.io.File)3 IFile (org.eclipse.core.resources.IFile)3 Status (org.eclipse.core.runtime.Status)3 IServerType (org.eclipse.wst.server.core.IServerType)3 IMemento (org.eclipse.wst.server.core.internal.IMemento)3 IControllableServerBehavior (org.jboss.ide.eclipse.as.wtp.core.server.behavior.IControllableServerBehavior)3 CDKServer (org.jboss.tools.openshift.cdk.server.core.internal.adapter.CDKServer)3 ArrayList (java.util.ArrayList)2 IProject (org.eclipse.core.resources.IProject)2 IDebugEventSetListener (org.eclipse.debug.core.IDebugEventSetListener)2 ILaunchConfiguration (org.eclipse.debug.core.ILaunchConfiguration)2