You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2007/07/26 16:19:49 UTC
svn commit: r559823 - in /directory/sandbox/akarasulu/j2l/trunk/runtime/src:
main/java/org/apache/directory/j2l/annotations/
main/java/org/apache/directory/j2l/annotations/attribute/
main/java/org/apache/directory/j2l/annotations/objectClass/ main/java...
Author: akarasulu
Date: Thu Jul 26 07:19:48 2007
New Revision: 559823
URL: http://svn.apache.org/viewvc?view=rev&rev=559823
Log:
changes ...
o some cleanup
o renamed and reorganized some test beans
o created generic test case to test schema parameter extraction
o still working on object class enhancers
Added:
directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClassAliases.java
- copied, changed from r558576, directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClass.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClassRdnAttributes.java
- copied, changed from r558576, directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapRdnAttributes.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attribute/LdapAttributeSyntaxLength.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attribute/package.html
directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/objectClass/
directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/
directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/FooEnum.java
- copied, changed from r558576, directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/FooEnum.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/MutableTestBean.java
- copied, changed from r558576, directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/MutableTestBean.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/NoAnnotationsBean.java
- copied, changed from r559292, directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/TestBeanNoAnnotations.java
Removed:
directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClass.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapRdnAttributes.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/AnnotationTest.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/FooEnum.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/MutableTestBean.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/TestBeanNoAnnotations.java
Modified:
directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/configuration/PrimitiveMapping.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/configuration/PrimitiveMappingRegistry.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeToPropertyMapping.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractor.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractorTest.java
directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/resources/log4j.properties
Copied: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClassAliases.java (from r558576, directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClass.java)
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClassAliases.java?view=diff&rev=559823&p1=directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClass.java&r1=558576&p2=directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClassAliases.java&r2=559823
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClass.java (original)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClassAliases.java Thu Jul 26 07:19:48 2007
@@ -19,9 +19,9 @@
*/
package org.apache.directory.j2l.annotations;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Inherited;
+import org.apache.directory.shared.ldap.schema.ObjectClassTypeEnum;
+
+import java.lang.annotation.*;
/**
*
@@ -29,8 +29,9 @@
* @version $Rev$, $Date$
*/
@Inherited
-@Retention(RetentionPolicy.RUNTIME)
-public @interface LdapObjectClass
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.TYPE )
+public @interface LdapObjectClassAliases
{
- String value();
+ String[] value();
}
Copied: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClassRdnAttributes.java (from r558576, directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapRdnAttributes.java)
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClassRdnAttributes.java?view=diff&rev=559823&p1=directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapRdnAttributes.java&r1=558576&p2=directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClassRdnAttributes.java&r2=559823
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapRdnAttributes.java (original)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClassRdnAttributes.java Thu Jul 26 07:19:48 2007
@@ -21,18 +21,21 @@
import org.apache.directory.j2l.annotations.LdapAttributeToPropertyMapping;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Inherited;
+import java.lang.annotation.*;
/**
+ * Declares which attributeTypes associated with bean properties can be used
+ * as relative distinguished names. Effectively this constitues as NameForm
+ * however it is merely used by the persistence engine as a queue to determine
+ * how construct the name of an entry added to the directory.
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
@Inherited
@Retention( RetentionPolicy.RUNTIME )
-public @interface LdapRdnAttributes
+@Target( ElementType.TYPE )
+public @interface LdapObjectClassRdnAttributes
{
LdapAttributeToPropertyMapping[] value();
}
Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attribute/LdapAttributeSyntaxLength.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attribute/LdapAttributeSyntaxLength.java?view=auto&rev=559823
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attribute/LdapAttributeSyntaxLength.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attribute/LdapAttributeSyntaxLength.java Thu Jul 26 07:19:48 2007
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * Used to set the length of an attribute associated with a syntax.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface LdapAttributeSyntaxLength
+{
+ int value();
+}
Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attribute/package.html
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attribute/package.html?view=auto&rev=559823
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attribute/package.html (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attribute/package.html Thu Jul 26 07:19:48 2007
@@ -0,0 +1,19 @@
+<h2>TODO: turn this into a real package description instead of a place for design notes</h2>
+
+<h2>Design FAQ</h2>
+<ol>
+ <li>
+ <h3>Question</h3>
+ <b> Why do we have an annotation for each aspect of an AttributeTypeDescription rather than a single annotation
+ for an AttributeTypeDescription?</b>
+ <h3>Answer</h3>
+ We could have defined a single annotation yes however most often users need to tweak a set of defaults
+ that are configured for the system: either preconfigured system defaults or overrides for these system
+ wide defaults. We don't want users to have to specify more than what it is they want different from
+ the default. This way there's less work that a user must do to tweak a single attribute. Some may come
+ back and counter with using annotation defaults. This is also possible however it makes it difficult
+ for us to figure out a way to implement overrides to these system defaults when they are ingrained in
+ the Annotation as defaults.
+ </li>
+</ol>
+
Modified: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/configuration/PrimitiveMapping.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/configuration/PrimitiveMapping.java?view=diff&rev=559823&r1=559822&r2=559823
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/configuration/PrimitiveMapping.java (original)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/configuration/PrimitiveMapping.java Thu Jul 26 07:19:48 2007
@@ -19,6 +19,8 @@
*/
package org.apache.directory.j2l.configuration;
+import org.apache.directory.shared.ldap.constants.SchemaConstants;
+
/**
* A means to map a Java class to an LDAP syntax.
*
@@ -27,6 +29,10 @@
*/
public class PrimitiveMapping
{
+ public static final PrimitiveMapping DEFAULT = new PrimitiveMapping( Object.class,
+ SchemaConstants.DIRECTORY_STRING_SYNTAX,
+ SchemaConstants.CASE_EXACT_MR, null,
+ SchemaConstants.CASE_EXACT_SUBSTRING_MR );
private Class javaType;
private String ldapSyntaxOid;
private String equalityMatchingRule;
Modified: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/configuration/PrimitiveMappingRegistry.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/configuration/PrimitiveMappingRegistry.java?view=diff&rev=559823&r1=559822&r2=559823
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/configuration/PrimitiveMappingRegistry.java (original)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/configuration/PrimitiveMappingRegistry.java Thu Jul 26 07:19:48 2007
@@ -105,6 +105,10 @@
new PrimitiveMapping( URL.class, SchemaConstants.DIRECTORY_STRING_SYNTAX,
SchemaConstants.CASE_EXACT_MR, null, SchemaConstants.CASE_EXACT_SUBSTRING_MR );
+ private static final PrimitiveMapping ENUM_MAPPING =
+ new PrimitiveMapping( Enum.class, SchemaConstants.DIRECTORY_STRING_SYNTAX,
+ SchemaConstants.CASE_EXACT_MR, null, SchemaConstants.CASE_EXACT_SUBSTRING_MR );
+
private Map<Class, PrimitiveMapping> class2syntax = new HashMap<Class, PrimitiveMapping>();
@@ -144,6 +148,7 @@
class2syntax.put( SQL_TIME_MAPPING.getJavaType(), SQL_TIME_MAPPING );
class2syntax.put( SQL_TIMESTAMP_MAPPING.getJavaType(), SQL_TIMESTAMP_MAPPING );
class2syntax.put( URL_MAPPING.getJavaType(), URL_MAPPING );
+ class2syntax.put( ENUM_MAPPING.getJavaType(), ENUM_MAPPING );
// Need a ASN.1 REAL syntax converstion to LDAP Syntax and matchingRules to do this
// class2syntax.put( FLOAT_MAPPING.getJavaType(), FLOAT_MAPPING );
Modified: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeToPropertyMapping.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeToPropertyMapping.java?view=diff&rev=559823&r1=559822&r2=559823
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeToPropertyMapping.java (original)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeToPropertyMapping.java Thu Jul 26 07:19:48 2007
@@ -19,17 +19,21 @@
*/
package org.apache.directory.j2l.descriptions;
+
import org.apache.directory.shared.ldap.schema.syntax.AttributeTypeDescription;
import org.apache.directory.j2l.configuration.PrimitiveMapping;
import org.apache.directory.j2l.configuration.J2LConfiguration;
import org.apache.commons.beanutils.DynaProperty;
-import org.apache.commons.beanutils.DynaClass;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.lang.reflect.Method;
import java.lang.annotation.Annotation;
import java.util.Map;
import java.util.HashMap;
+
/**
* Useful data structure to track an attributeType to Java Bean Property along with
* various aspects useful during mapping.
@@ -39,6 +43,7 @@
*/
public class AttributeToPropertyMapping
{
+ private static final Logger LOG = LoggerFactory.getLogger( AttributeToPropertyMapping.class );
private final J2LConfiguration configuration;
private AttributeTypeDescription attributeTypeDescription = new AttributeTypeDescription();
private boolean required = false;
@@ -156,8 +161,16 @@
{
this.dynaProperty = dynaProperty;
this.primitiveMapping = configuration.getPrimitiveMappingRegistry().lookup( dynaProperty.getType() );
+
+ if ( this.primitiveMapping == null )
+ {
+ LOG.warn( "Using default mapping for '" + dynaProperty.getName() + "' property\nin bean class " +
+ this.beanClass.getName() + " with type " + dynaProperty.getType().getName() );
+ this.primitiveMapping = PrimitiveMapping.DEFAULT;
+ }
}
+
public PrimitiveMapping getPrimitiveMapping()
{
if ( primitiveMapping == null )
Modified: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractor.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractor.java?view=diff&rev=559823&r1=559822&r2=559823
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractor.java (original)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractor.java Thu Jul 26 07:19:48 2007
@@ -485,7 +485,7 @@
}
catch ( NoSuchMethodException e )
{
- if ( property.getType() == Boolean.class )
+ if ( property.getType() == Boolean.class || property.getType() == boolean.class )
{
log.info( "No getter expected for boolean bean property: {}", property.getName() );
}
Modified: directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractorTest.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractorTest.java?view=diff&rev=559823&r1=559822&r2=559823
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractorTest.java (original)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractorTest.java Thu Jul 26 07:19:48 2007
@@ -21,8 +21,13 @@
import junit.framework.TestCase;
import org.apache.directory.j2l.configuration.J2LConfiguration;
-import org.apache.directory.j2l.annotations.TestBeanNoAnnotations;
import org.apache.directory.shared.ldap.schema.SchemaUtils;
+import org.apache.directory.shared.ldap.schema.syntax.parser.AttributeTypeDescriptionSchemaParser;
+import org.apache.directory.shared.ldap.schema.syntax.AttributeTypeDescription;
+import org.apache.commons.logging.LogFactory;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.util.List;
@@ -35,34 +40,72 @@
*/
public class AttributeTypeExtractorTest extends TestCase
{
- J2LConfiguration configuration;
- AttributeTypeExtractor extractor;
+ private static final Logger LOG = LoggerFactory.getLogger( AttributeTypeExtractorTest.class );
+ private static final String TEST_BEANS_PKG = "org.apache.directory.j2l.testbeans";
+ private J2LConfiguration configuration;
+ private AttributeTypeExtractor extractor;
+ private Class testBeanClass = null;
+ private AttributeTypeDescriptionSchemaParser parser;
- public void setUp()
+ public void setUp() throws Exception
{
+ parser = new AttributeTypeDescriptionSchemaParser();
configuration = new J2LConfiguration();
configuration.setEntityPrefix( "bogus" );
configuration.getSchemaConfiguration().setName( "bogus" );
configuration.setGenerateSchemaFile( true );
extractor = new AttributeTypeExtractor( configuration );
+
+ // Load the test bean class corresponding to the test case which
+ // is simply the name of the test case minus the 'test' prefix
+ String testBeanClassName = TEST_BEANS_PKG + "." + getName().substring( 4 );
+ testBeanClass = Class.forName( testBeanClassName );
}
public void tearDown()
{
+ if ( ! this.createResult().wasSuccessful() )
+ {
+ LOG.error( "Failed extraction on " + testBeanClass.getName() );
+ }
+ testBeanClass = null;
extractor = null;
configuration = null;
}
- public void testExtraction() throws Exception
+ protected void doExtraction( Class beanClass ) throws Exception
{
List<AttributeToPropertyMapping> mappings =
- extractor.extractAttributeToPropertyMappings( TestBeanNoAnnotations.class );
+ extractor.extractAttributeToPropertyMappings( beanClass );
+
for ( AttributeToPropertyMapping mapping : mappings )
{
- System.out.println( SchemaUtils.render( mapping.getAttributeTypeDescription() ) );
+ AttributeTypeDescription extracted = mapping.getAttributeTypeDescription();
+ StringBuffer description = SchemaUtils.render( extracted );
+ LOG.info( "Extracted description: " + description.toString() );
+ AttributeTypeDescription parsed = ( AttributeTypeDescription ) parser.parse( description.toString() );
+
+ assertEquals( extracted.getDescription(), parsed.getDescription() );
+ assertEquals( extracted.getEqualityMatchingRule(), parsed.getEqualityMatchingRule() );
+ assertEquals( extracted.getExtensions(), parsed.getExtensions() );
+ assertEquals( extracted.getNames(), parsed.getNames() );
+ assertEquals( extracted.getNumericOid(), parsed.getNumericOid() );
+ assertEquals( extracted.getOrderingMatchingRule(), parsed.getOrderingMatchingRule() );
+ assertEquals( extracted.getSubstringsMatchingRule(), parsed.getSubstringsMatchingRule() );
+ assertEquals( extracted.getSuperType(), parsed.getSuperType() );
+ assertEquals( extracted.getSyntax(), parsed.getSyntax() );
+ assertEquals( extracted.getSyntaxLength(), parsed.getSyntaxLength() );
+ assertEquals( extracted.getUsage(), parsed.getUsage() );
+ LOG.info( "Schema attributeType extraction succeeded on class " + testBeanClass.getName() );
}
+ }
+
+
+ public void testNoAnnotationsBean() throws Exception
+ {
+ doExtraction( testBeanClass );
}
}
Copied: directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/FooEnum.java (from r558576, directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/FooEnum.java)
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/FooEnum.java?view=diff&rev=559823&p1=directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/FooEnum.java&r1=558576&p2=directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/FooEnum.java&r2=559823
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/FooEnum.java (original)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/FooEnum.java Thu Jul 26 07:19:48 2007
@@ -17,7 +17,7 @@
* under the License.
*
*/
-package org.apache.directory.j2l.annotations;
+package org.apache.directory.j2l.testbeans;
/**
* Document me!
Copied: directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/MutableTestBean.java (from r558576, directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/MutableTestBean.java)
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/MutableTestBean.java?view=diff&rev=559823&p1=directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/MutableTestBean.java&r1=558576&p2=directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/MutableTestBean.java&r2=559823
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/MutableTestBean.java (original)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/MutableTestBean.java Thu Jul 26 07:19:48 2007
@@ -17,7 +17,7 @@
* under the License.
*
*/
-package org.apache.directory.j2l.annotations;
+package org.apache.directory.j2l.testbeans;
/**
* Document me!
Copied: directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/NoAnnotationsBean.java (from r559292, directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/TestBeanNoAnnotations.java)
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/NoAnnotationsBean.java?view=diff&rev=559823&p1=directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/TestBeanNoAnnotations.java&r1=559292&p2=directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/NoAnnotationsBean.java&r2=559823
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/TestBeanNoAnnotations.java (original)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/testbeans/NoAnnotationsBean.java Thu Jul 26 07:19:48 2007
@@ -17,7 +17,13 @@
* under the License.
*
*/
-package org.apache.directory.j2l.annotations;
+package org.apache.directory.j2l.testbeans;
+
+import java.util.Date;
+import java.net.URL;
+import java.sql.Time;
+import java.sql.Timestamp;
+import java.math.BigInteger;
/**
@@ -26,20 +32,36 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-public class TestBeanNoAnnotations
+public class NoAnnotationsBean
{
private String stringProperty;
private short shortProperty;
private long longProperty;
private byte byteProperty;
private boolean booleanProperty;
- // not supported
- // private char charProperty;
private int intProperty;
- // not supported
+
+ // data types not yet supported
+ // ----------------------------
+
+ // private char charProperty;
// private float floatProperty;
// private double doubleProperty;
// private FooEnum enumProperty;
+ // private BigDecimal bigDecimalProperty;
+
+
+ /*
+ * Other simple yet object data types with default mappings
+ */
+ private FooEnum enumProperty;
+ private Date dateProperty;
+ private URL urlProperty;
+ private Time timeProperty;
+ private Timestamp timestampProperty;
+ private java.sql.Date sqlDateProperty;
+ private BigInteger bigIntegerProperty;
+
public String getStringProperty()
{
@@ -147,5 +169,75 @@
protected void setByteProperty( byte byteProperty )
{
this.byteProperty = byteProperty;
+ }
+
+ public Date getDateProperty()
+ {
+ return dateProperty;
+ }
+
+ public void setDateProperty( Date dateProperty )
+ {
+ this.dateProperty = dateProperty;
+ }
+
+ public URL getUrlProperty()
+ {
+ return urlProperty;
+ }
+
+ public void setUrlProperty( URL urlProperty )
+ {
+ this.urlProperty = urlProperty;
+ }
+
+ public Time getTimeProperty()
+ {
+ return timeProperty;
+ }
+
+ public void setTimeProperty( Time timeProperty )
+ {
+ this.timeProperty = timeProperty;
+ }
+
+ public Timestamp getTimestampProperty()
+ {
+ return timestampProperty;
+ }
+
+ public void setTimestampProperty( Timestamp timestampProperty )
+ {
+ this.timestampProperty = timestampProperty;
+ }
+
+ public java.sql.Date getSqlDateProperty()
+ {
+ return sqlDateProperty;
+ }
+
+ public void setSqlDateProperty( java.sql.Date sqlDateProperty )
+ {
+ this.sqlDateProperty = sqlDateProperty;
+ }
+
+ public BigInteger getBigIntegerProperty()
+ {
+ return bigIntegerProperty;
+ }
+
+ public void setBigIntegerProperty( BigInteger bigIntegerProperty )
+ {
+ this.bigIntegerProperty = bigIntegerProperty;
+ }
+
+ public FooEnum getEnumProperty()
+ {
+ return enumProperty;
+ }
+
+ public void setEnumProperty( FooEnum enumProperty )
+ {
+ this.enumProperty = enumProperty;
}
}
Modified: directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/resources/log4j.properties?view=diff&rev=559823&r1=559822&r2=559823
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/resources/log4j.properties (original)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/resources/log4j.properties Thu Jul 26 07:19:48 2007
@@ -3,4 +3,6 @@
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}] %p [%c] - %m%n
-
+log4j.logger.org.apache.directory.j2l.descriptions.AttributeTypeExtractor=WARN
+log4j.logger.org.apache.directory.j2l.configuration.PrimitiveMappingRegistry=WARN
+log4j.logger.org.apache.directory.j2l.descriptions.AttributeTypeExtractorTest=WARN