[jboss-svn-commits] JBoss Common SVN: r2648 - in jbossxb/trunk/src/main/java/org/jboss/xb: builder and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Oct 24 13:27:14 EDT 2007
Author: alex.loubyansky at jboss.com
Date: 2007-10-24 13:27:14 -0400 (Wed, 24 Oct 2007)
New Revision: 2648
Modified:
jbossxb/trunk/src/main/java/org/jboss/xb/annotations/JBossXmlCollection.java
jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java
Log:
rollback introduction of JBossXmlCollection.elementType (XmlElement.type should be used instead) and related compensating fixes for the metadata project
Modified: jbossxb/trunk/src/main/java/org/jboss/xb/annotations/JBossXmlCollection.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/annotations/JBossXmlCollection.java 2007-10-24 00:22:40 UTC (rev 2647)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/annotations/JBossXmlCollection.java 2007-10-24 17:27:14 UTC (rev 2648)
@@ -41,5 +41,4 @@
public @interface JBossXmlCollection
{
Class<? extends java.util.Collection> type() default java.util.ArrayList.class;
- Class elementType() default java.lang.Void.class;
}
Modified: jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java 2007-10-24 00:22:40 UTC (rev 2647)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java 2007-10-24 17:27:14 UTC (rev 2648)
@@ -1194,16 +1194,28 @@
boolean isCol = false;
AbstractPropertyHandler memberPropertyHandler = null;
- if (memberTypeInfo.isCollection())
+ if(memberProp.getType().isCollection())
{
- memberPropertyHandler = new CollectionPropertyHandler(memberProp, memberTypeInfo);
+ memberPropertyHandler = new CollectionPropertyHandler(memberProp, memberProp.getType());
isCol = true;
- JBossXmlCollection xmlCol = memberProp.getUnderlyingAnnotation(JBossXmlCollection.class);
- if(xmlCol != null && xmlCol.elementType() != Void.class)
- memberTypeInfo = JBossXBBuilder.configuration.getTypeInfo(xmlCol.elementType());
- else
+ // if memberXmlElement is present then the collection item type is set explicitly
+ if(memberXmlElement == null || XmlElement.DEFAULT.class.equals(memberXmlElement.type()))
+ {
+ JBossXmlCollection jbossXmlCollection = memberProp.getUnderlyingAnnotation(JBossXmlCollection.class);
+ if(jbossXmlCollection != null)
+ {
+ memberTypeInfo = memberTypeInfo.getTypeInfoFactory().getTypeInfo(jbossXmlCollection.type());
+ }
memberTypeInfo = findComponentType((ClassInfo) memberTypeInfo);
+ }
}
+ // if it is bound with XmlElement.type to a collection
+ else if (memberTypeInfo.isCollection())
+ {
+ memberPropertyHandler = new CollectionPropertyHandler(memberProp, memberTypeInfo);
+ isCol = true;
+ memberTypeInfo = findComponentType((ClassInfo) memberTypeInfo);
+ }
else
{
memberPropertyHandler = new PropertyHandler(memberProp, memberTypeInfo);
@@ -1469,12 +1481,7 @@
{
isCol = true;
propertyHandler = new CollectionPropertyHandler(property, propertyType);
- ClassInfo typeArg = null;
- JBossXmlCollection xmlCol = property.getUnderlyingAnnotation(JBossXmlCollection.class);
- if(xmlCol != null && xmlCol.elementType() != Void.class)
- typeArg = (ClassInfo) JBossXBBuilder.configuration.getTypeInfo(xmlCol.elementType());
- else
- typeArg = (ClassInfo) findComponentType(property);
+ ClassInfo typeArg = (ClassInfo) findComponentType(property);
//if (((ClassInfo) typeArg).getUnderlyingAnnotation(XmlType.class) != null)
if (typeArg != null && typeArg.getUnderlyingAnnotation(JBossXmlModelGroup.class) == null)
More information about the jboss-svn-commits
mailing list