You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by lu...@apache.org on 2002/10/21 20:44:01 UTC
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/servlet JasperLoader.java
luehe 2002/10/21 11:44:01
Modified: jasper2/src/share/org/apache/jasper JspC.java
JspCompilationContext.java
jasper2/src/share/org/apache/jasper/servlet
JasperLoader.java
Log:
Reduced visibility of fields/methods where appropriate
Revision Changes Path
1.16 +3 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspC.java
Index: JspC.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspC.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- JspC.java 10 Oct 2002 00:49:21 -0000 1.15
+++ JspC.java 21 Oct 2002 18:44:00 -0000 1.16
@@ -69,7 +69,6 @@
import org.apache.jasper.compiler.Compiler;
import org.apache.jasper.compiler.TldLocationsCache;
-import org.apache.jasper.servlet.JasperLoader;
import org.apache.jasper.servlet.JspCServletContext;
import org.apache.jasper.logging.Logger;
1.23 +38 -36 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspCompilationContext.java
Index: JspCompilationContext.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspCompilationContext.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- JspCompilationContext.java 10 Oct 2002 00:49:21 -0000 1.22
+++ JspCompilationContext.java 21 Oct 2002 18:44:00 -0000 1.23
@@ -91,38 +91,38 @@
private Hashtable tagFileJars;
private boolean isPackagedTagFile;
- protected String servletClassName;
- protected String jspUri;
+ private String servletClassName;
+ private String jspUri;
private boolean isErrPage;
- protected String servletPackageName = Constants.JSP_PACKAGE_NAME;
- protected String servletJavaFileName;
- protected String jspPath;
- protected String classFileName;
- protected String contentType;
- protected ServletWriter writer;
- protected Options options;
- protected JspServletWrapper jsw;
- protected Compiler jspCompiler;
- protected String classPath;
-
- protected String baseURI;
- protected String outputDir;
- protected ServletContext context;
- protected URLClassLoader loader;
+ private String servletPackageName;
+ private String servletJavaFileName;
+ private String jspPath;
+ private String classFileName;
+ private String contentType;
+ private ServletWriter writer;
+ private Options options;
+ private JspServletWrapper jsw;
+ private Compiler jspCompiler;
+ private String classPath;
+
+ private String baseURI;
+ private String outputDir;
+ private ServletContext context;
+ private URLClassLoader loader;
- protected JspRuntimeContext rctxt;
+ private JspRuntimeContext rctxt;
- protected int removed = 0;
- protected boolean reload = true;
+ private int removed = 0;
+ private boolean reload = true;
- protected URLClassLoader jspLoader;
- protected URL[] outUrls = new URL[2];
- protected Class servletClass;
-
- protected boolean isTagFile;
- protected boolean protoTypeMode;
- protected TagInfo tagInfo;
- protected TagData tagData;
+ private URLClassLoader jspLoader;
+ private URL[] outUrls;
+ private Class servletClass;
+
+ private boolean isTagFile;
+ private boolean protoTypeMode;
+ private TagInfo tagInfo;
+ private TagData tagData;
// jspURI _must_ be relative to the context
public JspCompilationContext(String jspUri,
@@ -134,10 +134,10 @@
this.jspUri = canonicalURI(jspUri);
this.isErrPage = isErrPage;
- this.options=options;
- this.jsw=jsw;
- this.context=context;
-
+ this.options = options;
+ this.jsw = jsw;
+ this.context = context;
+
this.baseURI = jspUri.substring(0, jspUri.lastIndexOf('/') + 1);
// hack fix for resolveRelativeURI
if (baseURI == null) {
@@ -150,9 +150,11 @@
if (baseURI.charAt(baseURI.length() - 1) != '/') {
baseURI += '/';
}
- this.rctxt=rctxt;
+ this.rctxt = rctxt;
this.tagFileJars = new Hashtable();
+ this.servletPackageName = Constants.JSP_PACKAGE_NAME;
+ this.outUrls = new URL[2];
}
public JspCompilationContext(String tagfile,
1.5 +28 -40 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/servlet/JasperLoader.java
Index: JasperLoader.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/servlet/JasperLoader.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- JasperLoader.java 6 Aug 2002 00:11:36 -0000 1.4
+++ JasperLoader.java 21 Oct 2002 18:44:00 -0000 1.5
@@ -68,46 +68,30 @@
import java.security.PrivilegedAction;
import java.security.ProtectionDomain;
+import javax.servlet.http.*;
+
import org.apache.jasper.JasperException;
import org.apache.jasper.Constants;
-import org.apache.jasper.JspCompilationContext;
-import org.apache.jasper.Options;
-import org.apache.jasper.compiler.Compiler;
-import org.apache.jasper.logging.Logger;
-import javax.servlet.http.*;
/**
- * This is a class loader that loads JSP files as though they were
- * Java classes. It calls the compiler to compile the JSP file into a
- * servlet and then loads the generated class.
+ * Class loader for loading servlet class files (corresponding to JSP files)
+ * and tag handler class files (corresponding to tag files).
*
* @author Anil K. Vijendran
* @author Harish Prabandham
*/
public class JasperLoader extends URLClassLoader {
- protected class PrivilegedLoadClass
- implements PrivilegedAction {
-
- PrivilegedLoadClass() {
- }
-
- public Object run() {
- return Thread.currentThread().getContextClassLoader();
- }
-
- }
-
- private PermissionCollection permissionCollection = null;
- private CodeSource codeSource = null;
- private String className = null;
- private ClassLoader parent = null;
- private SecurityManager securityManager = null;
- private PrivilegedLoadClass privLoadClass = null;
+ private PermissionCollection permissionCollection;
+ private CodeSource codeSource;
+ private String className;
+ private ClassLoader parent;
+ private SecurityManager securityManager;
+ private PrivilegedLoadClass privLoadClass;
public JasperLoader(URL [] urls, String className, ClassLoader parent,
- PermissionCollection permissionCollection,
- CodeSource codeSource) {
+ PermissionCollection permissionCollection,
+ CodeSource codeSource) {
super(urls,parent);
this.permissionCollection = permissionCollection;
this.codeSource = codeSource;
@@ -129,10 +113,8 @@
public Class loadClass(String name) throws ClassNotFoundException {
return (loadClass(name, false));
-
}
-
/**
* Load the class with the specified name, searching using the following
* algorithm until it finds and returns the class. If the class cannot
@@ -173,7 +155,7 @@
// (.5) Permission to access this class when using a SecurityManager
int dot = name.lastIndexOf('.');
- if (System.getSecurityManager() != null) {
+ if (securityManager != null) {
if (dot >= 0) {
try {
securityManager.checkPackageAccess(name.substring(0,dot));
@@ -189,7 +171,7 @@
// Class is in a package, delegate to thread context class loader
if( !name.startsWith(Constants.JSP_PACKAGE_NAME) ) {
ClassLoader classLoader = null;
- if (System.getSecurityManager() != null) {
+ if (securityManager != null) {
classLoader = (ClassLoader)AccessController.doPrivileged(privLoadClass);
} else {
classLoader = Thread.currentThread().getContextClassLoader();
@@ -200,8 +182,8 @@
return clazz;
}
- // Only load classes for this JSP page
- // (including tag handlers generated from tag files)
+ // Only load classes for this JSP page (including any tag handlers
+ // generated from tag files)
if (name.startsWith(className)) {
String classFile
= name.substring(Constants.JSP_PACKAGE_NAME.length() + 1)
@@ -210,7 +192,7 @@
if (cdata == null) {
throw new ClassNotFoundException(name);
}
- if (System.getSecurityManager() != null) {
+ if (securityManager != null) {
ProtectionDomain pd
= new ProtectionDomain(codeSource, permissionCollection);
clazz = defineClass(name, cdata, 0, cdata.length, pd);
@@ -239,15 +221,14 @@
* @param CodeSource where the code was loaded from
* @return PermissionCollection for CodeSource
*/
- protected final PermissionCollection getPermissions(CodeSource codeSource) {
+ public final PermissionCollection getPermissions(CodeSource codeSource) {
return permissionCollection;
}
-
- /**
+ /*
* Load JSP class data from file.
*/
- protected byte[] loadClassDataFromFile(String fileName) {
+ private byte[] loadClassDataFromFile(String fileName) {
byte[] classBytes = null;
try {
InputStream in = getResourceAsStream(fileName);
@@ -256,8 +237,9 @@
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte buf[] = new byte[1024];
- for(int i = 0; (i = in.read(buf)) != -1; )
+ for (int i = 0; (i = in.read(buf)) != -1; ) {
baos.write(buf, 0, i);
+ }
in.close();
baos.close();
classBytes = baos.toByteArray();
@@ -268,4 +250,10 @@
return classBytes;
}
+ private class PrivilegedLoadClass implements PrivilegedAction {
+
+ public Object run() {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ }
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>