Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2014-03-14 05:54:03 +0000
committerGreg Wilkins2014-03-14 05:54:03 +0000
commitacbe13a210c0250a87b22a5eadda9c0bdbabbab0 (patch)
tree4dabe069c0eb09cd1c582c2c8f44d7b9c6c2741d /apache-jsp
parentb3be24742353f7b5880fa8229a20ed0b19058cac (diff)
downloadorg.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')
-rw-r--r--apache-jsp/pom.xml95
-rw-r--r--apache-jsp/src/main/config/modules/apache-jsp.mod14
-rw-r--r--apache-jsp/src/main/java/org/eclipse/jetty/apache/jsp/JettyJasperInitializer.java114
-rw-r--r--apache-jsp/src/main/java/org/eclipse/jetty/apache/jsp/JuliLog.java188
-rw-r--r--apache-jsp/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer1
-rw-r--r--apache-jsp/src/main/resources/META-INF/services/org.apache.juli.logging.Log1
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

Back to the top