Search in sources :

Example 31 with Server

use of org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server in project webtools.servertools by eclipse.

the class XmlTestCase method testDefaultServerXml60.

/**
 * Test reading of the default server.xml provided by the
 * current Tomcat 6.0 release.
 */
public void testDefaultServerXml60() {
    Server server = getXml40Server("default.serverxml.60");
    assertNotNull(server);
    // Check contents of XML
    String port = server.getPort();
    assertEquals("8005", port);
    assertEquals(4, server.getListenerCount());
    Listener listener = server.getListener(0);
    assertNotNull(listener);
    assertEquals("org.apache.catalina.core.AprLifecycleListener", listener.getClassName());
    listener = server.getListener(1);
    assertNotNull(listener);
    assertEquals("org.apache.catalina.core.JasperListener", listener.getClassName());
    listener = server.getListener(2);
    assertNotNull(listener);
    assertEquals("org.apache.catalina.mbeans.ServerLifecycleListener", listener.getClassName());
    listener = server.getListener(3);
    assertNotNull(listener);
    assertEquals("org.apache.catalina.mbeans.GlobalResourcesLifecycleListener", listener.getClassName());
    assertEquals(1, server.getServiceCount());
    Service service = server.getService(0);
    assertNotNull(service);
    assertEquals("Catalina", service.getName());
    assertEquals(2, service.getConnectorCount());
    Connector connector = service.getConnector(0);
    assertNotNull(connector);
    assertEquals("8080", connector.getPort());
    assertEquals("HTTP/1.1", connector.getProtocol());
    connector = service.getConnector(1);
    assertNotNull(connector);
    assertEquals("8009", connector.getPort());
    assertEquals("AJP/1.3", connector.getProtocol());
    Engine engine = service.getEngine();
    assertNotNull(engine);
    assertEquals("Catalina", engine.getName());
    assertEquals("localhost", engine.getDefaultHost());
    assertEquals(1, engine.getHostCount());
    Host host = engine.getHost(0);
    assertNotNull(host);
    assertEquals("localhost", host.getName());
    assertEquals("webapps", host.getAppBase());
    assertEquals("true", host.getAttributeValue("unpackWARs"));
    assertEquals("true", host.getAttributeValue("autoDeploy"));
    assertEquals(0, host.getContextCount());
}
Also used : Connector(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector) Listener(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Listener) Server(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server) Service(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service) Host(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host) Engine(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine)

Example 32 with Server

use of org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server in project webtools.servertools by eclipse.

the class XmlTestCase method testServerInstance3.

/**
 * Test behavior of ServerInstance
 */
public void testServerInstance3() {
    Server server = getXml40Server("serverxml.test3");
    assertNotNull(server);
    ServerInstance si = new ServerInstance(server, "Service", null);
    Context context = si.getContext("/WebApp1");
    assertNotNull(context);
    assertEquals(new Path("/Base/relative/host/WebApp1"), si.getContextWorkDirectory(new Path("/Base"), context));
    context = si.getContext("WebApp2");
    assertNotNull(context);
    assertEquals(new Path("/Base/relative/workdir"), si.getContextWorkDirectory(new Path("/Base"), context));
    context = si.getContext("WebApp3");
    assertNotNull(context);
    assertEquals(new Path("/absolute/workdir"), si.getContextWorkDirectory(new Path("/Base"), context));
}
Also used : Context(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context) Path(org.eclipse.core.runtime.Path) Server(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server) ServerInstance(org.eclipse.jst.server.tomcat.core.internal.xml.server40.ServerInstance)

Example 33 with Server

use of org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server in project webtools.servertools by eclipse.

the class XmlTestCase method testServerInstance50.

/**
 * Test reading of the default server.xml provided by the
 * current Tomcat 5.0 release using ServerInstance.
 */
public void testServerInstance50() {
    Server server = getXml40Server("default.serverxml.50");
    assertNotNull(server);
    ServerInstance si = new ServerInstance(server, null, null);
    assertEquals(2, server.getListenerCount());
    Listener[] listeners = si.getListeners();
    assertEquals("org.apache.catalina.mbeans.ServerLifecycleListener", listeners[0].getClassName());
    assertEquals("org.apache.catalina.mbeans.GlobalResourcesLifecycleListener", listeners[1].getClassName());
    Service service = si.getService();
    assertNotNull(service);
    assertEquals("Catalina", service.getName());
    assertEquals("8080", si.getConnector(0).getPort());
    assertNull(si.getConnector(0).getProtocol());
    assertEquals("8009", si.getConnector(1).getPort());
    assertEquals("AJP/1.3", si.getConnector(1).getProtocol());
    Connector[] connectors = si.getConnectors();
    assertEquals(2, connectors.length);
    assertEquals("8080", connectors[0].getPort());
    assertNull(connectors[0].getProtocol());
    assertEquals("8009", connectors[1].getPort());
    assertEquals("AJP/1.3", connectors[1].getProtocol());
    Engine engine = si.getEngine();
    assertNotNull(engine);
    assertEquals("Catalina", engine.getName());
    assertEquals("localhost", engine.getDefaultHost());
    Host host = si.getHost();
    assertNotNull(host);
    assertEquals("localhost", host.getName());
    assertEquals("webapps", host.getAppBase());
    assertEquals("true", host.getAttributeValue("unpackWARs"));
    assertEquals("true", host.getAttributeValue("autoDeploy"));
    Context[] contexts = si.getContexts();
    assertEquals(0, contexts.length);
}
Also used : Context(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context) Connector(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector) Listener(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Listener) Server(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server) Service(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service) Host(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host) ServerInstance(org.eclipse.jst.server.tomcat.core.internal.xml.server40.ServerInstance) Engine(org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine)

Example 34 with Server

use of org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server in project webtools.servertools by eclipse.

the class Tomcat85Configuration method load.

/**
 * @see TomcatConfiguration#load(IPath, IProgressMonitor)
 */
public void load(IPath path, IProgressMonitor monitor) throws CoreException {
    try {
        monitor = ProgressUtil.getMonitorFor(monitor);
        monitor.beginTask(Messages.loadingTask, 7);
        // check for catalina.policy to verify that this is a v5.5 config
        InputStream in = new FileInputStream(path.append("catalina.policy").toFile());
        in.read();
        in.close();
        monitor.worked(1);
        serverFactory = new Factory();
        serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
        server = (Server) serverFactory.loadDocument(new FileInputStream(path.append("server.xml").toFile()));
        serverInstance = new ServerInstance(server, null, null);
        monitor.worked(1);
        webAppDocument = new WebAppDocument(path.append("web.xml"));
        monitor.worked(1);
        File file = path.append("context.xml").toFile();
        if (file.exists())
            contextDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(file)));
        monitor.worked(1);
        tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(path.append("tomcat-users.xml").toFile())));
        monitor.worked(1);
        // load policy file
        policyFile = TomcatVersionHelper.getFileContents(new FileInputStream(path.append("catalina.policy").toFile()));
        monitor.worked(1);
        // load properties file
        file = path.append("catalina.properties").toFile();
        if (file.exists())
            propertiesFile = TomcatVersionHelper.getFileContents(new FileInputStream(file));
        else
            propertiesFile = null;
        monitor.worked(1);
        if (monitor.isCanceled())
            return;
        monitor.done();
    } catch (Exception e) {
        Trace.trace(Trace.WARNING, "Could not load Tomcat v8.5 configuration from " + path.toOSString() + ": " + e.getMessage());
        throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, path.toOSString()), e));
    }
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) Status(org.eclipse.core.runtime.Status) InputSource(org.xml.sax.InputSource) CoreException(org.eclipse.core.runtime.CoreException) ByteArrayInputStream(java.io.ByteArrayInputStream) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) Factory(org.eclipse.jst.server.tomcat.core.internal.xml.Factory) ServerInstance(org.eclipse.jst.server.tomcat.core.internal.xml.server40.ServerInstance) IFile(org.eclipse.core.resources.IFile) File(java.io.File) FileInputStream(java.io.FileInputStream) CoreException(org.eclipse.core.runtime.CoreException)

Example 35 with Server

use of org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server in project webtools.servertools by eclipse.

the class Tomcat85Configuration method load.

/**
 * @see TomcatConfiguration#load(IFolder, IProgressMonitor)
 */
public void load(IFolder folder, IProgressMonitor monitor) throws CoreException {
    try {
        monitor = ProgressUtil.getMonitorFor(monitor);
        monitor.beginTask(Messages.loadingTask, 1200);
        // check for catalina.policy to verify that this is a v4.0 config
        IFile file = folder.getFile("catalina.policy");
        if (!file.exists())
            throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), null));
        // load server.xml
        file = folder.getFile("server.xml");
        InputStream in = file.getContents();
        serverFactory = new Factory();
        serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
        server = (Server) serverFactory.loadDocument(in);
        serverInstance = new ServerInstance(server, null, null);
        monitor.worked(200);
        // load web.xml
        file = folder.getFile("web.xml");
        webAppDocument = new WebAppDocument(file);
        monitor.worked(200);
        // load context.xml
        file = folder.getFile("context.xml");
        if (file.exists()) {
            in = file.getContents();
            contextDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(in));
        } else
            contextDocument = null;
        monitor.worked(200);
        // load tomcat-users.xml
        file = folder.getFile("tomcat-users.xml");
        in = file.getContents();
        tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(in));
        monitor.worked(200);
        // load catalina.policy
        file = folder.getFile("catalina.policy");
        in = file.getContents();
        policyFile = TomcatVersionHelper.getFileContents(in);
        monitor.worked(200);
        // load catalina.properties
        file = folder.getFile("catalina.properties");
        if (file.exists()) {
            in = file.getContents();
            propertiesFile = TomcatVersionHelper.getFileContents(in);
        } else
            propertiesFile = null;
        monitor.worked(200);
        if (monitor.isCanceled())
            throw new Exception("Cancelled");
        monitor.done();
    } catch (Exception e) {
        Trace.trace(Trace.WARNING, "Could not reload Tomcat v8.5 configuration from: " + folder.getFullPath() + ": " + e.getMessage());
        throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), e));
    }
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) Status(org.eclipse.core.runtime.Status) InputSource(org.xml.sax.InputSource) IFile(org.eclipse.core.resources.IFile) CoreException(org.eclipse.core.runtime.CoreException) ByteArrayInputStream(java.io.ByteArrayInputStream) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) Factory(org.eclipse.jst.server.tomcat.core.internal.xml.Factory) ServerInstance(org.eclipse.jst.server.tomcat.core.internal.xml.server40.ServerInstance) CoreException(org.eclipse.core.runtime.CoreException)

Aggregations

CoreException (org.eclipse.core.runtime.CoreException)48 ServerInstance (org.eclipse.jst.server.tomcat.core.internal.xml.server40.ServerInstance)32 Factory (org.eclipse.jst.server.tomcat.core.internal.xml.Factory)26 IStatus (org.eclipse.core.runtime.IStatus)25 Status (org.eclipse.core.runtime.Status)24 FileInputStream (java.io.FileInputStream)23 Connector (org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector)23 Context (org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context)22 Service (org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service)22 InputStream (java.io.InputStream)19 ByteArrayInputStream (java.io.ByteArrayInputStream)18 ArrayList (java.util.ArrayList)18 InputSource (org.xml.sax.InputSource)18 IFile (org.eclipse.core.resources.IFile)17 Server (org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server)15 File (java.io.File)13 IPath (org.eclipse.core.runtime.IPath)9 ServerPort (org.eclipse.wst.server.core.ServerPort)9 FileNotFoundException (java.io.FileNotFoundException)6 IOException (java.io.IOException)6