Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jetty webdefault.xml #1

Merged
4 commits merged into from
Oct 9, 2010
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions sbt/src/main/scala/sbt/DefaultProject.scala
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,7 @@ abstract class BasicWebScalaProject extends BasicScalaProject with WebScalaProje
def port = jettyPort
def log = p.log
def jettyEnv = jettyEnvXml
def webDefaultXml = jettyWebDefaultXml
}
/** This is the classpath used to determine what classes, resources, and jars to put in the war file.*/
def webappClasspath = publicClasspath
Expand Down Expand Up @@ -422,6 +423,7 @@ abstract class BasicWebScalaProject extends BasicScalaProject with WebScalaProje
def jettyPort: Int = JettyRunner.DefaultPort

def jettyEnvXml : Option[File] = None
def jettyWebDefaultXml : Option[File] = None

lazy val jettyReload = task { jettyInstance.reload(); None } describedAs(JettyReloadDescription)
lazy val jettyRestart = jettyStop && jettyRun
Expand Down
1 change: 1 addition & 0 deletions sbt/src/main/scala/sbt/WebApp.scala
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ trait DefaultJettyConfiguration extends JettyConfiguration
def classpath: PathFinder
def parentLoader: ClassLoader
def jettyEnv: Option[File]
def webDefaultXml: Option[File]
}
abstract class CustomJettyConfiguration extends JettyConfiguration
{
Expand Down
1 change: 1 addition & 0 deletions sbt/src/main/scala/sbt/jetty/LazyJettyRun.scala.templ
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ private object LazyJettyRun${jetty.version} extends JettyRun
import c._
configureDefaultConnector(server, port)
val webapp = new WebAppContext(war.absolutePath, contextPath)
webDefaultXml.foreach{webDefaultXml:File => webapp.setDefaultsDescriptor(webDefaultXml.toString)}

def createLoader =
{
Expand Down
38 changes: 38 additions & 0 deletions sbt/src/sbt-test/web/jetty-env/conf/jetty/jetty-env.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<New id="testEnvEntry" class="org.eclipse.jetty.plus.jndi.EnvEntry">
<Arg></Arg>
<Arg>testValue</Arg>
<Arg type="java.lang.String">It works</Arg>
<Arg type="boolean">true</Arg>
</New>

<!--
<New id="DbNameDataSource" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg>jdbc/DbName</Arg>
<Arg>
<New class="com.mchange.v2.c3p0.ComboPooledDataSource">
<Set name="driverClass">com.mysql.jdbc.Driver</Set>
<Set name="jdbcUrl">jdbc:mysql://localhost/dbName</Set>
<Set name="User">myUsername</Set>
<Set name="Password">myPassword</Set>
<Set name="maxPoolSize">30</Set>
<Set name="checkoutTimeout">1800</Set>
</New>
</Arg>
</New>
<New id="DbNameDataSource" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg>jdbc/DbName</Arg>
<Arg>
<New class="com.mchange.v2.c3p0.ComboPooledDataSource">
<Set name="driverClass">org.h2.Driver</Set>
<Set name="jdbcUrl">jdbc:h2:tcp://localhost/~/dbName</Set>
<Set name="jdbcUrl">jdbc:h2:mem:dbName</Set>
<Set name="User">myUsername</Set>
<Set name="Password">myPassword</Set>
</New>
</Arg>
</New>
-->
</Configure>
8 changes: 8 additions & 0 deletions sbt/src/sbt-test/web/jetty-env/project/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#Project properties
#Thu Aug 12 11:18:54 CEST 2010
project.organization=sbt
project.name=JettyEnvTest
sbt.version=0.7.5-SNAPSHOT
project.version=1.0
build.scala.versions=2.7.7
project.initialize=false
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import sbt._
import java.io.File
import java.lang.System

class JettyEnvTestProject(info: ProjectInfo) extends DefaultWebProject(info){
override def jettyEnvXml = Some( (info.projectPath / "conf" / "jetty" / "jetty-env.xml").asFile)
val jetty7WebApp = "org.eclipse.jetty" % "jetty-webapp" % "7.0.2.RC0" % "test"
val jetty7Plus = "org.eclipse.jetty" % "jetty-plus" % "7.0.2.RC0" % "test"
val servletApiDep = "javax.servlet" % "servlet-api" % "2.5" % "provided"
}
14 changes: 14 additions & 0 deletions sbt/src/sbt-test/web/jetty-env/src/main/scala/HelloJndi.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import javax.servlet.http.{HttpServlet, HttpServletRequest => HSReq, HttpServletResponse => HSResp}
import javax.naming.{InitialContext => IC};

class HelloJndi extends HttpServlet {

val key = "java:comp/env/testValue"
val testValue = (new IC).lookup(key)

override def doGet(req : HSReq, resp : HSResp) =
resp.getWriter().print("<HTML>" +
"<HEAD><TITLE>Hello JNDI!</TITLE></HEAD>" +
"<BODY>Hello JNDI, <br/>Value of " + key + ": " + testValue + "</BODY>" +
"</HTML>")
}
13 changes: 13 additions & 0 deletions sbt/src/sbt-test/web/jetty-env/src/main/webapp/WEB-INF/web.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>helloJNDI</servlet-name>
<servlet-class>HelloJndi</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloJNDI</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>