Hi DBlevins... Sorry for mis-understanding the code, I feel shame :(
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
