diff options
author | Greg Wilkins | 2014-03-14 05:54:03 +0000 |
---|---|---|
committer | Greg Wilkins | 2014-03-14 05:54:03 +0000 |
commit | acbe13a210c0250a87b22a5eadda9c0bdbabbab0 (patch) | |
tree | 4dabe069c0eb09cd1c582c2c8f44d7b9c6c2741d /apache-jsp | |
parent | b3be24742353f7b5880fa8229a20ed0b19058cac (diff) | |
download | org.eclipse.jetty.project-acbe13a210c0250a87b22a5eadda9c0bdbabbab0.tar.gz org.eclipse.jetty.project-acbe13a210c0250a87b22a5eadda9c0bdbabbab0.tar.xz org.eclipse.jetty.project-acbe13a210c0250a87b22a5eadda9c0bdbabbab0.zip |
430341 - add apache jsp and jstl optional modules
Diffstat (limited to 'apache-jsp')
6 files changed, 413 insertions, 0 deletions
diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml new file mode 100644 index 0000000000..252f677d7f --- /dev/null +++ b/apache-jsp/pom.xml @@ -0,0 +1,95 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <parent> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-project</artifactId> + <version>9.1.4-SNAPSHOT</version> + </parent> + <modelVersion>4.0.0</modelVersion> + <artifactId>apache-jsp</artifactId> + <name>Jetty :: Apache JSP</name> + <url>http://www.eclipse.org/jetty</url> + <packaging>jar</packaging> + <properties> + <bundle-symbolic-name>${project.groupId}.${project.artifactId}</bundle-symbolic-name> + </properties> + <build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <extensions>true</extensions> + <executions> + <execution> + <id>generate-manifest</id> + <goals> + <goal>manifest</goal> + </goals> + <configuration> + <instructions> + <Export-Package>org.eclipse.jetty.apache.jsp.*;version="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}"</Export-Package> + <Require-Capability>osgi.extender; filter:="(osgi.extender=osgi.serviceloader.registrar)"</Require-Capability> + <Provide-Capability>osgi.serviceloader; osgi.serviceloader=javax.servlet.ServletContainerInitializer</Provide-Capability> + <_nouses>true</_nouses> + </instructions> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + <configuration> + <descriptorRefs> + <descriptorRef>config</descriptorRef> + </descriptorRefs> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <dependencies> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util</artifactId> + <version>${project.version}</version> + </dependency> + + <!-- Schemas --> + <dependency> + <groupId>org.eclipse.jetty.toolchain</groupId> + <artifactId>jetty-schemas</artifactId> + </dependency> + + <!-- servlet api --> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>javax.servlet-api</artifactId> + </dependency> + + <!-- JSP Api --> + <dependency> + <groupId>javax.servlet.jsp</groupId> + <artifactId>javax.servlet.jsp-api</artifactId> + </dependency> + + <!-- JSP Impl --> + <dependency> + <groupId>org.mortbay.jasper</groupId> + <artifactId>apache-jsp</artifactId> + </dependency> + + <!-- Eclipse Java Compiler (for JSP Compilation) --> + <dependency> + <groupId>org.eclipse.jetty.orbit</groupId> + <artifactId>org.eclipse.jdt.core</artifactId> + </dependency> + </dependencies> +</project> diff --git a/apache-jsp/src/main/config/modules/apache-jsp.mod b/apache-jsp/src/main/config/modules/apache-jsp.mod new file mode 100644 index 0000000000..19a2f66c53 --- /dev/null +++ b/apache-jsp/src/main/config/modules/apache-jsp.mod @@ -0,0 +1,14 @@ +# +# Apache JSP Module +# + +[depend] +servlet + +[lib] +lib/apache-jsp/*.jar + +[ini-template] +# JSP Configuration +# To use an non-jdk compiler for JSP compilation uncomment next line +# -Dorg.apache.jasper.compiler.disablejsr199=true diff --git a/apache-jsp/src/main/java/org/eclipse/jetty/apache/jsp/JettyJasperInitializer.java b/apache-jsp/src/main/java/org/eclipse/jetty/apache/jsp/JettyJasperInitializer.java new file mode 100644 index 0000000000..4cd7993211 --- /dev/null +++ b/apache-jsp/src/main/java/org/eclipse/jetty/apache/jsp/JettyJasperInitializer.java @@ -0,0 +1,114 @@ +// +// ======================================================================== +// Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.apache.jsp; + +import java.io.IOException; +import java.net.URL; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +import javax.servlet.ServletContext; +import javax.servlet.ServletException; + +import org.apache.jasper.servlet.JasperInitializer; +import org.apache.jasper.servlet.TldPreScanned; +import org.apache.jasper.servlet.TldScanner; +import org.xml.sax.SAXException; + +/** + * JettyJasperInitializer + * + */ +public class JettyJasperInitializer extends JasperInitializer +{ + + /** + * NullTldScanner + * + * Does nothing. Used when we can tell that all jsps have been precompiled, in which case + * the tlds are not needed. + */ + private final class NullTldScanner extends TldScanner + { + /** + * @param context + * @param namespaceAware + * @param validation + * @param blockExternal + */ + private NullTldScanner(ServletContext context, boolean namespaceAware, boolean validation, boolean blockExternal) + { + super(context, namespaceAware, validation, blockExternal); + } + + /** + * @see org.apache.jasper.servlet.TldScanner#scan() + */ + @Override + public void scan() throws IOException, SAXException + { + return; //do nothing + } + + /** + * @see org.apache.jasper.servlet.TldScanner#getListeners() + */ + @Override + public List<String> getListeners() + { + return Collections.emptyList(); + } + + /** + * @see org.apache.jasper.servlet.TldScanner#scanJars() + */ + @Override + public void scanJars() + { + return; //do nothing + } + } + + /** + * Make a TldScanner, and prefeed it the tlds that have already been discovered in jar files + * by the MetaInfConfiguration. + * + * @see org.apache.jasper.servlet.JasperInitializer#prepareScanner(javax.servlet.ServletContext, boolean, boolean, boolean) + */ + @Override + public TldScanner newTldScanner(ServletContext context, boolean namespaceAware, boolean validate, boolean blockExternal) + { + String tmp = context.getInitParameter("org.eclipse.jetty.jsp.precompiled"); + if (tmp!=null && !tmp.equals("") && Boolean.valueOf(tmp)) + { + return new NullTldScanner(context, namespaceAware, validate, blockExternal); + } + + Collection<URL> tldUrls = (Collection<URL>)context.getAttribute("org.eclipse.jetty.tlds"); + if (tldUrls != null && !tldUrls.isEmpty()) + { + return new TldPreScanned(context,namespaceAware,validate,blockExternal,tldUrls); + } + return super.newTldScanner(context, namespaceAware, validate, blockExternal); + } + + +} diff --git a/apache-jsp/src/main/java/org/eclipse/jetty/apache/jsp/JuliLog.java b/apache-jsp/src/main/java/org/eclipse/jetty/apache/jsp/JuliLog.java new file mode 100644 index 0000000000..e58781d079 --- /dev/null +++ b/apache-jsp/src/main/java/org/eclipse/jetty/apache/jsp/JuliLog.java @@ -0,0 +1,188 @@ +// +// ======================================================================== +// Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.apache.jsp; + +public class JuliLog implements org.apache.juli.logging.Log +{ + public static org.apache.juli.logging.Log getInstance(String name) + { + return new JuliLog(name); + } + + private final org.eclipse.jetty.util.log.Logger _logger; + private final org.eclipse.jetty.util.log.StdErrLog _stdErrLog; + + public JuliLog() + { + _logger=org.eclipse.jetty.util.log.Log.getRootLogger(); + _stdErrLog=(_logger instanceof org.eclipse.jetty.util.log.StdErrLog) ? (org.eclipse.jetty.util.log.StdErrLog)_logger:null; + } + + public JuliLog(String name) + { + _logger=org.eclipse.jetty.util.log.Log.getLogger(name); + _stdErrLog=(_logger instanceof org.eclipse.jetty.util.log.StdErrLog) ? (org.eclipse.jetty.util.log.StdErrLog)_logger:null; + } + + @Override + public boolean isDebugEnabled() + { + return _logger.isDebugEnabled(); + } + + @Override + public boolean isErrorEnabled() + { + return _stdErrLog==null?true:_stdErrLog.getLevel()<=org.eclipse.jetty.util.log.StdErrLog.LEVEL_WARN; + } + + @Override + public boolean isFatalEnabled() + { + return _stdErrLog==null?true:_stdErrLog.getLevel()<=org.eclipse.jetty.util.log.StdErrLog.LEVEL_WARN; + } + + @Override + public boolean isInfoEnabled() + { + return _stdErrLog==null?true:_stdErrLog.getLevel()<=org.eclipse.jetty.util.log.StdErrLog.LEVEL_INFO; + } + + @Override + public boolean isTraceEnabled() + { + return _stdErrLog==null?true:_stdErrLog.getLevel()<=org.eclipse.jetty.util.log.StdErrLog.LEVEL_DEBUG; + } + + @Override + public boolean isWarnEnabled() + { + return _stdErrLog==null?true:_stdErrLog.getLevel()<=org.eclipse.jetty.util.log.StdErrLog.LEVEL_WARN; + } + + @Override + public void trace(Object message) + { + if (message instanceof String) + _logger.debug((String)message); + else + _logger.debug("{}",message); + } + + @Override + public void trace(Object message, Throwable t) + { + if (message instanceof String) + _logger.debug((String)message,t); + else + _logger.debug("{}",message,t); + } + + @Override + public void debug(Object message) + { + if (message instanceof String) + _logger.debug((String)message); + else + _logger.debug("{}",message); + } + + @Override + public void debug(Object message, Throwable t) + { + if (message instanceof String) + _logger.debug((String)message,t); + else + _logger.debug("{}",message,t); + } + + @Override + public void info(Object message) + { + if (message instanceof String) + _logger.info((String)message); + else + _logger.info("{}",message); + } + + @Override + public void info(Object message, Throwable t) + { + if (message instanceof String) + _logger.info((String)message,t); + else + _logger.info("{}",message,t); + } + + @Override + public void warn(Object message) + { + if (message instanceof String) + _logger.warn((String)message); + else + _logger.warn("{}",message); + } + + @Override + public void warn(Object message, Throwable t) + { + if (message instanceof String) + _logger.warn((String)message,t); + else + _logger.warn("{}",message,t); + } + + @Override + public void error(Object message) + { + if (message instanceof String) + _logger.warn((String)message); + else + _logger.warn("{}",message); + } + + @Override + public void error(Object message, Throwable t) + { + if (message instanceof String) + _logger.warn((String)message,t); + else + _logger.warn("{}",message,t); + } + + @Override + public void fatal(Object message) + { + if (message instanceof String) + _logger.warn((String)message); + else + _logger.warn("{}",message); + } + + @Override + public void fatal(Object message, Throwable t) + { + if (message instanceof String) + _logger.warn((String)message,t); + else + _logger.warn("{}",message,t); + } +} + + diff --git a/apache-jsp/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer b/apache-jsp/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer new file mode 100644 index 0000000000..634670591f --- /dev/null +++ b/apache-jsp/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer @@ -0,0 +1 @@ +org.eclipse.jetty.apache.jsp.JettyJasperInitializer diff --git a/apache-jsp/src/main/resources/META-INF/services/org.apache.juli.logging.Log b/apache-jsp/src/main/resources/META-INF/services/org.apache.juli.logging.Log new file mode 100644 index 0000000000..efa397b7c6 --- /dev/null +++ b/apache-jsp/src/main/resources/META-INF/services/org.apache.juli.logging.Log @@ -0,0 +1 @@ +org.eclipse.jetty.apache.jsp.JuliLog |