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]>

Reply via email to