You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2004/04/05 17:49:46 UTC
cvs commit: jakarta-tapestry/framework/src/org/apache/tapestry/enhance/javassist EnhancedClass.java
hlship 2004/04/05 08:49:46
Modified: framework/src/org/apache/tapestry/enhance
EnhancedClassLoader.java
config Version.properties
framework/src/org/apache/tapestry/enhance/javassist
EnhancedClass.java
Log:
[28202] Use SecurityDomain when creating enhanced classes
Revision Changes Path
1.4 +5 -3 jakarta-tapestry/framework/src/org/apache/tapestry/enhance/EnhancedClassLoader.java
Index: EnhancedClassLoader.java
===================================================================
RCS file: /home/cvs/jakarta-tapestry/framework/src/org/apache/tapestry/enhance/EnhancedClassLoader.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- EnhancedClassLoader.java 19 Feb 2004 17:37:52 -0000 1.3
+++ EnhancedClassLoader.java 5 Apr 2004 15:49:46 -0000 1.4
@@ -14,6 +14,8 @@
package org.apache.tapestry.enhance;
+import java.security.ProtectionDomain;
+
import org.apache.tapestry.ApplicationRuntimeException;
import org.apache.tapestry.Tapestry;
@@ -42,11 +44,11 @@
*
**/
- public Class defineClass(String enhancedClassName, byte[] byteCode)
+ public Class defineClass(String enhancedClassName, byte[] byteCode, ProtectionDomain domain)
{
try
{
- return defineClass(enhancedClassName, byteCode, 0, byteCode.length);
+ return defineClass(enhancedClassName, byteCode, 0, byteCode.length, domain);
}
catch (Throwable ex)
{
1.37 +2 -2 jakarta-tapestry/config/Version.properties
Index: Version.properties
===================================================================
RCS file: /home/cvs/jakarta-tapestry/config/Version.properties,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- Version.properties 30 Mar 2004 18:15:55 -0000 1.36
+++ Version.properties 5 Apr 2004 15:49:46 -0000 1.37
@@ -2,4 +2,4 @@
#
# Stores the version number of the framework.
-framework.version=3.0-rc-2
\ No newline at end of file
+framework.version=3.0-rc-3
\ No newline at end of file
1.4 +25 -13 jakarta-tapestry/framework/src/org/apache/tapestry/enhance/javassist/EnhancedClass.java
Index: EnhancedClass.java
===================================================================
RCS file: /home/cvs/jakarta-tapestry/framework/src/org/apache/tapestry/enhance/javassist/EnhancedClass.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- EnhancedClass.java 19 Feb 2004 17:37:56 -0000 1.3
+++ EnhancedClass.java 5 Apr 2004 15:49:46 -0000 1.4
@@ -39,11 +39,8 @@
private EnhancedClassFactory _classFactory;
private ClassFabricator _classFabricator = null;
-
- public EnhancedClass(
- String className,
- Class parentClass,
- EnhancedClassFactory classFactory)
+
+ public EnhancedClass(String className, Class parentClass, EnhancedClassFactory classFactory)
{
_className = className;
_parentClass = parentClass;
@@ -57,7 +54,7 @@
{
return _className;
}
-
+
public CtClass getObjectType(String type)
{
return _classFactory.getObjectType(type);
@@ -65,7 +62,8 @@
public ClassFabricator getClassFabricator()
{
- if (_classFabricator == null) {
+ if (_classFabricator == null)
+ {
CtClass jaParentClass = getObjectType(_parentClass.getName());
ClassPool classPool = _classFactory.getClassPool();
_classFabricator = new ClassFabricator(_className, jaParentClass, classPool);
@@ -90,7 +88,12 @@
String readMethodName,
boolean persistent)
{
- IEnhancer enhancer = new CreatePropertyEnhancer(propertyName, getObjectType(propertyType), readMethodName, persistent);
+ IEnhancer enhancer =
+ new CreatePropertyEnhancer(
+ propertyName,
+ getObjectType(propertyType),
+ readMethodName,
+ persistent);
addEnhancer(enhancer);
}
@@ -103,7 +106,13 @@
String typeClassName,
String readMethodName)
{
- IEnhancer enhancer = new CreateAutoParameterEnhancer(this, propertyName, parameterName, getObjectType(typeClassName), readMethodName);
+ IEnhancer enhancer =
+ new CreateAutoParameterEnhancer(
+ this,
+ propertyName,
+ parameterName,
+ getObjectType(typeClassName),
+ readMethodName);
addEnhancer(enhancer);
}
@@ -116,12 +125,15 @@
ClassFabricator cf = getClassFabricator();
cf.commit();
-
+
String enhancedClassName = getClassName();
byte[] enhancedClassBytes = cf.getByteCode();
-
+
EnhancedClassLoader loader = _classFactory.getEnhancedClassLoader();
- return loader.defineClass(enhancedClassName, enhancedClassBytes);
+ return loader.defineClass(
+ enhancedClassName,
+ enhancedClassBytes,
+ _parentClass.getProtectionDomain());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org