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