[jboss-svn-commits] JBoss Common SVN: r2519 - in jbossxb-builder/trunk/src/test: java/org/jboss/test/ejb/metadata/test and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Aug 29 08:54:40 EDT 2007


Author: alex.loubyansky at jboss.com
Date: 2007-08-29 08:54:40 -0400 (Wed, 29 Aug 2007)
New Revision: 2519

Added:
   jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/EmptyElementToBooleanAdapter.java
Modified:
   jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPAuditMetaData.java
   jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPCMPFieldMetaData.java
   jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPDeclaredSqlMetaData.java
   jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPEntityBeanMetaData.java
   jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPLoadGroupMetaData.java
   jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPOptimisticLockingMetaData.java
   jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPPropertyMetaData.java
   jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPQueryMetaData.java
   jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPQueryMethodMetaData.java
   jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPUnknownPkMetaData.java
   jbossxb-builder/trunk/src/test/java/org/jboss/test/ejb/metadata/test/JBossCMPUnitTestCase.java
   jbossxb-builder/trunk/src/test/resources/org/jboss/test/ejb/metadata/test/JBossCMP_testEnterpriseBeans.xml
Log:
jbosscmp:entity coverage

Added: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/EmptyElementToBooleanAdapter.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/EmptyElementToBooleanAdapter.java	                        (rev 0)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/EmptyElementToBooleanAdapter.java	2007-08-29 12:54:40 UTC (rev 2519)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ejb.metadata.jboss.cmp;
+
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+
+
+/**
+ * A EmptyElementToBooleanAdapter.
+ * 
+ * @author <a href="alex at jboss.com">Alexey Loubyansky</a>
+ * @version $Revision: 1.1 $
+ */
+public class EmptyElementToBooleanAdapter extends XmlAdapter<Boolean, Boolean>
+{
+   @Override
+   public Boolean marshal(Boolean arg0) throws Exception
+   {
+      return null;
+   }
+
+   @Override
+   public Boolean unmarshal(Boolean arg0) throws Exception
+   {
+      if(arg0 != null)
+      {
+         throw new IllegalArgumentException("Expected null (the element must be empty) but got " + arg0);
+      }
+
+      return Boolean.TRUE;
+   }
+
+}

Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPAuditMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPAuditMetaData.java	2007-08-28 10:59:48 UTC (rev 2518)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPAuditMetaData.java	2007-08-29 12:54:40 UTC (rev 2519)
@@ -21,7 +21,9 @@
  */
 package org.jboss.ejb.metadata.jboss.cmp;
 
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
+
 /**
  * A JBossCMPAuditMetaData.
  * 
@@ -33,7 +35,88 @@
    private Field createdBy;
    private Field createdTime;
    private Field updatedBy;
-   private Field updatedTimed;
+   private Field updatedTime;
+
+   /**
+    * Get the createdBy.
+    * 
+    * @return the createdBy.
+    */
+   public Field getCreatedBy()
+   {
+      return createdBy;
+   }
+
+   /**
+    * Set the createdBy.
+    * 
+    * @param createdBy The createdBy to set.
+    */
+   public void setCreatedBy(Field createdBy)
+   {
+      this.createdBy = createdBy;
+   }
+
+   /**
+    * Get the createdTime.
+    * 
+    * @return the createdTime.
+    */   
+   public Field getCreatedTime()
+   {
+      return createdTime;
+   }
+
+   /**
+    * Set the createdTime.
+    * 
+    * @param createdTime The createdTime to set.
+    */
+   public void setCreatedTime(Field createdTime)
+   {
+      this.createdTime = createdTime;
+   }
+
+   /**
+    * Get the updatedBy.
+    * 
+    * @return the updatedBy.
+    */
+   public Field getUpdatedBy()
+   {
+      return updatedBy;
+   }
+
+   /**
+    * Set the updatedBy.
+    * 
+    * @param updatedBy The updatedBy to set.
+    */
+   public void setUpdatedBy(Field updatedBy)
+   {
+      this.updatedBy = updatedBy;
+   }
+
+   /**
+    * Get the updatedTime.
+    * 
+    * @return the updatedTime.
+    */
+   public Field getUpdatedTime()
+   {
+      return updatedTime;
+   }
+
+   /**
+    * Set the updatedTime.
+    * 
+    * @param updatedTime The updatedTime to set.
+    */
+   public void setUpdatedTime(Field updatedTimed)
+   {
+      this.updatedTime = updatedTimed;
+   }
+
    
    public static class Field
    {
@@ -41,5 +124,86 @@
       private String columnName;
       private int jdbcType;
       private String sqlType;
+      
+      /**
+       * Get the columnName.
+       * 
+       * @return the columnName.
+       */
+      public String getColumnName()
+      {
+         return columnName;
+      }
+
+      /**
+       * Set the columnName.
+       * 
+       * @param columnName The columnName to set.
+       */
+      public void setColumnName(String columnName)
+      {
+         this.columnName = columnName;
+      }
+
+      /**
+       * Get the fieldName.
+       * 
+       * @return the fieldName.
+       */
+      public String getFieldName()
+      {
+         return fieldName;
+      }
+
+      /**
+       * Set the fieldName.
+       * 
+       * @param fieldName The fieldName to set.
+       */
+      public void setFieldName(String fieldName)
+      {
+         this.fieldName = fieldName;
+      }
+
+      /**
+       * Get the jdbcType.
+       * 
+       * @return the jdbcType.
+       */
+      public int getJdbcType()
+      {
+         return jdbcType;
+      }
+
+      /**
+       * Set the jdbcType.
+       * 
+       * @param jdbcType The jdbcType to set.
+       */
+      @XmlJavaTypeAdapter(value = JDBCTypeAdapter.class)
+      public void setJdbcType(int jdbcType)
+      {
+         this.jdbcType = jdbcType;
+      }
+
+      /**
+       * Get the sqlType.
+       * 
+       * @return the sqlType.
+       */
+      public String getSqlType()
+      {
+         return sqlType;
+      }
+
+      /**
+       * Set the sqlType.
+       * 
+       * @param sqlType The sqlType to set.
+       */
+      public void setSqlType(String sqlType)
+      {
+         this.sqlType = sqlType;
+      }
    }
 }

Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPCMPFieldMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPCMPFieldMetaData.java	2007-08-28 10:59:48 UTC (rev 2518)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPCMPFieldMetaData.java	2007-08-29 12:54:40 UTC (rev 2519)
@@ -23,7 +23,10 @@
 
 import java.util.List;
 
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
+
 /**
  * A JBossCMPCMPFieldMetaData.
  * 
@@ -41,7 +44,251 @@
    private String sqlType;
    private List<JBossCMPPropertyMetaData> properties;
    private boolean autoIncrement;
-   private boolean dbIndex;
+   private boolean dbindex;
    private boolean checkDirtyAfterGet;
    private String stateFactory;
+   
+   /**
+    * Get the autoIncrement.
+    * 
+    * @return the autoIncrement.
+    */
+   public boolean isAutoIncrement()
+   {
+      return autoIncrement;
+   }
+
+   /**
+    * Set the autoIncrement.
+    * 
+    * @param autoIncrement The autoIncrement to set.
+    */
+   @XmlJavaTypeAdapter(value=EmptyElementToBooleanAdapter.class)
+   public void setAutoIncrement(boolean autoIncrement)
+   {
+      this.autoIncrement = autoIncrement;
+   }
+   
+   /**
+    * Get the checkDirtyAfterGet.
+    * 
+    * @return the checkDirtyAfterGet.
+    */
+   public boolean isCheckDirtyAfterGet()
+   {
+      return checkDirtyAfterGet;
+   }
+
+   /**
+    * Set the checkDirtyAfterGet.
+    * 
+    * @param checkDirtyAfterGet The checkDirtyAfterGet to set.
+    */
+   public void setCheckDirtyAfterGet(boolean checkDirtyAfterGet)
+   {
+      this.checkDirtyAfterGet = checkDirtyAfterGet;
+   }
+
+   /**
+    * Get the columnName.
+    * 
+    * @return the columnName.
+    */
+   public String getColumnName()
+   {
+      return columnName;
+   }
+
+   /**
+    * Set the columnName.
+    * 
+    * @param columnName The columnName to set.
+    */
+   public void setColumnName(String columnName)
+   {
+      this.columnName = columnName;
+   }
+
+   /**
+    * Get the dbIndex.
+    * 
+    * @return the dbIndex.
+    */
+   public boolean isDbindex()
+   {
+      return dbindex;
+   }
+
+   /**
+    * Set the dbIndex.
+    * 
+    * @param dbIndex The dbIndex to set.
+    */
+   @XmlJavaTypeAdapter(value=EmptyElementToBooleanAdapter.class)
+   public void setDbindex(boolean dbIndex)
+   {
+      this.dbindex = dbIndex;
+   }
+
+   /**
+    * Get the fieldName.
+    * 
+    * @return the fieldName.
+    */
+   public String getFieldName()
+   {
+      return fieldName;
+   }
+
+   /**
+    * Set the fieldName.
+    * 
+    * @param fieldName The fieldName to set.
+    */
+   public void setFieldName(String fieldName)
+   {
+      this.fieldName = fieldName;
+   }
+
+   /**
+    * Get the jdbcType.
+    * 
+    * @return the jdbcType.
+    */
+   public int getJdbcType()
+   {
+      return jdbcType;
+   }
+
+   /**
+    * Set the jdbcType.
+    * 
+    * @param jdbcType The jdbcType to set.
+    */
+   @XmlJavaTypeAdapter(value=JDBCTypeAdapter.class)
+   public void setJdbcType(int jdbcType)
+   {
+      this.jdbcType = jdbcType;
+   }
+
+   /**
+    * Get the notNull.
+    * 
+    * @return the notNull.
+    */
+   public boolean isNotNull()
+   {
+      return notNull;
+   }
+
+   /**
+    * Set the notNull.
+    * 
+    * @param notNull The notNull to set.
+    */
+   public void setNotNull(boolean notNull)
+   {
+      this.notNull = notNull;
+   }
+
+   /**
+    * Get the properties.
+    * 
+    * @return the properties.
+    */
+   public List<JBossCMPPropertyMetaData> getProperties()
+   {
+      return properties;
+   }
+
+   /**
+    * Set the properties.
+    * 
+    * @param properties The properties to set.
+    */
+   @XmlElement(name="property")
+   public void setProperties(List<JBossCMPPropertyMetaData> properties)
+   {
+      this.properties = properties;
+   }
+
+   /**
+    * Get the readOnly.
+    * 
+    * @return the readOnly.
+    */
+   public boolean isReadOnly()
+   {
+      return readOnly;
+   }
+
+   /**
+    * Set the readOnly.
+    * 
+    * @param readOnly The readOnly to set.
+    */
+   public void setReadOnly(boolean readOnly)
+   {
+      this.readOnly = readOnly;
+   }
+
+   /**
+    * Get the readTimeOut.
+    * 
+    * @return the readTimeOut.
+    */
+   public long getReadTimeOut()
+   {
+      return readTimeOut;
+   }
+
+   /**
+    * Set the readTimeOut.
+    * 
+    * @param readTimeOut The readTimeOut to set.
+    */
+   public void setReadTimeOut(long readTimeOut)
+   {
+      this.readTimeOut = readTimeOut;
+   }
+
+   /**
+    * Get the sqlType.
+    * 
+    * @return the sqlType.
+    */
+   public String getSqlType()
+   {
+      return sqlType;
+   }
+
+   /**
+    * Set the sqlType.
+    * 
+    * @param sqlType The sqlType to set.
+    */
+   public void setSqlType(String sqlType)
+   {
+      this.sqlType = sqlType;
+   }
+
+   /**
+    * Get the stateFactory.
+    * 
+    * @return the stateFactory.
+    */
+   public String getStateFactory()
+   {
+      return stateFactory;
+   }
+
+   /**
+    * Set the stateFactory.
+    * 
+    * @param stateFactory The stateFactory to set.
+    */
+   public void setStateFactory(String stateFactory)
+   {
+      this.stateFactory = stateFactory;
+   }
 }

Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPDeclaredSqlMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPDeclaredSqlMetaData.java	2007-08-28 10:59:48 UTC (rev 2518)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPDeclaredSqlMetaData.java	2007-08-29 12:54:40 UTC (rev 2519)
@@ -21,7 +21,9 @@
  */
 package org.jboss.ejb.metadata.jboss.cmp;
 
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
+
 /**
  * A JBossCMPDeclaredSqlMetaData.
  * 
@@ -35,7 +37,107 @@
    private String where;
    private String order;
    private String other;
-   
+
+   /**
+    * Get the from.
+    * 
+    * @return the from.
+    */
+   public String getFrom()
+   {
+      return from;
+   }
+
+   /**
+    * Set the from.
+    * 
+    * @param from The from to set.
+    */
+   public void setFrom(String from)
+   {
+      this.from = from;
+   }
+
+   /**
+    * Get the order.
+    * 
+    * @return the order.
+    */
+   public String getOrder()
+   {
+      return order;
+   }
+
+   /**
+    * Set the order.
+    * 
+    * @param order The order to set.
+    */
+   public void setOrder(String order)
+   {
+      this.order = order;
+   }
+
+   /**
+    * Get the other.
+    * 
+    * @return the other.
+    */
+   public String getOther()
+   {
+      return other;
+   }
+
+   /**
+    * Set the other.
+    * 
+    * @param other The other to set.
+    */
+   public void setOther(String other)
+   {
+      this.other = other;
+   }
+
+   /**
+    * Get the select.
+    * 
+    * @return the select.
+    */   
+   public Select getSelect()
+   {
+      return select;
+   }
+
+   /**
+    * Set the select.
+    * 
+    * @param select The select to set.
+    */
+   public void setSelect(Select select)
+   {
+      this.select = select;
+   }
+
+   /**
+    * Get the where.
+    * 
+    * @return the where.
+    */
+   public String getWhere()
+   {
+      return where;
+   }
+
+   /**
+    * Set the where.
+    * 
+    * @param where The where to set.
+    */   
+   public void setWhere(String where)
+   {
+      this.where = where;
+   }
+
    public static class Select
    {
       private boolean distinct;
@@ -43,5 +145,106 @@
       private String fieldName;
       private String alias;
       private String additionalColumns;
+      
+      /**
+       * Get the additionalColumns.
+       * 
+       * @return the additionalColumns.
+       */      
+      public String getAdditionalColumns()
+      {
+         return additionalColumns;
+      }
+      
+      /**
+       * Set the additionalColumns.
+       * 
+       * @param additionalColumns The additionalColumns to set.
+       */
+      public void setAdditionalColumns(String additionalColumns)
+      {
+         this.additionalColumns = additionalColumns;
+      }
+
+      /**
+       * Get the alias.
+       * 
+       * @return the alias.
+       */
+      public String getAlias()
+      {
+         return alias;
+      }
+      
+      /**
+       * Set the alias.
+       * 
+       * @param alias The alias to set.
+       */
+      public void setAlias(String alias)
+      {
+         this.alias = alias;
+      }
+
+      /**
+       * Get the distinct.
+       * 
+       * @return the distinct.
+       */
+      public boolean isDistinct()
+      {
+         return distinct;
+      }
+
+      /**
+       * Set the distinct.
+       * 
+       * @param distinct The distinct to set.
+       */
+      @XmlJavaTypeAdapter(value = EmptyElementToBooleanAdapter.class)
+      public void setDistinct(boolean distinct)
+      {
+         this.distinct = distinct;
+      }
+      
+      /**
+       * Get the ejbName.
+       * 
+       * @return the ejbName.
+       */
+      public String getEjbName()
+      {
+         return ejbName;
+      }
+
+      /**
+       * Set the ejbName.
+       * 
+       * @param ejbName The ejbName to set.
+       */
+      public void setEjbName(String ejbName)
+      {
+         this.ejbName = ejbName;
+      }
+
+      /**
+       * Get the fieldName.
+       * 
+       * @return the fieldName.
+       */
+      public String getFieldName()
+      {
+         return fieldName;
+      }
+
+      /**
+       * Set the fieldName.
+       * 
+       * @param fieldName The fieldName to set.
+       */
+      public void setFieldName(String fieldName)
+      {
+         this.fieldName = fieldName;
+      }
    }
 }

Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPEntityBeanMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPEntityBeanMetaData.java	2007-08-28 10:59:48 UTC (rev 2518)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPEntityBeanMetaData.java	2007-08-29 12:54:40 UTC (rev 2519)
@@ -103,14 +103,18 @@
    {
       this.cleanReadAheadOnLoad = cleanReadAheadOnLoad;
    }
+   
    public List<JBossCMPCMPFieldMetaData> getCmpFields()
    {
       return cmpFields;
    }
+   
+   @XmlElement(name="cmp-field")
    public void setCmpFields(List<JBossCMPCMPFieldMetaData> cmpFields)
    {
       this.cmpFields = cmpFields;
    }
+   
    public boolean isCreateTable()
    {
       return createTable;
@@ -172,14 +176,19 @@
    {
       this.fetchSize = fetchSize;
    }
+   
    public List<String> getLazyLoadGroups()
    {
       return lazyLoadGroups;
    }
+   
+   @XmlElementWrapper
+   @XmlElement(name="load-group-name")
    public void setLazyLoadGroups(List<String> lazyLoadGroups)
    {
       this.lazyLoadGroups = lazyLoadGroups;
    }
+   
    public long getListCacheMax()
    {
       return listCacheMax;
@@ -188,22 +197,29 @@
    {
       this.listCacheMax = listCacheMax;
    }
+   
    public List<JBossCMPLoadGroupMetaData> getLoadGroups()
    {
       return loadGroups;
    }
+   
+   @XmlElementWrapper
+   @XmlElement(name="load-group")
    public void setLoadGroups(List<JBossCMPLoadGroupMetaData> loadGroups)
    {
       this.loadGroups = loadGroups;
    }
+   
    public JBossCMPOptimisticLockingMetaData getOptimisticLocking()
    {
       return optimisticLocking;
    }
+   
    public void setOptimisticLocking(JBossCMPOptimisticLockingMetaData optimisticLocking)
    {
       this.optimisticLocking = optimisticLocking;
    }
+   
    public boolean isPkConstraint()
    {
       return pkConstraint;
@@ -229,18 +245,23 @@
    {
       return queries;
    }
+   
+   @XmlElement(name="query")
    public void setQueries(List<JBossCMPQueryMetaData> queries)
    {
       this.queries = queries;
    }
+   
    public JBossCMPReadAheadMetaData getReadAhead()
    {
       return readAhead;
    }
+   
    public void setReadAhead(JBossCMPReadAheadMetaData readAhead)
    {
       this.readAhead = readAhead;
    }
+   
    public boolean isReadOnly()
    {
       return readOnly;

Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPLoadGroupMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPLoadGroupMetaData.java	2007-08-28 10:59:48 UTC (rev 2518)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPLoadGroupMetaData.java	2007-08-29 12:54:40 UTC (rev 2519)
@@ -23,7 +23,9 @@
 
 import java.util.List;
 
+import javax.xml.bind.annotation.XmlElement;
 
+
 /**
  * A JBossCMPLoadGroupMetaData.
  * 
@@ -35,4 +37,65 @@
    private String description;
    private String loadGroupName;
    private List<String> fieldNames;
+   
+   /**
+    * Get the description.
+    * 
+    * @return the description.
+    */
+   public String getDescription()
+   {
+      return description;
+   }
+   
+   /**
+    * Set the description.
+    * 
+    * @param description The description to set.
+    */
+   public void setDescription(String description)
+   {
+      this.description = description;
+   }
+   
+   /**
+    * Get the fieldNames.
+    * 
+    * @return the fieldNames.
+    */
+   public List<String> getFieldNames()
+   {
+      return fieldNames;
+   }
+   
+   /**
+    * Set the fieldNames.
+    * 
+    * @param fieldNames The fieldNames to set.
+    */
+   @XmlElement(name="field-name")
+   public void setFieldNames(List<String> fieldNames)
+   {
+      this.fieldNames = fieldNames;
+   }
+   
+   /**
+    * Get the loadGroupName.
+    * 
+    * @return the loadGroupName.
+    */
+   public String getLoadGroupName()
+   {
+      return loadGroupName;
+   }
+   
+   /**
+    * Set the loadGroupName.
+    * 
+    * @param loadGroupName The loadGroupName to set.
+    */
+   public void setLoadGroupName(String loadGroupName)
+   {
+      this.loadGroupName = loadGroupName;
+   }
 }

Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPOptimisticLockingMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPOptimisticLockingMetaData.java	2007-08-28 10:59:48 UTC (rev 2518)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPOptimisticLockingMetaData.java	2007-08-29 12:54:40 UTC (rev 2519)
@@ -21,7 +21,9 @@
  */
 package org.jboss.ejb.metadata.jboss.cmp;
 
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
+
 /**
  * A JBossCMPOptimisticLockingMetaData.
  * 
@@ -33,12 +35,237 @@
    private String groupName;
    private boolean modifiedStrategy;
    private boolean readStrategy;
-   private String versionColumn;
-   private String timestampColumn;
+   private boolean versionColumn;
+   private boolean timestampColumn;
    private String keyGeneratorFactory;
    private String fieldType;
    private String fieldName;
    private String columnName;
    private int jdbcType;
    private String sqlType;
+   
+   /**
+    * Get the columnName.
+    * 
+    * @return the columnName.
+    */
+   public String getColumnName()
+   {
+      return columnName;
+   }
+   
+   /**
+    * Set the columnName.
+    * 
+    * @param columnName The columnName to set.
+    */
+   public void setColumnName(String columnName)
+   {
+      this.columnName = columnName;
+   }
+
+   /**
+    * Get the fieldName.
+    * 
+    * @return the fieldName.
+    */
+   public String getFieldName()
+   {
+      return fieldName;
+   }
+
+   /**
+    * Set the fieldName.
+    * 
+    * @param fieldName The fieldName to set.
+    */
+   public void setFieldName(String fieldName)
+   {
+      this.fieldName = fieldName;
+   }
+
+   /**
+    * Get the fieldType.
+    * 
+    * @return the fieldType.
+    */
+   public String getFieldType()
+   {
+      return fieldType;
+   }
+
+   /**
+    * Set the fieldType.
+    * 
+    * @param fieldType The fieldType to set.
+    */
+   public void setFieldType(String fieldType)
+   {
+      this.fieldType = fieldType;
+   }
+
+   /**
+    * Get the groupName.
+    * 
+    * @return the groupName.
+    */
+   public String getGroupName()
+   {
+      return groupName;
+   }
+
+   /**
+    * Set the groupName.
+    * 
+    * @param groupName The groupName to set.
+    */
+   public void setGroupName(String groupName)
+   {
+      this.groupName = groupName;
+   }
+
+   /**
+    * Get the jdbcType.
+    * 
+    * @return the jdbcType.
+    */
+   public int getJdbcType()
+   {
+      return jdbcType;
+   }
+
+   /**
+    * Set the jdbcType.
+    * 
+    * @param jdbcType The jdbcType to set.
+    */
+   @XmlJavaTypeAdapter(value = JDBCTypeAdapter.class)
+   public void setJdbcType(int jdbcType)
+   {
+      this.jdbcType = jdbcType;
+   }
+   
+   /**
+    * Get the keyGeneratorFactory.
+    * 
+    * @return the keyGeneratorFactory.
+    */
+   public String getKeyGeneratorFactory()
+   {
+      return keyGeneratorFactory;
+   }
+
+   /**
+    * Set the keyGeneratorFactory.
+    * 
+    * @param keyGeneratorFactory The keyGeneratorFactory to set.
+    */
+   public void setKeyGeneratorFactory(String keyGeneratorFactory)
+   {
+      this.keyGeneratorFactory = keyGeneratorFactory;
+   }
+
+   /**
+    * Get the modifiedStrategy.
+    * 
+    * @return the modifiedStrategy.
+    */
+   public boolean isModifiedStrategy()
+   {
+      return modifiedStrategy;
+   }
+
+   /**
+    * Set the modifiedStrategy.
+    * 
+    * @param modifiedStrategy The modifiedStrategy to set.
+    */
+   @XmlJavaTypeAdapter(value = EmptyElementToBooleanAdapter.class)
+   public void setModifiedStrategy(boolean modifiedStrategy)
+   {
+      this.modifiedStrategy = modifiedStrategy;
+   }
+
+   /**
+    * Get the readStrategy.
+    * 
+    * @return the readStrategy.
+    */
+   public boolean isReadStrategy()
+   {
+      return readStrategy;
+   }
+
+   /**
+    * Set the readStrategy.
+    * 
+    * @param readStrategy The readStrategy to set.
+    */
+   @XmlJavaTypeAdapter(value = EmptyElementToBooleanAdapter.class)
+   public void setReadStrategy(boolean readStrategy)
+   {
+      this.readStrategy = readStrategy;
+   }
+
+   /**
+    * Get the sqlType.
+    * 
+    * @return the sqlType.
+    */   
+   public String getSqlType()
+   {
+      return sqlType;
+   }
+   
+   /**
+    * Set the sqlType.
+    * 
+    * @param sqlType The sqlType to set.
+    */
+   public void setSqlType(String sqlType)
+   {
+      this.sqlType = sqlType;
+   }
+
+   /**
+    * Get the timestampColumn.
+    * 
+    * @return the timestampColumn.
+    */
+   public boolean isTimestampColumn()
+   {
+      return timestampColumn;
+   }
+
+   /**
+    * Set the timestampColumn.
+    * 
+    * @param timestampColumn The timestampColumn to set.
+    */
+   @XmlJavaTypeAdapter(value = EmptyElementToBooleanAdapter.class)   
+   public void setTimestampColumn(boolean timestampColumn)
+   {
+      this.timestampColumn = timestampColumn;
+   }
+
+   /**
+    * Get the versionColumn.
+    * 
+    * @return the versionColumn.
+    */
+   public boolean isVersionColumn()
+   {
+      return versionColumn;
+   }
+
+   /**
+    * Set the versionColumn.
+    * 
+    * @param versionColumn The versionColumn to set.
+    */
+   @XmlJavaTypeAdapter(value = EmptyElementToBooleanAdapter.class)   
+   public void setVersionColumn(boolean versionColumn)
+   {
+      this.versionColumn = versionColumn;
+   }
 }

Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPPropertyMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPPropertyMetaData.java	2007-08-28 10:59:48 UTC (rev 2518)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPPropertyMetaData.java	2007-08-29 12:54:40 UTC (rev 2519)
@@ -21,6 +21,14 @@
  */
 package org.jboss.ejb.metadata.jboss.cmp;
 
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * A JBossCMPPropertyMetaData.
+ * 
+ * @author <a href="alex at jboss.com">Alexey Loubyansky</a>
+ * @version $Revision: 1.1 $
+ */
 public class JBossCMPPropertyMetaData
 {
    private String propertyName;
@@ -28,4 +36,105 @@
    private boolean notNull;
    private int jdbcType;
    private String sqlType;
+   
+   /**
+    * Get the columnName.
+    * 
+    * @return the columnName.
+    */   
+   public String getColumnName()
+   {
+      return columnName;
+   }
+   
+   /**
+    * Set the columnName.
+    * 
+    * @param columnName The columnName to set.
+    */
+   public void setColumnName(String columnName)
+   {
+      this.columnName = columnName;
+   }
+   
+   /**
+    * Get the jdbcType.
+    * 
+    * @return the jdbcType.
+    */
+   public int getJdbcType()
+   {
+      return jdbcType;
+   }
+
+   /**
+    * Set the jdbcType.
+    * 
+    * @param jdbcType The jdbcType to set.
+    */
+   @XmlJavaTypeAdapter(value=JDBCTypeAdapter.class)
+   public void setJdbcType(int jdbcType)
+   {
+      this.jdbcType = jdbcType;
+   }
+
+   /**
+    * Get the notNull.
+    * 
+    * @return the notNull.
+    */
+   public boolean isNotNull()
+   {
+      return notNull;
+   }
+
+   /**
+    * Set the notNull.
+    * 
+    * @param notNull The notNull to set.
+    */
+   public void setNotNull(boolean notNull)
+   {
+      this.notNull = notNull;
+   }
+
+   /**
+    * Get the propertyName.
+    * 
+    * @return the propertyName.
+    */
+   public String getPropertyName()
+   {
+      return propertyName;
+   }
+
+   /**
+    * Set the propertyName.
+    * 
+    * @param propertyName The propertyName to set.
+    */
+   public void setPropertyName(String propertyName)
+   {
+      this.propertyName = propertyName;
+   }
+
+   /**
+    * Get the sqlType.
+    * 
+    * @return the sqlType.
+    */
+   public String getSqlType()
+   {
+      return sqlType;
+   }
+
+   /**
+    * Set the sqlType.
+    * 
+    * @param sqlType The sqlType to set.
+    */
+   public void setSqlType(String sqlType)
+   {
+      this.sqlType = sqlType;
+   }
 }
\ No newline at end of file

Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPQueryMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPQueryMetaData.java	2007-08-28 10:59:48 UTC (rev 2518)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPQueryMetaData.java	2007-08-29 12:54:40 UTC (rev 2519)
@@ -21,7 +21,9 @@
  */
 package org.jboss.ejb.metadata.jboss.cmp;
 
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
+
 /**
  * A JBossCMPQueryMetaData.
  * 
@@ -38,4 +40,166 @@
    private JBossCMPReadAheadMetaData readAhead;
    private String qlCompiler;
    private boolean lazyResultsetLoading;
+   
+   /**
+    * Get the declaredSql.
+    * 
+    * @return the declaredSql.
+    */   
+   public JBossCMPDeclaredSqlMetaData getDeclaredSql()
+   {
+      return declaredSql;
+   }
+   /**
+    * Set the declaredSql.
+    * 
+    * @param declaredSql The declaredSql to set.
+    */
+   
+   public void setDeclaredSql(JBossCMPDeclaredSqlMetaData declaredSql)
+   {
+      this.declaredSql = declaredSql;
+   }
+   
+   /**
+    * Get the description.
+    * 
+    * @return the description.
+    */   
+   public String getDescription()
+   {
+      return description;
+   }
+   
+   /**
+    * Set the description.
+    * 
+    * @param description The description to set.
+    */   
+   public void setDescription(String description)
+   {
+      this.description = description;
+   }
+   
+   /**
+    * Get the dynamicQl.
+    * 
+    * @return the dynamicQl.
+    */
+   public boolean isDynamicQl()
+   {
+      return dynamicQl;
+   }
+   
+   /**
+    * Set the dynamicQl.
+    * 
+    * @param dynamicQl The dynamicQl to set.
+    */
+   @XmlJavaTypeAdapter(value = EmptyElementToBooleanAdapter.class)
+   public void setDynamicQl(boolean dynamicQl)
+   {
+      this.dynamicQl = dynamicQl;
+   }
+   
+   /**
+    * Get the jbossQl.
+    * 
+    * @return the jbossQl.
+    */   
+   public String getJBossQl()
+   {
+      return jbossQl;
+   }
+   
+   /**
+    * Set the jbossQl.
+    * 
+    * @param jbossQl The jbossQl to set.
+    */   
+   public void setJBossQl(String jbossQl)
+   {
+      this.jbossQl = jbossQl;
+   }
+   
+   /**
+    * Get the lazyResultsetLoading.
+    * 
+    * @return the lazyResultsetLoading.
+    */
+   
+   public boolean isLazyResultsetLoading()
+   {
+      return lazyResultsetLoading;
+   }
+   /**
+    * Set the lazyResultsetLoading.
+    * 
+    * @param lazyResultsetLoading The lazyResultsetLoading to set.
+    */
+   
+   public void setLazyResultsetLoading(boolean lazyResultsetLoading)
+   {
+      this.lazyResultsetLoading = lazyResultsetLoading;
+   }
+   /**
+    * Get the qlCompiler.
+    * 
+    * @return the qlCompiler.
+    */
+   
+   public String getQlCompiler()
+   {
+      return qlCompiler;
+   }
+   /**
+    * Set the qlCompiler.
+    * 
+    * @param qlCompiler The qlCompiler to set.
+    */
+   
+   public void setQlCompiler(String qlCompiler)
+   {
+      this.qlCompiler = qlCompiler;
+   }
+   /**
+    * Get the queryMethod.
+    * 
+    * @return the queryMethod.
+    */
+   
+   public JBossCMPQueryMethodMetaData getQueryMethod()
+   {
+      return queryMethod;
+   }
+   /**
+    * Set the queryMethod.
+    * 
+    * @param queryMethod The queryMethod to set.
+    */
+   
+   public void setQueryMethod(JBossCMPQueryMethodMetaData queryMethod)
+   {
+      this.queryMethod = queryMethod;
+   }
+   /**
+    * Get the readAhead.
+    * 
+    * @return the readAhead.
+    */
+   
+   public JBossCMPReadAheadMetaData getReadAhead()
+   {
+      return readAhead;
+   }
+   /**
+    * Set the readAhead.
+    * 
+    * @param readAhead The readAhead to set.
+    */
+   
+   public void setReadAhead(JBossCMPReadAheadMetaData readAhead)
+   {
+      this.readAhead = readAhead;
+   }
 }

Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPQueryMethodMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPQueryMethodMetaData.java	2007-08-28 10:59:48 UTC (rev 2518)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPQueryMethodMetaData.java	2007-08-29 12:54:40 UTC (rev 2519)
@@ -23,7 +23,10 @@
 
 import java.util.List;
 
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
 
+
 /**
  * A JBossCMPQueryMethodMetaData.
  * 
@@ -34,4 +37,46 @@
 {
    private String methodName;
    private List<String> methodParams;
+   
+   /**
+    * Get the methodName.
+    * 
+    * @return the methodName.
+    */
+   public String getMethodName()
+   {
+      return methodName;
+   }
+   
+   /**
+    * Set the methodName.
+    * 
+    * @param methodName The methodName to set.
+    */
+   public void setMethodName(String methodName)
+   {
+      this.methodName = methodName;
+   }
+
+   /**
+    * Get the methodParams.
+    * 
+    * @return the methodParams.
+    */
+   public List<String> getMethodParams()
+   {
+      return methodParams;
+   }
+
+   /**
+    * Set the methodParams.
+    * 
+    * @param methodParams The methodParams to set.
+    */
+   @XmlElementWrapper
+   @XmlElement(name="method-param")
+   public void setMethodParams(List<String> methodParams)
+   {
+      this.methodParams = methodParams;
+   }
 }

Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPUnknownPkMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPUnknownPkMetaData.java	2007-08-28 10:59:48 UTC (rev 2518)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/cmp/JBossCMPUnknownPkMetaData.java	2007-08-29 12:54:40 UTC (rev 2519)
@@ -47,21 +47,22 @@
     * 
     * @return the autoIncrement.
     */
-   
    public boolean isAutoIncrement()
    {
       return autoIncrement;
    }
+   
    /**
     * Set the autoIncrement.
     * 
     * @param autoIncrement The autoIncrement to set.
     */
-   
+   @XmlJavaTypeAdapter(value = EmptyElementToBooleanAdapter.class)
    public void setAutoIncrement(boolean autoIncrement)
    {
       this.autoIncrement = autoIncrement;
    }
+   
    /**
     * Get the columnName.
     * 

Modified: jbossxb-builder/trunk/src/test/java/org/jboss/test/ejb/metadata/test/JBossCMPUnitTestCase.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/test/ejb/metadata/test/JBossCMPUnitTestCase.java	2007-08-28 10:59:48 UTC (rev 2518)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/test/ejb/metadata/test/JBossCMPUnitTestCase.java	2007-08-29 12:54:40 UTC (rev 2519)
@@ -26,15 +26,25 @@
 
 import junit.framework.Test;
 
+import org.jboss.ejb.metadata.jboss.cmp.JBossCMPAuditMetaData;
+import org.jboss.ejb.metadata.jboss.cmp.JBossCMPCMPFieldMetaData;
+import org.jboss.ejb.metadata.jboss.cmp.JBossCMPDeclaredSqlMetaData;
 import org.jboss.ejb.metadata.jboss.cmp.JBossCMPDefaultsMetaData;
 import org.jboss.ejb.metadata.jboss.cmp.JBossCMPEnterpriseBeansMetaData;
 import org.jboss.ejb.metadata.jboss.cmp.JBossCMPEntityBeanMetaData;
 import org.jboss.ejb.metadata.jboss.cmp.JBossCMPEntityCommandMetaData;
+import org.jboss.ejb.metadata.jboss.cmp.JBossCMPLoadGroupMetaData;
 import org.jboss.ejb.metadata.jboss.cmp.JBossCMPMetaData;
+import org.jboss.ejb.metadata.jboss.cmp.JBossCMPOptimisticLockingMetaData;
 import org.jboss.ejb.metadata.jboss.cmp.JBossCMPPreferredRelationMapping;
+import org.jboss.ejb.metadata.jboss.cmp.JBossCMPPropertyMetaData;
+import org.jboss.ejb.metadata.jboss.cmp.JBossCMPQueryMetaData;
+import org.jboss.ejb.metadata.jboss.cmp.JBossCMPQueryMethodMetaData;
 import org.jboss.ejb.metadata.jboss.cmp.JBossCMPReadAheadMetaData;
 import org.jboss.ejb.metadata.jboss.cmp.JBossCMPTypeMappingMetaData;
 import org.jboss.ejb.metadata.jboss.cmp.JBossCMPUnknownPkMetaData;
+import org.jboss.ejb.metadata.jboss.cmp.JBossCMPAuditMetaData.Field;
+import org.jboss.ejb.metadata.jboss.cmp.JBossCMPDeclaredSqlMetaData.Select;
 import org.jboss.test.ejb.AbstractEJBEverythingTest;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
 
@@ -360,5 +370,282 @@
       assertEquals(1000, entity.getReadTimeOut());
       assertTrue(entity.isRowLocking());
       assertTrue(entity.isPkConstraint());
+      
+      JBossCMPReadAheadMetaData readAhead = entity.getReadAhead();
+      assertNotNull(readAhead);
+      assertEquals("none", readAhead.getStrategy());
+      assertEquals(11, readAhead.getPageSize());
+      assertEquals("eager-group", readAhead.getEagerLoadGroup());
+      
+      assertEquals(17, entity.getListCacheMax());
+      assertTrue(entity.isCleanReadAheadOnLoad());
+      assertEquals(21, entity.getFetchSize());
+      assertEquals("entity2Table", entity.getTableName());
+      
+      //
+      // cmp-fields
+      //
+      List<JBossCMPCMPFieldMetaData> cmpFields = entity.getCmpFields();
+      assertNotNull(cmpFields);
+      assertEquals(3, cmpFields.size());
+      
+      JBossCMPCMPFieldMetaData field = cmpFields.get(0);
+      assertNotNull(field);
+      assertEquals("id", field.getFieldName());
+      assertFalse(field.isReadOnly());
+      assertEquals(0, field.getReadTimeOut());
+      assertNull(field.getColumnName());
+      assertFalse(field.isNotNull());
+      assertEquals(0, field.getJdbcType());
+      assertNull(field.getSqlType());
+      assertNull(field.getProperties());
+      assertFalse(field.isAutoIncrement());
+      assertFalse(field.isDbindex());
+      assertFalse(field.isCheckDirtyAfterGet());
+      assertNull(field.getStateFactory());
+
+      field = cmpFields.get(1);
+      assertNotNull(field);
+      assertEquals("name", field.getFieldName());
+      assertTrue(field.isReadOnly());
+      assertEquals(1111, field.getReadTimeOut());
+      assertEquals("name_column", field.getColumnName());
+      assertTrue(field.isNotNull());
+      assertEquals(Types.VARCHAR, field.getJdbcType());
+      assertEquals("VARCHAR(111)", field.getSqlType());
+      assertNull(field.getProperties());
+      assertTrue(field.isAutoIncrement());
+      assertTrue(field.isDbindex());
+      assertTrue(field.isCheckDirtyAfterGet());
+      assertEquals("entity2.StateFactory", field.getStateFactory());
+
+      field = cmpFields.get(2);
+      assertNotNull(field);
+      assertEquals("address", field.getFieldName());
+      assertFalse(field.isReadOnly());
+      assertEquals(0, field.getReadTimeOut());
+      assertNull(field.getColumnName());
+      assertFalse(field.isNotNull());
+      assertEquals(0, field.getJdbcType());
+      assertNull(field.getSqlType());
+      assertFalse(field.isAutoIncrement());
+      assertFalse(field.isDbindex());
+      assertFalse(field.isCheckDirtyAfterGet());
+      assertNull(field.getStateFactory());
+      
+      List<JBossCMPPropertyMetaData> props = field.getProperties();
+      assertNotNull(props);
+      assertEquals(2, props.size());
+      JBossCMPPropertyMetaData fieldProp = props.get(0);
+      assertNotNull(fieldProp);
+      assertEquals("street", fieldProp.getPropertyName());
+      assertNull(fieldProp.getColumnName());
+      assertFalse(fieldProp.isNotNull());
+      assertEquals(0, fieldProp.getJdbcType());
+      assertNull(fieldProp.getSqlType());
+
+      fieldProp = props.get(1);
+      assertNotNull(fieldProp);
+      assertEquals("city", fieldProp.getPropertyName());
+      assertEquals("city_column", fieldProp.getColumnName());
+      assertTrue(fieldProp.isNotNull());
+      assertEquals(Types.INTEGER, fieldProp.getJdbcType());
+      assertEquals("NUMERIC(222)", fieldProp.getSqlType());
+      
+      //
+      // load-groups
+      //
+      List<JBossCMPLoadGroupMetaData> loadGroups = entity.getLoadGroups();
+      assertNotNull(loadGroups);
+      assertEquals(2, loadGroups.size());
+      JBossCMPLoadGroupMetaData loadGroup = loadGroups.get(0);
+      assertNotNull(loadGroup);
+      assertNull(loadGroup.getDescription());
+      assertEquals("basic", loadGroup.getLoadGroupName());
+      List<String> fieldNames = loadGroup.getFieldNames();
+      assertNotNull(fieldNames);
+      assertEquals(1, fieldNames.size());
+      assertEquals("name", fieldNames.get(0));
+      
+      loadGroup = loadGroups.get(1);
+      assertNotNull(loadGroup);
+      assertEquals("jboss group", loadGroup.getDescription());
+      assertEquals("eager-group", loadGroup.getLoadGroupName());
+      fieldNames = loadGroup.getFieldNames();
+      assertNotNull(fieldNames);
+      assertEquals(2, fieldNames.size());
+      assertEquals("name", fieldNames.get(0));
+      assertEquals("address", fieldNames.get(1));
+      
+      assertEquals("basic", entity.getEagerLoadGroup());
+      
+      List<String> lazyLoadGroups = entity.getLazyLoadGroups();
+      assertNotNull(lazyLoadGroups);
+      assertEquals(2, lazyLoadGroups.size());
+      assertEquals("group1", lazyLoadGroups.get(0));
+      assertEquals("group2", lazyLoadGroups.get(1));
+      
+      //
+      // query
+      //
+      List<JBossCMPQueryMetaData> queries = entity.getQueries();
+      assertNotNull(queries);
+      assertEquals(4, queries.size());
+      JBossCMPQueryMetaData query = queries.get(0);
+      assertNotNull(query);
+      assertEquals("finder", query.getDescription());
+      JBossCMPQueryMethodMetaData queryMethod = query.getQueryMethod();
+      assertNotNull(queryMethod);
+      assertEquals("findByWhatever", queryMethod.getMethodName());
+      List<String> methodParams = queryMethod.getMethodParams();
+      assertNotNull(methodParams);
+      assertEquals(2, methodParams.size());
+      assertEquals("java.lang.String", methodParams.get(0));
+      assertEquals("java.lang.Integer", methodParams.get(1));
+      assertEquals("select object(o) from entity2", query.getJBossQl());
+      assertNull(query.getDeclaredSql());
+      assertFalse(query.isDynamicQl());
+      readAhead = query.getReadAhead();
+      assertNotNull(readAhead);
+      assertEquals("on-load", readAhead.getStrategy());
+      assertEquals(22, readAhead.getPageSize());
+      assertEquals("eager-group", readAhead.getEagerLoadGroup());
+      assertEquals("entity.QLCompiler", query.getQlCompiler());
+      assertTrue(query.isLazyResultsetLoading());
+
+      query = queries.get(1);
+      assertNotNull(query);
+      assertNull(query.getDescription());
+      queryMethod = query.getQueryMethod();
+      assertNotNull(queryMethod);
+      assertEquals("findByAllMeans", queryMethod.getMethodName());
+      assertNull(queryMethod.getMethodParams());
+      assertTrue(query.isDynamicQl());
+      assertNull(query.getJBossQl());
+      assertNull(query.getDeclaredSql());
+      assertNull(query.getReadAhead());
+      assertNull(query.getQlCompiler());
+      assertFalse(query.isLazyResultsetLoading());
+
+      query = queries.get(2);
+      assertNotNull(query);
+      assertNull(query.getDescription());
+      queryMethod = query.getQueryMethod();
+      assertNotNull(queryMethod);
+      assertEquals("findByDeclaredSql1", queryMethod.getMethodName());
+      assertNull(queryMethod.getMethodParams());
+      assertNull(query.getJBossQl());
+      assertFalse(query.isDynamicQl());
+      assertNull(query.getReadAhead());
+      assertNull(query.getQlCompiler());
+      assertFalse(query.isLazyResultsetLoading());
+      JBossCMPDeclaredSqlMetaData declaredSql = query.getDeclaredSql();
+      assertNotNull(declaredSql);
+      Select select = declaredSql.getSelect();
+      assertNotNull(select);
+      assertTrue(select.isDistinct());
+      assertEquals("entity2EjbName", select.getEjbName());
+      assertEquals("name", select.getFieldName());
+      assertEquals("entity2Alias", select.getAlias());
+      assertEquals(", address", select.getAdditionalColumns());
+      assertEquals(",  entity1 entity1Alias", declaredSql.getFrom());
+      assertEquals("entity2Alias.city={0} OR entity2Alias.street={1}", declaredSql.getWhere());
+      assertEquals("entity2Alias.name", declaredSql.getOrder());
+      assertEquals("limit 11 offset 111", declaredSql.getOther());
+
+      query = queries.get(3);
+      assertNotNull(query);
+      assertNull(query.getDescription());
+      queryMethod = query.getQueryMethod();
+      assertNotNull(queryMethod);
+      assertEquals("findByDeclaredSql2", queryMethod.getMethodName());
+      assertNull(queryMethod.getMethodParams());
+      assertNull(query.getJBossQl());
+      assertFalse(query.isDynamicQl());
+      assertNull(query.getReadAhead());
+      assertNull(query.getQlCompiler());
+      assertFalse(query.isLazyResultsetLoading());
+      declaredSql = query.getDeclaredSql();
+      assertNotNull(declaredSql);
+      select = declaredSql.getSelect();
+      assertNotNull(select);
+      assertFalse(select.isDistinct());
+      assertEquals("entity2EjbName", select.getEjbName());
+      assertNull(select.getFieldName());
+      assertNull(select.getAlias());
+      assertNull(select.getAdditionalColumns());
+      assertNull(declaredSql.getFrom());
+      assertEquals("entity2Alias.name='kloop'", declaredSql.getWhere());
+      assertNull(declaredSql.getOrder());
+      assertNull(declaredSql.getOther());
+      
+      //
+      // unknown-pk
+      //
+      JBossCMPUnknownPkMetaData unknownPk = entity.getUnknownPk();
+      assertNotNull(unknownPk);
+      assertEquals("entity2.KeyFactory", unknownPk.getKeyGeneratorFactory());
+      assertEquals("java.lang.Long", unknownPk.getUnknownPkClass());
+      assertEquals("hiddenId", unknownPk.getFieldName());
+      assertEquals("hidden_id", unknownPk.getColumnName());
+      assertEquals(Types.INTEGER, unknownPk.getJdbcType());
+      assertEquals("NUMERIC(1111)", unknownPk.getSqlType());
+      assertTrue(unknownPk.isAutoIncrement());
+      
+      //
+      // entity-command
+      //
+      JBossCMPEntityCommandMetaData entityCommand = entity.getEntityCommand();
+      assertNotNull(entityCommand);
+      assertEquals("entity2Command", entityCommand.getName());
+      assertNull(entityCommand.getClassName());
+      assertFalse(entityCommand.hasAttributes());
+      
+      //
+      // optimistic-locking
+      //
+      JBossCMPOptimisticLockingMetaData optimisticLocking = entity.getOptimisticLocking();
+      assertNotNull(optimisticLocking);
+      assertNull(optimisticLocking.getGroupName());
+      assertFalse(optimisticLocking.isModifiedStrategy());
+      assertFalse(optimisticLocking.isReadStrategy());
+      assertTrue(optimisticLocking.isVersionColumn());
+      assertFalse(optimisticLocking.isTimestampColumn());
+      assertNull(optimisticLocking.getKeyGeneratorFactory());
+      assertNull(optimisticLocking.getFieldType());
+      assertEquals("version", optimisticLocking.getFieldName());
+      assertEquals("vrsn", optimisticLocking.getColumnName());
+      assertEquals(Types.INTEGER, optimisticLocking.getJdbcType());
+      assertEquals("NUMERIC", optimisticLocking.getSqlType());
+      
+      //
+      // audit
+      //
+      JBossCMPAuditMetaData audit = entity.getAudit();
+      assertNotNull(audit);
+      Field auditField = audit.getCreatedBy();
+      assertNotNull(auditField);
+      assertEquals("createdBy", auditField.getFieldName());
+      assertNull(auditField.getColumnName());
+      assertEquals(0, auditField.getJdbcType());
+      assertNull(auditField.getSqlType());
+      auditField = audit.getCreatedTime();
+      assertNotNull(auditField);
+      assertNull(auditField.getFieldName());
+      assertEquals("created_time", auditField.getColumnName());
+      assertEquals(0, auditField.getJdbcType());
+      assertNull(auditField.getSqlType());
+      auditField = audit.getUpdatedBy();
+      assertNotNull(auditField);
+      assertEquals("updatedBy", auditField.getFieldName());
+      assertEquals("updated_by", auditField.getColumnName());
+      assertEquals(0, auditField.getJdbcType());
+      assertNull(auditField.getSqlType());
+      auditField = audit.getUpdatedTime();
+      assertNotNull(auditField);
+      assertEquals("updatedTime", auditField.getFieldName());
+      assertEquals("updated_time", auditField.getColumnName());
+      assertEquals(Types.TIMESTAMP, auditField.getJdbcType());
+      assertEquals("TIMESTAMP(111)", auditField.getSqlType());
    }
 }

Modified: jbossxb-builder/trunk/src/test/resources/org/jboss/test/ejb/metadata/test/JBossCMP_testEnterpriseBeans.xml
===================================================================
--- jbossxb-builder/trunk/src/test/resources/org/jboss/test/ejb/metadata/test/JBossCMP_testEnterpriseBeans.xml	2007-08-28 10:59:48 UTC (rev 2518)
+++ jbossxb-builder/trunk/src/test/resources/org/jboss/test/ejb/metadata/test/JBossCMP_testEnterpriseBeans.xml	2007-08-29 12:54:40 UTC (rev 2519)
@@ -27,6 +27,162 @@
          <read-time-out>1000</read-time-out>
          <row-locking>true</row-locking>
          <pk-constraint>true</pk-constraint>
+
+         <read-ahead>
+            <strategy>none</strategy>
+            <page-size>11</page-size>
+            <eager-load-group>eager-group</eager-load-group>
+         </read-ahead>
+
+         <list-cache-max>17</list-cache-max>
+         <clean-read-ahead-on-load>true</clean-read-ahead-on-load>
+         <fetch-size>21</fetch-size>
+
+         <table-name>entity2Table</table-name>
+         <cmp-field>
+            <field-name>id</field-name>
+         </cmp-field>
+         <cmp-field>
+            <field-name>name</field-name>
+            <read-only>true</read-only>
+            <read-time-out>1111</read-time-out>
+            <column-name>name_column</column-name>
+            <not-null>true</not-null>
+            <jdbc-type>VARCHAR</jdbc-type>
+            <sql-type>VARCHAR(111)</sql-type>
+            <auto-increment/>
+            <dbindex/>
+            <check-dirty-after-get>true</check-dirty-after-get>
+            <state-factory>entity2.StateFactory</state-factory>
+         </cmp-field>
+         <cmp-field>
+            <field-name>address</field-name>
+            <read-only>false</read-only>
+            <property>
+               <property-name>street</property-name>
+            </property>
+            <property>
+               <property-name>city</property-name>
+               <column-name>city_column</column-name>
+               <not-null>true</not-null>
+               <jdbc-type>INTEGER</jdbc-type>
+               <sql-type>NUMERIC(222)</sql-type>
+            </property>
+         </cmp-field>
+
+         <load-groups>
+            <load-group>
+               <load-group-name>basic</load-group-name>
+               <field-name>name</field-name>
+            </load-group>
+            <load-group>
+               <description>jboss group</description>
+               <load-group-name>eager-group</load-group-name>
+               <field-name>name</field-name>
+               <field-name>address</field-name>
+            </load-group>
+         </load-groups>
+         <eager-load-group>basic</eager-load-group>
+         <lazy-load-groups>
+           <load-group-name>group1</load-group-name>
+           <load-group-name>group2</load-group-name>
+         </lazy-load-groups>
+
+         <query>
+            <description>finder</description>
+            <query-method>
+               <method-name>findByWhatever</method-name>
+               <method-params>
+                  <method-param>java.lang.String</method-param>
+                  <method-param>java.lang.Integer</method-param>
+               </method-params>
+            </query-method>
+            <jboss-ql>select object(o) from entity2</jboss-ql>
+            <read-ahead>
+               <strategy>on-load</strategy>
+               <page-size>22</page-size>
+               <eager-load-group>eager-group</eager-load-group>
+            </read-ahead>
+            <ql-compiler>entity.QLCompiler</ql-compiler>
+            <lazy-resultset-loading>true</lazy-resultset-loading>
+         </query>
+         <query>
+            <query-method>
+               <method-name>findByAllMeans</method-name>
+               <method-params/>
+            </query-method>
+            <dynamic-ql/>
+         </query>
+         <query>
+            <query-method>
+               <method-name>findByDeclaredSql1</method-name>
+               <method-params/>
+            </query-method>
+            <declared-sql>
+               <select>
+                  <distinct/>
+                  <ejb-name>entity2EjbName</ejb-name>
+                  <field-name>name</field-name>
+                  <alias>entity2Alias</alias>
+                  <additional-columns>, address</additional-columns>
+               </select>
+               <from>,  entity1 entity1Alias</from>
+               <where>entity2Alias.city={0} OR entity2Alias.street={1}</where>
+               <order>entity2Alias.name</order>
+               <other>limit 11 offset 111</other>
+            </declared-sql>
+         </query>
+         <query>
+            <query-method>
+               <method-name>findByDeclaredSql2</method-name>
+               <method-params/>
+            </query-method>
+            <declared-sql>
+               <select>
+                  <ejb-name>entity2EjbName</ejb-name>
+               </select>
+               <where>entity2Alias.name='kloop'</where>
+            </declared-sql>
+         </query>
+
+         <unknown-pk>
+            <key-generator-factory>entity2.KeyFactory</key-generator-factory>
+            <unknown-pk-class>java.lang.Long</unknown-pk-class>
+            <field-name>hiddenId</field-name>
+            <column-name>hidden_id</column-name>
+            <jdbc-type>INTEGER</jdbc-type>
+            <sql-type>NUMERIC(1111)</sql-type>
+            <auto-increment/>
+         </unknown-pk>
+
+         <entity-command name="entity2Command"/>
+
+         <optimistic-locking>
+            <version-column/>
+            <field-name>version</field-name>
+            <column-name>vrsn</column-name>
+            <jdbc-type>INTEGER</jdbc-type>
+            <sql-type>NUMERIC</sql-type>
+         </optimistic-locking>
+
+         <audit>
+            <created-by>
+               <field-name>createdBy</field-name>
+            </created-by>
+            <created-time>
+               <column-name>created_time</column-name>
+            </created-time>
+            <updated-by>
+               <field-name>updatedBy</field-name>
+               <column-name>updated_by</column-name>
+            </updated-by>
+            <updated-time>
+               <field-name>updatedTime</field-name>
+               <column-name>updated_time</column-name>
+               <jdbc-type>TIMESTAMP</jdbc-type>
+               <sql-type>TIMESTAMP(111)</sql-type>
+            </updated-time>
+         </audit>
       </entity>
    </enterprise-beans>
 




More information about the jboss-svn-commits mailing list