hammant 2002/12/01 15:57:24 Modified: sevak jetty.xml sevak/src/java/org/apache/avalon/apps/sevak/blocks/jetty JettySevak.java Added: sevak/src/java/org/apache/avalon/apps/sevak/blocks/jetty SevakWebApplicationContext.java Log: Jetty works with pertinent jars in sar now. Revision Changes Path 1.7 +13 -0 jakarta-avalon-apps/sevak/jetty.xml Index: jetty.xml =================================================================== RCS file: /home/cvs/jakarta-avalon-apps/sevak/jetty.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- jetty.xml 30 Nov 2002 00:01:55 -0000 1.6 +++ jetty.xml 1 Dec 2002 23:57:24 -0000 1.7 @@ -166,6 +166,19 @@ <include name="org.mortbay.jetty-jdk1.2.jar"/> <include name="org.mortbay.jmx.jar"/> </lib> + + <lib dir="jetty-download/Jetty-${jetty.rel}/Jetty-${jetty.rel}/ext"> + <include name="ant.jar"/> + </lib> + + <zipfileset dir="jetty-download/Jetty-${jetty.rel}/Jetty-${jetty.rel}/ext" prefix="jsplibs"> + <include name="jasper-compiler.jar"/> + <include name="jasper-runtime.jar"/> + </zipfileset> + + <zipfileset dir="${jetty.jars.dir}" prefix="jsplibs"> + <include name="javax.servlet.jar"/> + </zipfileset> <zipfileset dir="${build.lib}"> <include name="sevak-demo.war"/> 1.8 +10 -5 jakarta-avalon-apps/sevak/src/java/org/apache/avalon/apps/sevak/blocks/jetty/JettySevak.java Index: JettySevak.java =================================================================== RCS file: /home/cvs/jakarta-avalon-apps/sevak/src/java/org/apache/avalon/apps/sevak/blocks/jetty/JettySevak.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- JettySevak.java 1 Dec 2002 16:15:18 -0000 1.7 +++ JettySevak.java 1 Dec 2002 23:57:24 -0000 1.8 @@ -18,18 +18,17 @@ import org.apache.avalon.framework.CascadingRuntimeException; import org.apache.avalon.apps.sevak.Sevak; import org.apache.avalon.apps.sevak.SevakException; +import org.apache.avalon.phoenix.BlockContext; import java.io.File; -import java.io.IOException; import java.util.HashMap; import org.mortbay.jetty.Server; import org.mortbay.jetty.servlet.WebApplicationContext; import org.mortbay.util.MultiException; -import org.mortbay.util.InetAddrPort; import org.mortbay.util.Log; import org.mortbay.http.SocketListener; -import org.mortbay.http.SocketChannelListener; + /** @@ -52,6 +51,7 @@ private String m_hostName; private HashMap m_webapps = new HashMap(); private int m_port; + private File m_sarRootDir; /** @@ -68,7 +68,7 @@ public void contextualize(final Context context) { - //this.m_context = (BlockContext) context; + m_sarRootDir = ((BlockContext) context).getBaseDirectory(); } /** @@ -144,7 +144,12 @@ { String webAppURL = pathToWebAppFolder.toURL().toString(); // This still does not work. - WebApplicationContext ctx = m_server.addWebApplication(m_hostName, context, webAppURL); +// WebApplicationContext ctx = m_server.addWebApplication(m_hostName, context, webAppURL); + + WebApplicationContext ctx = + new SevakWebApplicationContext(m_sarRootDir, webAppURL); + ctx.setContextPath(context); + m_server.addContext(m_hostName,ctx); System.out.println("deploying context=" + context + ", webapp=" + webAppURL + " to host=" + m_hostName); 1.1 jakarta-avalon-apps/sevak/src/java/org/apache/avalon/apps/sevak/blocks/jetty/SevakWebApplicationContext.java Index: SevakWebApplicationContext.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.apps.sevak.blocks.jetty; import org.mortbay.jetty.servlet.WebApplicationContext; import java.io.IOException; import java.io.File; /** * * Override for Jetty's WebApplicationContext to kludge Jasper JSP compilation ability. * * * @see <a href="http://jetty.mortbay.com/">Jetty Project Page</a> * * @author Paul Hammant * @author Jules Gosnell * @version 1.0 */ public class SevakWebApplicationContext extends WebApplicationContext { private File m_sarRoot; private File m_phoenixLib; public SevakWebApplicationContext(File sarRoot, String webAppURL) throws IOException { super(webAppURL); m_sarRoot = sarRoot; m_phoenixLib = new File(sarRoot.getParentFile().getParentFile(),"lib"); } /** * Make a classpath for Jasper to use during compilation. This is minimalist * @return the classpath. */ public String getFileClassPath() { String classpath = ""; classpath += new File(m_sarRoot, "jsplibs" + File.separator + "jasper-runtime.jar") + File.pathSeparator; classpath += new File(m_sarRoot, "jsplibs" + File.separator + "jasper-compile.jar") + File.pathSeparator; classpath += new File(m_sarRoot, "jsplibs" + File.separator + "javax.servlet.jar") + File.pathSeparator; classpath += new File(m_phoenixLib, "tools.jar"); return classpath; } }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>