You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by gd...@apache.org on 2008/11/13 09:35:05 UTC

svn commit: r713680 - in /geronimo/server/trunk/framework/modules: geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/ geronimo-service-builder/src/main/xsd/ geronimo-service-builder/src/test/java/org/apache/geronimo/deployme...

Author: gdamour
Date: Thu Nov 13 00:35:05 2008
New Revision: 713680

URL: http://svn.apache.org/viewvc?rev=713680&view=rev
Log:
Revert addition of private-classes element. Private classes can be
configured via scripts.

(GERONIMO-4403) Provide a mechanism to hide specific classes  of a configuration to all its children

Modified:
    geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/ClassLoadingRulesUtil.java
    geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/EnvironmentBuilder.java
    geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/xsd/geronimo-module-1.2.xsd
    geronimo/server/trunk/framework/modules/geronimo-service-builder/src/test/java/org/apache/geronimo/deployment/service/ClassLoadingRulesUtilTest.java
    geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/appclient_dep_1_result.xml
    geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/appclient_ejb_1_result.xml
    geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/assembly_1_result.xml
    geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/gbean_1_result.xml
    geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/servlet_1_result.xml
    geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/transport_1_result.xml
    geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/transport_2_result.xml

Modified: geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/ClassLoadingRulesUtil.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/ClassLoadingRulesUtil.java?rev=713680&r1=713679&r2=713680&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/ClassLoadingRulesUtil.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/ClassLoadingRulesUtil.java Thu Nov 13 00:35:05 2008
@@ -48,11 +48,6 @@
             ClassLoadingRule nonOverrideableRule = classLoadingRules.getNonOverrideableRule();
             nonOverrideableRule.setClassPrefixes(toFilters(environmentType.getNonOverridableClasses()));
         }
-        
-        if (null != environmentType.getPrivateClasses()) {
-            ClassLoadingRule privateRule = classLoadingRules.getPrivateRule();
-            privateRule.setClassPrefixes(toFilters(environmentType.getPrivateClasses()));
-        }
     }
    
     private static Set<String> toFilters(ClassFilterType filterType) {

Modified: geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/EnvironmentBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/EnvironmentBuilder.java?rev=713680&r1=713679&r2=713680&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/EnvironmentBuilder.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/EnvironmentBuilder.java Thu Nov 13 00:35:05 2008
@@ -33,10 +33,10 @@
 import org.apache.geronimo.deployment.xbeans.ArtifactType;
 import org.apache.geronimo.deployment.xbeans.ClassFilterType;
 import org.apache.geronimo.deployment.xbeans.DependenciesType;
+import org.apache.geronimo.deployment.xbeans.DependencyType;
 import org.apache.geronimo.deployment.xbeans.EnvironmentDocument;
 import org.apache.geronimo.deployment.xbeans.EnvironmentType;
 import org.apache.geronimo.deployment.xbeans.ImportType;
-import org.apache.geronimo.deployment.xbeans.DependencyType;
 import org.apache.geronimo.kernel.repository.Artifact;
 import org.apache.geronimo.kernel.repository.ClassLoadingRule;
 import org.apache.geronimo.kernel.repository.ClassLoadingRules;
@@ -123,9 +123,6 @@
         classLoadingRule = classLoadingRules.getNonOverrideableRule();
         environmentType.setNonOverridableClasses(toFilterType(classLoadingRule.getClassPrefixes()));
 
-        classLoadingRule = classLoadingRules.getPrivateRule();
-        environmentType.setPrivateClasses(toFilterType(classLoadingRule.getClassPrefixes()));
-        
         return environmentType;
     }
 

Modified: geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/xsd/geronimo-module-1.2.xsd
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/xsd/geronimo-module-1.2.xsd?rev=713680&r1=713679&r2=713680&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/xsd/geronimo-module-1.2.xsd (original)
+++ geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/xsd/geronimo-module-1.2.xsd Thu Nov 13 00:35:05 2008
@@ -204,21 +204,6 @@
                     </xs:documentation>
                 </xs:annotation>
             </xs:element>
-            <xs:element name="private-classes"
-                type="sys:classFilterType" minOccurs="0">
-                <xs:annotation>
-                    <xs:documentation>
-                        A list of classes which will only be loaded from the
-                        ClassLoader of this module or from parent ClassLoaders.
-                        
-                        This is used to prevent children configurations to see
-                        specific classes from its parents. The same effect can
-                        be achieved by using hidden-classes. However,
-                        private-classes is the preferred approach to hide 
-                        specific classes from all children configurations. 
-                    </xs:documentation>
-                </xs:annotation>
-            </xs:element>
             <xs:element name="inverse-classloading" type="sys:emptyType"
                 minOccurs="0">
                 <xs:annotation>

Modified: geronimo/server/trunk/framework/modules/geronimo-service-builder/src/test/java/org/apache/geronimo/deployment/service/ClassLoadingRulesUtilTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-service-builder/src/test/java/org/apache/geronimo/deployment/service/ClassLoadingRulesUtilTest.java?rev=713680&r1=713679&r2=713680&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-service-builder/src/test/java/org/apache/geronimo/deployment/service/ClassLoadingRulesUtilTest.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-service-builder/src/test/java/org/apache/geronimo/deployment/service/ClassLoadingRulesUtilTest.java Thu Nov 13 00:35:05 2008
@@ -40,7 +40,6 @@
         environmentType.setInverseClassloading(EmptyType.Factory.newInstance());
         environmentType.setHiddenClasses(newFilter("hidden"));
         environmentType.setNonOverridableClasses(newFilter("nonOverrideable"));
-        environmentType.setPrivateClasses(newFilter("private"));
         
         ClassLoadingRules classLoadingRules = new ClassLoadingRules();
         ClassLoadingRulesUtil.configureRules(classLoadingRules, environmentType);
@@ -48,7 +47,6 @@
         assertTrue(classLoadingRules.isInverseClassLoading());
         assertPrefix(classLoadingRules.getHiddenRule(), "hidden");
         assertPrefix(classLoadingRules.getNonOverrideableRule(), "nonOverrideable");
-        assertPrefix(classLoadingRules.getPrivateRule(), "private");
     }
 
     private void assertPrefix(ClassLoadingRule classLoadingRule, String filter) {

Modified: geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/appclient_dep_1_result.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/appclient_dep_1_result.xml?rev=713680&r1=713679&r2=713680&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/appclient_dep_1_result.xml (original)
+++ geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/appclient_dep_1_result.xml Thu Nov 13 00:35:05 2008
@@ -44,7 +44,6 @@
     </dep:dependencies>
     <dep:hidden-classes/>
     <dep:non-overridable-classes/>
-    <dep:private-classes/>
   </dep:environment>
   <module>
     <java>appclient_dep_resref_single_client.jar</java>
@@ -90,7 +89,6 @@
         </dep:dependencies>
         <dep:hidden-classes/>
         <dep:non-overridable-classes/>
-        <dep:private-classes/>
       </dep:client-environment>
       <dep:server-environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2">
         <dep:moduleId>
@@ -102,7 +100,6 @@
         <dep:dependencies/>
         <dep:hidden-classes/>
         <dep:non-overridable-classes/>
-        <dep:private-classes/>
       </dep:server-environment>
       <resource-ref xmlns="http://geronimo.apache.org/xml/ns/naming-1.2">
         <ref-name>url/URL</ref-name>
@@ -129,7 +126,6 @@
             <dep:dependencies/>
             <dep:hidden-classes/>
             <dep:non-overridable-classes/>
-            <dep:private-classes/>
             <dep:suppress-default-environment/>
           </dep:environment>
           <resourceadapter>

Modified: geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/appclient_ejb_1_result.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/appclient_ejb_1_result.xml?rev=713680&r1=713679&r2=713680&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/appclient_ejb_1_result.xml (original)
+++ geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/appclient_ejb_1_result.xml Thu Nov 13 00:35:05 2008
@@ -32,7 +32,6 @@
     </dep:dependencies>
     <dep:hidden-classes/>
     <dep:non-overridable-classes/>
-    <dep:private-classes/>
   </dep:environment>
   <module>
     <ejb>appclient_ejb_1_ejb.jar</ejb>
@@ -47,7 +46,6 @@
         <dep:dependencies/>
         <dep:hidden-classes/>
         <dep:non-overridable-classes/>
-        <dep:private-classes/>
       </dep:environment>
       <cmp-connection-factory>
         <resource-link>jdbc/DB1</resource-link>
@@ -92,7 +90,6 @@
         </dep:dependencies>
         <dep:hidden-classes/>
         <dep:non-overridable-classes/>
-        <dep:private-classes/>
       </dep:client-environment>
       <dep:server-environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2">
         <dep:moduleId>
@@ -104,7 +101,6 @@
         <dep:dependencies/>
         <dep:hidden-classes/>
         <dep:non-overridable-classes/>
-        <dep:private-classes/>
       </dep:server-environment>
     </application-client>
   </module>

Modified: geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/assembly_1_result.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/assembly_1_result.xml?rev=713680&r1=713679&r2=713680&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/assembly_1_result.xml (original)
+++ geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/assembly_1_result.xml Thu Nov 13 00:35:05 2008
@@ -34,7 +34,6 @@
         </dep:dependencies>
         <dep:hidden-classes/>
         <dep:non-overridable-classes/>
-        <dep:private-classes/>
     </dep:environment>
     <module>
         <java>assembly_compat_standalone_jar_compat12_13_client.jar</java>
@@ -56,7 +55,6 @@
                 </dep:dependencies>
                 <dep:hidden-classes/>
                 <dep:non-overridable-classes/>
-                <dep:private-classes/>
             </dep:client-environment>
             <dep:server-environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2">
                 <dep:moduleId>
@@ -68,7 +66,6 @@
                 <dep:dependencies/>
                 <dep:hidden-classes/>
                 <dep:non-overridable-classes/>
-                <dep:private-classes/>
             </dep:server-environment>
             <ejb-ref>
                 <ref-name>ejb/TestBean</ref-name>

Modified: geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/gbean_1_result.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/gbean_1_result.xml?rev=713680&r1=713679&r2=713680&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/gbean_1_result.xml (original)
+++ geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/gbean_1_result.xml Thu Nov 13 00:35:05 2008
@@ -34,7 +34,6 @@
     </dep:dependencies>
     <dep:hidden-classes/>
     <dep:non-overridable-classes/>
-    <dep:private-classes/>
   </dep:environment>
   <gbean name="hello-realm" class="org.apache.geronimo.security.realm.GenericSecurityRealm">
     <attribute name="realmName">hello-realm</attribute>

Modified: geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/servlet_1_result.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/servlet_1_result.xml?rev=713680&r1=713679&r2=713680&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/servlet_1_result.xml (original)
+++ geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/servlet_1_result.xml Thu Nov 13 00:35:05 2008
@@ -32,7 +32,6 @@
     </dep:dependencies>
     <dep:hidden-classes/>
     <dep:non-overridable-classes/>
-    <dep:private-classes/>
   </dep:environment>
   <module>
     <web>servlet_deploy_ejblink_single_web.war</web>
@@ -47,7 +46,6 @@
         <dep:dependencies/>
         <dep:hidden-classes/>
         <dep:non-overridable-classes/>
-        <dep:private-classes/>
       </dep:environment>
       <ejb-ref>
         <ref-name>ejb/StatelessBean_ExternalJAR</ref-name>
@@ -68,7 +66,6 @@
         <dep:dependencies/>
         <dep:hidden-classes/>
         <dep:non-overridable-classes/>
-        <dep:private-classes/>
       </dep:environment>
       <!--YOU MUST INSERT THE ELEMENT <inverse-classloading/> INTO THE ENVIRONMENT ELEMENT FOR THIS MODULE-->
       <ejb-ref>
@@ -90,7 +87,6 @@
           <dep:dependencies/>
           <dep:hidden-classes/>
           <dep:non-overridable-classes/>
-          <dep:private-classes/>
         </dep:environment>
       </web-app>
     </module>
@@ -107,7 +103,6 @@
           <dep:dependencies/>
           <dep:hidden-classes/>
           <dep:non-overridable-classes/>
-          <dep:private-classes/>
         </dep:environment>
         <!--YOU MUST INSERT THE ELEMENT <inverse-classloading/> INTO THE ENVIRONMENT ELEMENT FOR THIS MODULE-->
       </web-app>

Modified: geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/transport_1_result.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/transport_1_result.xml?rev=713680&r1=713679&r2=713680&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/transport_1_result.xml (original)
+++ geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/transport_1_result.xml Thu Nov 13 00:35:05 2008
@@ -34,7 +34,6 @@
     </dep:dependencies>
     <dep:hidden-classes/>
     <dep:non-overridable-classes/>
-    <dep:private-classes/>
   </dep:environment>
   <module>
     <java>transport_1_client.jar</java>
@@ -56,7 +55,6 @@
         </dep:dependencies>
         <dep:hidden-classes/>
         <dep:non-overridable-classes/>
-        <dep:private-classes/>
       </dep:client-environment>
       <dep:server-environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2">
         <dep:moduleId>
@@ -68,7 +66,6 @@
         <dep:dependencies/>
         <dep:hidden-classes/>
         <dep:non-overridable-classes/>
-        <dep:private-classes/>
       </dep:server-environment>
       <ejb-ref>
         <ref-name>ejb/EJBVehicle</ref-name>

Modified: geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/transport_2_result.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/transport_2_result.xml?rev=713680&r1=713679&r2=713680&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/transport_2_result.xml (original)
+++ geronimo/server/trunk/framework/modules/geronimo-upgrade/src/test/resources/transport_2_result.xml Thu Nov 13 00:35:05 2008
@@ -34,7 +34,6 @@
     </dep:dependencies>
     <dep:hidden-classes/>
     <dep:non-overridable-classes/>
-    <dep:private-classes/>
   </dep:environment>
 </application>
         



Re: svn commit: r713680 - in /geronimo/server/trunk/framework/modules: geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/ geronimo-service-builder/src/main/xsd/ geronimo-service-builder/src/test/java/org/apache/geronimo/deployme...

Posted by Gianny Damour <gi...@optusnet.com.au>.
Hi,

The feature is still available. However we do not provide a XML  
configuration style for it. We only provide a script configuration  
style. For instance, by dropping a file named:

DependenciesPrivateClass.groovy

in the folder of the plugin to update and with a content looking like

Set privateClasses = ['hide.this', 'hide.that']
configurationData.environment.classLoadingRules.privateRule.addClassPref 
ixes(privateClasses)

You can achieve the same effect.

Let me know if you think that we should also provide a XML  
configuration style.

Regarding the TCK problem, I do not think that this change is  
related. I believe that the TCK problem is due to the new OpenEJB  
snapshot. Jason, could you please confirm?

Thanks,
Gianny

On 14/11/2008, at 5:19 AM, Joe Bohn wrote:

> I think I was one of the people asking for this to be reverted.
>
> Just to clarify my position:  I'm very much in favor of keeping the  
> functionality.  I think it will help with some of the more obscure  
> classloader issues we've been hitting.
>
> My suggestion to revert the change was more pragmatic to resolve  
> two issues:
> 1) new TCK failures reported by Jason
> 2) The implicit dependency on a new OpenEJB 3.1.x release
>
> If we can resolve these 2 issues without reverting the change (or  
> for #2 if it seems we need a new OpenEJB 3.1.x release for other  
> reasons ... like other TCK failures) then I'm very much in favor of  
> keeping this change.
>
>
> Joe
>
>
> David Jencks wrote:
>> Um, -1.  I thought this was a great idea for 2.2.  What's the  
>> problem that leads you to revert it?
>> thanks
>> david jencks
>> On Nov 13, 2008, at 12:35 AM, gdamour@apache.org wrote:
>>> Author: gdamour
>>> Date: Thu Nov 13 00:35:05 2008
>>> New Revision: 713680
>>>
>>> URL: http://svn.apache.org/viewvc?rev=713680&view=rev
>>> Log:
>>> Revert addition of private-classes element. Private classes can be
>>> configured via scripts.
>>>
>>> (GERONIMO-4403) Provide a mechanism to hide specific classes  of  
>>> a configuration to all its children
>>> <snip>
>


Re: svn commit: r713680 - in /geronimo/server/trunk/framework/modules: geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/ geronimo-service-builder/src/main/xsd/ geronimo-service-builder/src/test/java/org/apache/geronimo/deployme...

Posted by Joe Bohn <jo...@earthlink.net>.
I think I was one of the people asking for this to be reverted.

Just to clarify my position:  I'm very much in favor of keeping the 
functionality.  I think it will help with some of the more obscure 
classloader issues we've been hitting.

My suggestion to revert the change was more pragmatic to resolve two 
issues:
1) new TCK failures reported by Jason
2) The implicit dependency on a new OpenEJB 3.1.x release

If we can resolve these 2 issues without reverting the change (or for #2 
if it seems we need a new OpenEJB 3.1.x release for other reasons ... 
like other TCK failures) then I'm very much in favor of keeping this 
change.


Joe


David Jencks wrote:
> Um, -1.  I thought this was a great idea for 2.2.  What's the problem 
> that leads you to revert it?
> 
> thanks
> david jencks
> 
> On Nov 13, 2008, at 12:35 AM, gdamour@apache.org wrote:
> 
>> Author: gdamour
>> Date: Thu Nov 13 00:35:05 2008
>> New Revision: 713680
>>
>> URL: http://svn.apache.org/viewvc?rev=713680&view=rev
>> Log:
>> Revert addition of private-classes element. Private classes can be
>> configured via scripts.
>>
>> (GERONIMO-4403) Provide a mechanism to hide specific classes  of a 
>> configuration to all its children
>> <snip>
> 


Re: svn commit: r713680 - in /geronimo/server/trunk/framework/modules: geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/ geronimo-service-builder/src/main/xsd/ geronimo-service-builder/src/test/java/org/apache/geronimo/deployme...

Posted by David Jencks <da...@yahoo.com>.
Um, -1.  I thought this was a great idea for 2.2.  What's the problem  
that leads you to revert it?

thanks
david jencks

On Nov 13, 2008, at 12:35 AM, gdamour@apache.org wrote:

> Author: gdamour
> Date: Thu Nov 13 00:35:05 2008
> New Revision: 713680
>
> URL: http://svn.apache.org/viewvc?rev=713680&view=rev
> Log:
> Revert addition of private-classes element. Private classes can be
> configured via scripts.
>
> (GERONIMO-4403) Provide a mechanism to hide specific classes  of a  
> configuration to all its children
> <snip>