On Nov 30, 2006, at 2:56 AM, Mohammad Nour El-Din wrote:

Hi DBlevins...

Sorry for mis-understanding the code, I feel shame :(

Oh and you should! Everyone on this project has to be perfect. No mistakes allowed. We don't want anyone learning anything! You've got to just magically know it.

Just remember, what's most important is that you learn to be afraid to ask questions.....

/me has now exceeded is allowed limit of sarcasm for the day

But seriously, ask any question any time. You get points for thinking and sharing and usually more people that just you benefit from the discussion.

-David


On 11/29/06, David Blevins <[EMAIL PROTECTED]> wrote:


On Nov 29, 2006, at 10:34 AM, Mohammad Nour El-Din wrote:

> Hi DBlevins...
>
>
> On 11/28/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>>
>> Author: dblevins
>> Date: Tue Nov 28 11:21:18 2006
>> New Revision: 480161
>>
>> URL: http://svn.apache.org/viewvc?view=rev&rev=480161
>> Log:
>> Added check for annotated fields and to ensure fields are public
>
>
> Why public fields only !!?? @see EJB3.0 "Core Contracts and
> Requirements",
> section 16.2.2

This is not related to the EJB spec.  It's our internal tree that
holds server configuration data.

http://people.apache.org/~dblevins/tmp/openejb/ design_configfactory.html

-David

> Modified:
>>
>> incubator/openejb/trunk/openejb3/container/openejb-core/src/test/
>> java/org/apache/openejb/assembler/classic/
>> OpenEjbConfigurationValidationTest.java
>>
>> Modified:
>> incubator/openejb/trunk/openejb3/container/openejb-core/src/test/
>> java/org/apache/openejb/assembler/classic/
>> OpenEjbConfigurationValidationTest.java
>> URL:
>> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/
>> container/openejb-core/src/test/java/org/apache/openejb/assembler/
>> classic/OpenEjbConfigurationValidationTest.java?
>> view=diff&rev=480161&r1=480160&r2=480161
>>
>> =====================================================================
>> =========
>> ---
>> incubator/openejb/trunk/openejb3/container/openejb-core/src/test/
>> java/org/apache/openejb/assembler/classic/
>> OpenEjbConfigurationValidationTest.java
>> (original)
>> +++
>> incubator/openejb/trunk/openejb3/container/openejb-core/src/test/
>> java/org/apache/openejb/assembler/classic/
>> OpenEjbConfigurationValidationTest.java
>> Tue Nov 28 11:21:18 2006
>> @@ -22,6 +22,7 @@
>> import java.lang.reflect.Constructor;
>> import java.lang.reflect.Field;
>> import java.lang.reflect.Method;
>> +import java.lang.reflect.Modifier;
>> import java.lang.reflect.ParameterizedType;
>> import java.lang.reflect.Type;
>> import java.util.ArrayList;
>> @@ -62,6 +63,12 @@
>>
>>         Field[] fields = clazz.getDeclaredFields();
>>         for (Field field : fields) {
>> +
>> +            assertTrue("Non-public fields are not allowed: " +
>> simpleName
>> + "." + field.getName(), Modifier.isPublic(field.getModifiers()));
>> +
>> +            annotations = clazz.getDeclaredAnnotations();
>> +            assertEquals("annotations are not allowed: " +
>> simpleName +
>> "." + field.getName(), 0, annotations.length);
>> +
>>             Class type = field.getType();
>>             if (type.isArray()) {
>>                 type = type.getComponentType();
>> @@ -69,27 +76,27 @@
>>
>>             if (List.class.isAssignableFrom(type)) {
>>                 type = getGenericType(field);
>> -                assertNotNull("Lists must have a generic type:
>> "+simpleName+"."+field.getName(), type);
>> + assertNotNull("Lists must have a generic type: " +
>> simpleName + "." + field.getName(), type);
>>             }
>>
>>             if (type.isPrimitive()) {
>>                 continue;
>>             }
>>
>> -            if (String.class.isAssignableFrom(type)){
>> +            if (String.class.isAssignableFrom(type)) {
>>                 continue;
>>             }
>>
>> -            if (Properties.class.isAssignableFrom(type)){
>> +            if (Properties.class.isAssignableFrom(type)) {
>>                 continue;
>>             }
>>
>> -            if (InfoObject.class.isAssignableFrom(type)){
>> +            if (InfoObject.class.isAssignableFrom(type)) {
>>                 validate(type);
>>                 continue;
>>             }
>>
>> -            fail("Field is not of an allowed type:
>> "+simpleName+"."+field.getName());
>> +            fail("Field is not of an allowed type: " + simpleName
>> + "." +
>> field.getName());
>>         }
>>     }
>>
>> @@ -104,6 +111,6 @@
>>             return (Class) genericType;
>>         } else {
>>             return null;
>> -       }
>> +        }
>>     }
>> }
>>
>>
>>
>
>
> --
> Thanks
> - Mohammad Nour




--
Thanks
- Mohammad Nour

Reply via email to