You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2007/09/21 14:21:22 UTC
svn commit: r578084 - in /incubator/sling/trunk/maven-jspc-plugin: ./
src/main/java/org/apache/sling/maven/jspc/ src/main/resources/org/
src/main/resources/org/apache/ src/main/resources/org/apache/sling/
src/main/resources/org/apache/sling/maven/ src/...
Author: fmeschbe
Date: Fri Sep 21 05:21:21 2007
New Revision: 578084
URL: http://svn.apache.org/viewvc?rev=578084&view=rev
Log:
SLING-6 Run JSPs located in bundles
Added:
incubator/sling/trunk/maven-jspc-plugin/src/main/resources/org/
incubator/sling/trunk/maven-jspc-plugin/src/main/resources/org/apache/
incubator/sling/trunk/maven-jspc-plugin/src/main/resources/org/apache/sling/
incubator/sling/trunk/maven-jspc-plugin/src/main/resources/org/apache/sling/maven/
incubator/sling/trunk/maven-jspc-plugin/src/main/resources/org/apache/sling/maven/jspc/
incubator/sling/trunk/maven-jspc-plugin/src/main/resources/org/apache/sling/maven/jspc/web.xml
Removed:
incubator/sling/trunk/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/web.xml
Modified:
incubator/sling/trunk/maven-jspc-plugin/pom.xml
incubator/sling/trunk/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspCServletContext.java
incubator/sling/trunk/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspcMojo.java
Modified: incubator/sling/trunk/maven-jspc-plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/maven-jspc-plugin/pom.xml?rev=578084&r1=578083&r2=578084&view=diff
==============================================================================
--- incubator/sling/trunk/maven-jspc-plugin/pom.xml (original)
+++ incubator/sling/trunk/maven-jspc-plugin/pom.xml Fri Sep 21 05:21:21 2007
@@ -79,5 +79,10 @@
<artifactId>maven-archiver</artifactId>
<version>2.0</version>
</dependency>
+
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>osgi_R4_core</artifactId>
+ </dependency>
</dependencies>
</project>
Modified: incubator/sling/trunk/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspCServletContext.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspCServletContext.java?rev=578084&r1=578083&r2=578084&view=diff
==============================================================================
--- incubator/sling/trunk/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspCServletContext.java (original)
+++ incubator/sling/trunk/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspCServletContext.java Fri Sep 21 05:21:21 2007
@@ -56,7 +56,7 @@
/**
* Servlet context attributes.
*/
- protected Hashtable attributes;
+ protected Hashtable<String, Object> attributes;
/**
* The log writer we will write log messages to.
@@ -75,7 +75,7 @@
* @param resourceBaseURL Resource base URL
*/
public JspCServletContext(Log log, URL resourceBaseURL) {
- this.attributes = new Hashtable();
+ attributes = new Hashtable<String, Object>();
this.log = log;
this.resourceBaseURL = resourceBaseURL;
}
@@ -88,14 +88,14 @@
* @param name Name of the requested attribute
*/
public Object getAttribute(String name) {
- return this.attributes.get(name);
+ return attributes.get(name);
}
/**
* Return an enumeration of context attribute names.
*/
- public Enumeration getAttributeNames() {
- return this.attributes.keys();
+ public Enumeration<String> getAttributeNames() {
+ return attributes.keys();
}
/**
@@ -119,8 +119,8 @@
/**
* Return an enumeration of the names of context initialization parameters.
*/
- public Enumeration getInitParameterNames() {
- return new Vector().elements();
+ public Enumeration<String> getInitParameterNames() {
+ return new Vector<String>().elements();
}
/**
@@ -161,7 +161,7 @@
* @param path The context-relative virtual path to resolve
*/
public String getRealPath(String path) {
- if (!this.resourceBaseURL.getProtocol().equals("file")) {
+ if (!resourceBaseURL.getProtocol().equals("file")) {
return null;
}
@@ -170,7 +170,7 @@
}
try {
- return this.getResource(path).getFile().replace('/', File.separatorChar);
+ return getResource(path).getFile().replace('/', File.separatorChar);
} catch (Throwable t) {
return null;
}
@@ -205,7 +205,7 @@
+ "' does not start with '/'");
}
- URL url = new URL(this.resourceBaseURL, path.substring(1));
+ URL url = new URL(resourceBaseURL, path.substring(1));
InputStream is = null;
try {
is = url.openStream();
@@ -231,7 +231,7 @@
*/
public InputStream getResourceAsStream(String path) {
try {
- return this.getResource(path).openStream();
+ return getResource(path).openStream();
} catch (Throwable t) {
return null;
}
@@ -243,14 +243,14 @@
*
* @param path Context-relative base path
*/
- public Set getResourcePaths(String path) {
- Set thePaths = new HashSet();
+ public Set<String> getResourcePaths(String path) {
+ Set<String> thePaths = new HashSet<String>();
if (!path.endsWith("/")) {
path += "/";
}
- String basePath = this.getRealPath(path);
+ String basePath = getRealPath(path);
if (basePath == null) {
return (thePaths);
}
@@ -286,6 +286,7 @@
* @param name Name of the requested servlet
* @deprecated This method has been deprecated with no replacement
*/
+ @Deprecated
public Servlet getServlet(String name) {
return null;
}
@@ -294,7 +295,7 @@
* Return the name of this servlet context.
*/
public String getServletContextName() {
- return this.getServerInfo();
+ return getServerInfo();
}
/**
@@ -302,8 +303,9 @@
*
* @deprecated This method has been deprecated with no replacement
*/
- public Enumeration getServletNames() {
- return new Vector().elements();
+ @Deprecated
+ public Enumeration<String> getServletNames() {
+ return new Vector<String>().elements();
}
/**
@@ -311,8 +313,9 @@
*
* @deprecated This method has been deprecated with no replacement
*/
- public Enumeration getServlets() {
- return new Vector().elements();
+ @Deprecated
+ public Enumeration<Servlet> getServlets() {
+ return new Vector<Servlet>().elements();
}
/**
@@ -321,7 +324,7 @@
* @param message The message to be logged
*/
public void log(String message) {
- this.log.info(message);
+ log.info(message);
}
/**
@@ -331,6 +334,7 @@
* @param message The message to be logged
* @deprecated Use log(String,Throwable) instead
*/
+ @Deprecated
public void log(Exception exception, String message) {
this.log(message, exception);
}
@@ -342,7 +346,7 @@
* @param exception The exception to be logged
*/
public void log(String message, Throwable exception) {
- this.log.error(message, exception);
+ log.error(message, exception);
}
/**
@@ -351,7 +355,7 @@
* @param name Name of the attribute to remove
*/
public void removeAttribute(String name) {
- this.attributes.remove(name);
+ attributes.remove(name);
}
/**
@@ -361,6 +365,6 @@
* @param value Corresponding attribute value
*/
public void setAttribute(String name, Object value) {
- this.attributes.put(name, value);
+ attributes.put(name, value);
}
}
Modified: incubator/sling/trunk/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspcMojo.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspcMojo.java?rev=578084&r1=578083&r2=578084&view=diff
==============================================================================
--- incubator/sling/trunk/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspcMojo.java (original)
+++ incubator/sling/trunk/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspcMojo.java Fri Sep 21 05:21:21 2007
@@ -18,7 +18,12 @@
import java.io.File;
import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
@@ -43,14 +48,19 @@
import org.apache.jasper.compiler.Localizer;
import org.apache.jasper.compiler.TagPluginManager;
import org.apache.jasper.compiler.TldLocationsCache;
+import org.apache.jasper.xmlparser.TreeNode;
import org.apache.maven.artifact.DependencyResolutionRequiredException;
+import org.apache.maven.model.Resource;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.project.MavenProject;
/**
- * The <code>JspcMojo</code> TODO
- *
+ * The <code>JspcMojo</code> is implements the Sling Maven JspC goal
+ * <code>jspc</code> compiling JSP into the target and creating a component
+ * descriptor for Declarative Services to use the JSP with the help of the
+ * appropriate adapter as component.
+ *
* @goal jspc
* @phase compile
* @description Compile JSP Files into Servlet Classes using the same JSP
@@ -81,7 +91,9 @@
* Target folder for the compiled classes.
*
* @parameter expression="${jspc.outputDirectory}"
- * default-value="${project.build.outputDirectory}"
+ * default-value="${project.build.directory}/jspc-plugin-generated"
+ * @required
+ * @readonly
*/
private String outputDirectory;
@@ -152,17 +164,18 @@
private String jspFileExtensions;
/**
- * @parameter expression="${jspc.servletPackage}" default=""
+ * @parameter expression="${jspc.servletPackage}"
+ * default-value="org.apache.jsp"
*/
private String servletPackage;
- private Set jspFileExtensionSet;
+ private Set<String> jspFileExtensionSet;
private boolean compile = true;
private String uriSourceRoot;
- private List pages = new ArrayList();
+ private List<String> pages = new ArrayList<String>();
private ServletContext context;
@@ -170,7 +183,7 @@
private URLClassLoader loader = null;
- private Map tldCache;
+ private Map<String, TreeNode> tldCache;
/**
* Cache for the TLD locations
@@ -189,9 +202,9 @@
public void execute() throws MojoExecutionException {
try {
- this.uriSourceRoot = new File(this.sourceDirectory).getCanonicalPath();
+ uriSourceRoot = new File(sourceDirectory).getCanonicalPath();
} catch (Exception e) {
- this.uriSourceRoot = new File(this.sourceDirectory).getAbsolutePath();
+ uriSourceRoot = new File(sourceDirectory).getAbsolutePath();
}
// scan all JSP file
@@ -199,11 +212,13 @@
// have the files compiled
try {
- this.executeInternal();
+ executeInternal();
} catch (JasperException je) {
- this.getLog().error("Compilation Failure", je);
+ getLog().error("Compilation Failure", je);
throw new MojoExecutionException(je.getMessage(), je);
}
+
+ project.addCompileSourceRoot(outputDirectory);
}
/**
@@ -211,23 +226,22 @@
* specified.
*/
public void scanFiles(File base) {
- Stack dirs = new Stack();
+ Stack<File> dirs = new Stack<File>();
dirs.push(base);
while (!dirs.isEmpty()) {
- String s = dirs.pop().toString();
- File f = new File(s);
+ File f = dirs.pop();
if (f.exists() && f.isDirectory()) {
String[] files = f.list();
String ext;
for (int i = 0; (files != null) && i < files.length; i++) {
- File f2 = new File(s, files[i]);
+ File f2 = new File(f, files[i]);
if (f2.isDirectory()) {
- dirs.push(f2.getPath());
+ dirs.push(f2);
} else {
ext = files[i].substring(files[i].lastIndexOf('.') + 1);
- if (this.getExtensions().contains(ext)) {
- this.pages.add(f2.getAbsolutePath());
+ if (getExtensions().contains(ext)) {
+ pages.add(f2.getAbsolutePath());
}
}
}
@@ -241,51 +255,54 @@
* @throws JasperException If an error occurs
*/
private void executeInternal() throws JasperException {
- if (this.getLog().isDebugEnabled()) {
- this.getLog().debug("execute() starting for " + this.pages.size() + " pages.");
+ if (getLog().isDebugEnabled()) {
+ getLog().debug("execute() starting for " + pages.size() + " pages.");
}
+ StringWriter serviceComponentWriter = new StringWriter();
+
try {
- if (this.context == null) {
- this.initServletContext();
+ if (context == null) {
+ initServletContext();
}
// No explicit pages, we'll process all .jsp in the webapp
- if (this.pages.size() == 0) {
- this.scanFiles(new File(this.sourceDirectory));
+ if (pages.size() == 0) {
+ scanFiles(new File(sourceDirectory));
}
- File uriRootF = new File(this.uriSourceRoot);
+ File uriRootF = new File(uriSourceRoot);
if (!uriRootF.exists() || !uriRootF.isDirectory()) {
throw new JasperException(
Localizer.getMessage("jsp.error.jspc.uriroot_not_dir"));
}
- Iterator iter = this.pages.iterator();
- while (iter.hasNext()) {
- String nextjsp = iter.next().toString();
+ for (String nextjsp : pages) {
File fjsp = new File(nextjsp);
if (!fjsp.isAbsolute()) {
fjsp = new File(uriRootF, nextjsp);
}
if (!fjsp.exists()) {
- if (this.getLog().isWarnEnabled()) {
- this.getLog().warn(
+ if (getLog().isWarnEnabled()) {
+ getLog().warn(
Localizer.getMessage("jspc.error.fileDoesNotExist",
fjsp.toString()));
}
continue;
}
String s = fjsp.getAbsolutePath();
- if (s.startsWith(this.uriSourceRoot)) {
- nextjsp = s.substring(this.uriSourceRoot.length());
+ if (s.startsWith(uriSourceRoot)) {
+ nextjsp = s.substring(uriSourceRoot.length());
}
if (nextjsp.startsWith("." + File.separatorChar)) {
nextjsp = nextjsp.substring(2);
}
- this.processFile(nextjsp);
+
+ processFile(nextjsp, serviceComponentWriter);
}
+ printServiceComponents(serviceComponentWriter);
+
} catch (JasperException je) {
Throwable rootCause = je;
while (rootCause instanceof JasperException
@@ -302,25 +319,26 @@
}
}
- private void processFile(String file) throws JasperException {
+ private void processFile(String file, Writer serviceComponentWriter)
+ throws JasperException {
ClassLoader originalClassLoader = null;
try {
String jspUri = file.replace('\\', '/');
JspCompilationContext clctxt = new JspCompilationContext(jspUri,
- false, this, this.context, null, this.rctxt);
+ false, this, context, null, rctxt);
// write to a specific servlet package
- clctxt.setServletPackageName(this.servletPackage);
+ clctxt.setServletPackageName(servletPackage);
originalClassLoader = Thread.currentThread().getContextClassLoader();
- if (this.loader == null) {
- this.initClassLoader(clctxt);
+ if (loader == null) {
+ initClassLoader();
}
- Thread.currentThread().setContextClassLoader(this.loader);
+ Thread.currentThread().setContextClassLoader(loader);
// we only use the class loader and do not need the class path
- clctxt.setClassLoader(this.loader);
+ clctxt.setClassLoader(loader);
clctxt.setClassPath(null);
Compiler clc = clctxt.createCompiler();
@@ -329,16 +347,21 @@
// .jsp file is newer than .class file;
// Otherwise only generate .java, if .jsp file is newer than
// the .java file
- if (clc.isOutDated(this.compile)) {
- clc.compile(this.compile, true);
+ if (clc.isOutDated(compile)) {
+ clc.compile(compile, true);
- if (this.showSuccess) {
- this.getLog().info("Built File: " + file);
+ if (showSuccess) {
+ getLog().info("Built File: " + file);
}
- } else if (this.showSuccess) {
- this.getLog().info("File up to date: " + file);
+ } else if (showSuccess) {
+ getLog().info("File up to date: " + file);
}
+ // write the OSGi component descriptor
+ writeJspServiceComponent(serviceComponentWriter,
+ clctxt.getServletPackageName() + "."
+ + clctxt.getServletClassName());
+
} catch (JasperException je) {
Throwable rootCause = je;
while (rootCause instanceof JasperException
@@ -346,22 +369,23 @@
rootCause = ((JasperException) rootCause).getRootCause();
}
if (rootCause != je) {
- this.getLog().error(
+ getLog().error(
Localizer.getMessage("jspc.error.generalException", file),
rootCause);
}
// Bugzilla 35114.
- if (this.failOnError) {
+ if (failOnError) {
throw je;
- } else {
- this.getLog().error(je.getMessage());
}
+ // just log otherwise
+ getLog().error(je.getMessage());
+
} catch (Exception e) {
if ((e instanceof FileNotFoundException)
- && this.getLog().isWarnEnabled()) {
- this.getLog().warn(
+ && getLog().isWarnEnabled()) {
+ getLog().warn(
Localizer.getMessage("jspc.error.fileDoesNotExist",
e.getMessage()));
}
@@ -376,39 +400,39 @@
// ---------- Additional Settings ------------------------------------------
- private Set getExtensions() {
- if (this.jspFileExtensionSet == null) {
- this.jspFileExtensionSet = new HashSet();
+ private Set<String> getExtensions() {
+ if (jspFileExtensionSet == null) {
+ jspFileExtensionSet = new HashSet<String>();
// fallback default value, should actually be set by Maven
- if (this.jspFileExtensions == null) {
- this.jspFileExtensions = "jsp,jspx";
+ if (jspFileExtensions == null) {
+ jspFileExtensions = "jsp,jspx";
}
- StringTokenizer st = new StringTokenizer(this.jspFileExtensions, ",");
+ StringTokenizer st = new StringTokenizer(jspFileExtensions, ",");
while (st.hasMoreTokens()) {
String ext = st.nextToken().trim();
if (ext.length() > 0) {
- this.jspFileExtensionSet.add(ext);
+ jspFileExtensionSet.add(ext);
}
}
}
- return this.jspFileExtensionSet;
+ return jspFileExtensionSet;
}
private void initServletContext() {
try {
- this.context = new JspCServletContext(this.getLog(), new URL("file:"
- + this.uriSourceRoot.replace('\\', '/') + '/'));
- this.tldLocationsCache = new TldLocationsCache(this.context, true);
+ context = new JspCServletContext(getLog(), new URL("file:"
+ + uriSourceRoot.replace('\\', '/') + '/'));
+ tldLocationsCache = new TldLocationsCache(context, true);
} catch (MalformedURLException me) {
- this.getLog().error("Cannot setup ServletContext", me);
+ getLog().error("Cannot setup ServletContext", me);
}
- this.rctxt = new JspRuntimeContext(this.context, this);
- this.jspConfig = new JspConfig(this.context);
- this.tagPluginManager = new TagPluginManager(this.context);
+ rctxt = new JspRuntimeContext(context, this);
+ jspConfig = new JspConfig(context);
+ tagPluginManager = new TagPluginManager(context);
}
/**
@@ -418,20 +442,117 @@
* @param clctxt The compilation context
* @throws IOException If an error occurs
*/
- private void initClassLoader(JspCompilationContext clctxt)
- throws IOException, DependencyResolutionRequiredException {
+ private void initClassLoader() throws IOException,
+ DependencyResolutionRequiredException {
// Turn the classPath into URLs
- List classPath = this.project.getCompileClasspathElements();
- ArrayList urls = new ArrayList();
- for (Iterator cpi = classPath.iterator(); cpi.hasNext();) {
+ List<?> classPath = project.getCompileClasspathElements();
+ ArrayList<URL> urls = new ArrayList<URL>();
+ for (Iterator<?> cpi = classPath.iterator(); cpi.hasNext();) {
String path = (String) cpi.next();
urls.add(new File(path).toURI().toURL());
}
URL urlsA[] = new URL[urls.size()];
urls.toArray(urlsA);
- this.loader = new URLClassLoader(urlsA, this.getClass().getClassLoader());
+ loader = new URLClassLoader(urlsA, getClass().getClassLoader());
+ }
+
+ private void writeJspServiceComponent(Writer out, String className) {
+
+ String id = className;
+ if (id.startsWith(servletPackage)) {
+ // account for trailing dot of the package
+ id = id.substring(servletPackage.length() + 1);
+ }
+
+ try {
+ out.write("<scr:component enabled=\"true\" immediate=\"true\" name=\"");
+ out.write(id);
+ out.write("\">\r\n");
+
+ // the implementation is of course the compiled JSP
+ out.write("<scr:implementation class=\"");
+ out.write(className);
+ out.write("\"/>\r\n");
+
+ // the JSP registers as a Servlet
+ out.write("<scr:service>\r\n");
+ out.write("<scr:provide interface=\"javax.servlet.Servlet\"/>\r\n");
+ out.write("</scr:service>\r\n");
+
+ // use the JSP's id as the service.pid
+ out.write("<scr:property name=\"service.pid\" value=\"");
+ out.write(id);
+ out.write("\"/>\r\n");
+
+ // if the project defines an organization name, add it
+ if (project.getOrganization() != null
+ && project.getOrganization().getName() != null) {
+ out.write("<scr:property name=\"service.vendor\" value=\"");
+ out.write(project.getOrganization().getName());
+ out.write("\"/>\r\n");
+ }
+
+ out.write("</scr:component>\r\n");
+
+ out.flush();
+ } catch (IOException ignore) {
+ // don't care
+ }
+ }
+
+ private void printServiceComponents(StringWriter serviceComponentWriter)
+ throws IOException {
+ FileOutputStream out = null;
+ try {
+
+ String target = "OSGI-INF/jspServiceComponents.xml";
+ File targetFile = new File(outputDirectory, target);
+ targetFile.getParentFile().mkdirs();
+
+ out = new FileOutputStream(targetFile);
+ PrintWriter pw = new PrintWriter(new OutputStreamWriter(out,
+ "UTF-8"));
+
+ pw.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
+ pw.println("<components xmlns:scr=\"http://www.osgi.org/xmlns/scr/v1.0.0\">");
+
+ pw.print(serviceComponentWriter.toString());
+
+ pw.println("</components>");
+
+ pw.flush();
+ pw.close();
+
+ // now add the descriptor file to the maven resources
+ final String ourRsrcPath = new File(outputDirectory).getAbsolutePath();
+ boolean found = false;
+ final Iterator<?> rsrcIterator = project.getResources().iterator();
+ while (!found && rsrcIterator.hasNext()) {
+ final Resource rsrc = (Resource) rsrcIterator.next();
+ found = rsrc.getDirectory().equals(ourRsrcPath);
+ }
+ if (!found) {
+ final Resource resource = new Resource();
+ resource.setDirectory(new File(outputDirectory).getAbsolutePath());
+ project.addResource(resource);
+ }
+
+ // and set include accordingly
+ String svcComp = project.getProperties().getProperty("Service-Component");
+ svcComp= (svcComp == null) ? target : svcComp + ", " + target;
+ project.getProperties().setProperty("Service-Component", svcComp);
+
+ } finally {
+ if (out != null) {
+ try {
+ out.close();
+ } catch (IOException ignore) {
+ // don't care
+ }
+ }
+ }
}
// ---------- Options interface --------------------------------------------
@@ -442,7 +563,7 @@
* @see org.apache.jasper.Options#genStringAsCharArray()
*/
public boolean genStringAsCharArray() {
- return this.jasperGenStringAsCharArray;
+ return jasperGenStringAsCharArray;
}
/*
@@ -459,12 +580,12 @@
*
* @see org.apache.jasper.Options#getCache()
*/
- public Map getCache() {
- if (this.tldCache == null) {
- this.tldCache = new HashMap();
+ public Map<String, TreeNode> getCache() {
+ if (tldCache == null) {
+ tldCache = new HashMap<String, TreeNode>();
}
- return this.tldCache;
+ return tldCache;
}
/*
@@ -482,7 +603,7 @@
* @see org.apache.jasper.Options#getClassDebugInfo()
*/
public boolean getClassDebugInfo() {
- return this.jasperClassDebugInfo;
+ return jasperClassDebugInfo;
}
/*
@@ -491,7 +612,7 @@
* @see org.apache.jasper.Options#getClassPath()
*/
public String getClassPath() {
- // TODO Auto-generated method stub
+ // no extra classpath
return null;
}
@@ -501,7 +622,7 @@
* @see org.apache.jasper.Options#getCompiler()
*/
public String getCompiler() {
- // TODO Auto-generated method stub
+ // use JDTCompiler, which is the default
return null;
}
@@ -511,7 +632,7 @@
* @see org.apache.jasper.Options#getCompilerSourceVM()
*/
public String getCompilerSourceVM() {
- return this.compilerSourceVM;
+ return compilerSourceVM;
}
/*
@@ -520,7 +641,7 @@
* @see org.apache.jasper.Options#getCompilerTargetVM()
*/
public String getCompilerTargetVM() {
- return this.compilerTargetVM;
+ return compilerTargetVM;
}
/*
@@ -558,7 +679,7 @@
* @see org.apache.jasper.Options#getIeClassId()
*/
public String getIeClassId() {
- return this.jasperIeClassId;
+ return jasperIeClassId;
}
/*
@@ -576,7 +697,7 @@
* @see org.apache.jasper.Options#getJspClassLoader()
*/
public ClassLoader getJspClassLoader() {
- // TODO Auto-generated method stub
+ // no JSP ClassLoader, use default
return null;
}
@@ -586,7 +707,7 @@
* @see org.apache.jasper.Options#getJspConfig()
*/
public JspConfig getJspConfig() {
- return this.jspConfig;
+ return jspConfig;
}
/*
@@ -595,7 +716,7 @@
* @see org.apache.jasper.Options#getKeepGenerated()
*/
public boolean getKeepGenerated() {
- return this.jasperKeepGenerated;
+ return jasperKeepGenerated;
}
/*
@@ -604,7 +725,7 @@
* @see org.apache.jasper.Options#getMappedFile()
*/
public boolean getMappedFile() {
- return this.jasperMappedFile;
+ return jasperMappedFile;
}
/*
@@ -622,7 +743,7 @@
* @see org.apache.jasper.Options#getScratchDir()
*/
public String getScratchDir() {
- return this.outputDirectory;
+ return outputDirectory;
}
/*
@@ -641,7 +762,7 @@
* @see org.apache.jasper.Options#getTagPluginManager()
*/
public TagPluginManager getTagPluginManager() {
- return this.tagPluginManager;
+ return tagPluginManager;
}
/*
@@ -650,7 +771,7 @@
* @see org.apache.jasper.Options#getTldLocationsCache()
*/
public TldLocationsCache getTldLocationsCache() {
- return this.tldLocationsCache;
+ return tldLocationsCache;
}
/*
@@ -659,7 +780,7 @@
* @see org.apache.jasper.Options#getTrimSpaces()
*/
public boolean getTrimSpaces() {
- return this.jasperTrimSpaces;
+ return jasperTrimSpaces;
}
/*
@@ -668,7 +789,7 @@
* @see org.apache.jasper.Options#isPoolingEnabled()
*/
public boolean isPoolingEnabled() {
- return this.jasperEnablePooling;
+ return jasperEnablePooling;
}
/*
Added: incubator/sling/trunk/maven-jspc-plugin/src/main/resources/org/apache/sling/maven/jspc/web.xml
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/maven-jspc-plugin/src/main/resources/org/apache/sling/maven/jspc/web.xml?rev=578084&view=auto
==============================================================================
--- incubator/sling/trunk/maven-jspc-plugin/src/main/resources/org/apache/sling/maven/jspc/web.xml (added)
+++ incubator/sling/trunk/maven-jspc-plugin/src/main/resources/org/apache/sling/maven/jspc/web.xml Fri Sep 21 05:21:21 2007
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<!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>
+ <!-- This empty file exists to satisfy the JSP Compiler -->
+</web-app>