[jboss-svn-commits] JBoss Common SVN: r2474 - in jbossxb-builder/trunk/src: test/java/org/jboss/ejb/metadata/jboss and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Aug 1 12:41:05 EDT 2007
Author: alex.loubyansky at jboss.com
Date: 2007-08-01 12:41:05 -0400 (Wed, 01 Aug 2007)
New Revision: 2474
Modified:
jbossxb-builder/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java
jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/ContainerConfigurationsMetaData.java
jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/InvokerBindingsMetaData.java
jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/InvokerProxyBindingsMetaData.java
jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/JBossEnterpriseBeanMetaData.java
jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/JBossEnvironmentRefsGroupMetaData.java
jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/JBossMetaData.java
jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/LoaderRepositoryConfigMetaData.java
jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/MethodAttributesMetaData.java
jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/ResourceManagersMetaData.java
jbossxb-builder/trunk/src/test/java/org/jboss/javaee/metadata/support/IdMetaDataImpl.java
jbossxb-builder/trunk/src/test/java/org/jboss/test/ejb/metadata/test/JBoss5xEverythingUnitTestCase.java
Log:
fixed parsing of the jboss-specific DDs
Modified: jbossxb-builder/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java
===================================================================
--- jbossxb-builder/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java 2007-07-31 15:29:20 UTC (rev 2473)
+++ jbossxb-builder/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java 2007-08-01 16:41:05 UTC (rev 2474)
@@ -21,6 +21,10 @@
*/
package org.jboss.xb.builder;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.lang.reflect.TypeVariable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -948,13 +952,14 @@
if(typeInfo.isCollection())
{
+ TypeInfo memberBaseType = findComponentType(typeInfo);
// if the type is a parameterized collection then
// bind its members as items
TypeInfo gs = typeInfo.getGenericSuperclass();
if (gs instanceof ParameterizedClassInfo)
{
- ParameterizedClassInfo pti = (ParameterizedClassInfo) gs;
- TypeInfo memberBaseType = pti.getActualTypeArguments()[0];
+ //ParameterizedClassInfo pti = (ParameterizedClassInfo) gs;
+ //TypeInfo memberBaseType = pti.getActualTypeArguments()[0];
JBossXmlModelGroup xmlModelGroup = ((ClassInfo) memberBaseType)
.getUnderlyingAnnotation(JBossXmlModelGroup.class);
@@ -979,7 +984,8 @@
if(memberTypeInfo.isCollection())
{
// TODO here we should properly identify the type of the item (based on a testcase)
- memberTypeInfo = pti.getActualTypeArguments()[0];
+ //memberTypeInfo = pti.getActualTypeArguments()[0];
+ memberTypeInfo = findComponentType((ClassInfo)memberTypeInfo);
isCol = true;
}
@@ -1141,12 +1147,9 @@
AbstractPropertyHandler memberPropertyHandler = null;
if(memberTypeInfo.isCollection())
{
- // TODO here we should properly identify the type of the item (based on a testcase)
- TypeInfo gs = ((ClassInfo)memberTypeInfo).getGenericSuperclass();
- ParameterizedClassInfo pti = (ParameterizedClassInfo) gs;
memberPropertyHandler = new CollectionPropertyHandler(memberProp, memberTypeInfo);
- memberTypeInfo = pti.getActualTypeArguments()[0];
isCol = true;
+ memberTypeInfo = findComponentType((ClassInfo)memberTypeInfo);
}
else
{
@@ -1344,20 +1347,8 @@
{
isCol = true;
propertyHandler = new CollectionPropertyHandler(property, propertyType);
-
- ClassInfo typeArg = null;
- // parametrized collection
- if(propertyType instanceof ParameterizedClassInfo)
- {
- ParameterizedClassInfo pti = (ParameterizedClassInfo) propertyType;
- typeArg = (ClassInfo) pti.getActualTypeArguments()[0];
- }
- else if(((ClassInfo) propertyType).getGenericSuperclass() instanceof ParameterizedClassInfo)
- {
- ParameterizedClassInfo pti = (ParameterizedClassInfo) ((ClassInfo) propertyType).getGenericSuperclass();
- typeArg = (ClassInfo) pti.getActualTypeArguments()[0];
- }
-
+ ClassInfo typeArg = (ClassInfo) findComponentType(property);
+
//if (((ClassInfo) typeArg).getUnderlyingAnnotation(XmlType.class) != null)
if (typeArg != null && typeArg.getUnderlyingAnnotation(JBossXmlModelGroup.class) == null)
{// it may be a model group in which case we don't want to change the type
@@ -1376,17 +1367,24 @@
{
propertyHandler = new CollectionPropertyHandler(property, localPropertyType);
isCol = true;
- TypeInfo gs = ((ClassInfo) localPropertyType).getGenericSuperclass();
- if (gs instanceof ParameterizedClassInfo)
- {
- ParameterizedClassInfo pti = (ParameterizedClassInfo) gs;
- ClassInfo typeArg = (ClassInfo) pti.getActualTypeArguments()[0];
- //if (((ClassInfo) typeArg).getUnderlyingAnnotation(XmlType.class) != null)
- if (typeArg.getUnderlyingAnnotation(JBossXmlModelGroup.class) == null)
- {// it may be a model group in which case we don't want to change the type
- localPropertyType = typeArg;
- }
- }
+ localPropertyType = findComponentType((ClassInfo)localPropertyType);
+
+// TypeInfo gs = ((ClassInfo) localPropertyType).getGenericSuperclass();
+// if (gs instanceof ParameterizedClassInfo)
+// {
+// ParameterizedClassInfo pti = (ParameterizedClassInfo) gs;
+// ClassInfo typeArg = (ClassInfo) pti.getActualTypeArguments()[0];
+// //if (((ClassInfo) typeArg).getUnderlyingAnnotation(XmlType.class) != null)
+// if (typeArg.getUnderlyingAnnotation(JBossXmlModelGroup.class) == null)
+// {// it may be a model group in which case we don't want to change the type
+// localPropertyType = typeArg;
+//
+// if(!type.equals(typeArg))
+// {
+// throw new IllegalStateException("Expected " + type + " but got " + typeArg.getName());
+// }
+// }
+// }
}
else
{
@@ -1466,15 +1464,7 @@
else if (wildcardType.isCollection())
{
localModel = createCollection(localModel);
- if (type instanceof ParameterizedClassInfo)
- {
- ParameterizedClassInfo pinfo = (ParameterizedClassInfo) type;
- type = pinfo.getActualTypeArguments()[0];
- }
- else
- {
- type = type.getTypeInfoFactory().getTypeInfo(Object.class);
- }
+ type = findComponentType(wildcardProperty);
if (trace)
log.trace("Wildcard " + wildcardProperty.getName() + " is a collection of type " + type.getName());
}
@@ -1692,4 +1682,120 @@
builder.append('.').append(joinpoint);
}
}
+
+ // the following is available in the latest org.jboss.reflect package
+ // but doesn't build at the moment...
+ private TypeInfo findComponentType(PropertyInfo prop)
+ {
+ return findActualType(prop, java.util.Collection.class, 0);
+ }
+
+ protected TypeInfo findComponentType(ClassInfo classInfo)
+ {
+ return findActualType(classInfo, classInfo.getType(), java.util.Collection.class, 0);
+ }
+
+ private TypeInfo findActualType(PropertyInfo property, Class reference, int parameter)
+ {
+ MethodInfo getter = property.getGetter();
+ if(getter == null)
+ {
+ throw new IllegalStateException("Expected a getter for " + property.getName() + " in " + property.getBeanInfo().getName());
+ }
+
+ Method m;
+ try
+ {
+ m = property.getBeanInfo().getClassInfo().getType().getMethod(getter.getName(), null);
+ }
+ catch (NoSuchMethodException e)
+ {
+ throw new IllegalStateException("Expected a getter for " + property.getName() + " in " + property.getBeanInfo().getName());
+ }
+
+ return findActualType((ClassInfo)property.getType(), m.getGenericReturnType(), reference, parameter);
+ }
+
+ protected TypeInfo findActualType(ClassInfo classInfo, Type genericType, Class reference, int parameter)
+ {
+ Type result = locateActualType(reference, parameter, classInfo.getType(), genericType);
+ if (result instanceof TypeVariable)
+ {
+ TypeVariable typeVariable = (TypeVariable) result;
+ result = typeVariable.getBounds()[0];
+ }
+
+ return classInfo.getTypeInfoFactory().getTypeInfo(result);
+ }
+
+ protected static Type locateActualType(Class reference, int parameter, Class clazz, Type type)
+ {
+ if (reference.equals(clazz))
+ {
+ if (type instanceof Class)
+ {
+ Class typeClass = (Class) type;
+ return typeClass.getTypeParameters()[parameter];
+ }
+ else
+ {
+ ParameterizedType parameterized = (ParameterizedType) type;
+ return parameterized.getActualTypeArguments()[parameter];
+ }
+ }
+
+ Type[] interfaces = clazz.getGenericInterfaces();
+ for (Type intf : interfaces)
+ {
+ Class interfaceClass;
+ if (intf instanceof Class)
+ {
+ interfaceClass = (Class) intf;
+ }
+ else if (intf instanceof ParameterizedType)
+ {
+ ParameterizedType interfaceType = (ParameterizedType) intf;
+ interfaceClass = (Class) interfaceType.getRawType();
+ }
+ else
+ throw new IllegalStateException("Unexpected type " + intf.getClass());
+
+ Type result = null;
+ if (reference.isAssignableFrom(interfaceClass))
+ {
+ result = locateActualType(reference, parameter, interfaceClass, intf);
+ if (result instanceof TypeVariable)
+ result = getParameter(clazz, type, (TypeVariable) result);
+ }
+
+ if (result != null)
+ return result;
+ }
+
+ Class superClass = clazz.getSuperclass();
+ Type genericSuperClass = clazz.getGenericSuperclass();
+ Type result = locateActualType(reference, parameter, superClass, genericSuperClass);
+ if (result instanceof TypeVariable)
+ result = getParameter(clazz, type, (TypeVariable) result);
+ return result;
+ }
+
+ private static Type getParameter(Class clazz, Type type, TypeVariable variable)
+ {
+ TypeVariable[] variables = clazz.getTypeParameters();
+ for (int i = 0; i < variables.length; ++i)
+ {
+ if (variables[i].getName().equals(variable.getName()))
+ {
+ if (type instanceof ParameterizedType)
+ {
+ ParameterizedType parameterized = (ParameterizedType) type;
+ return parameterized.getActualTypeArguments()[i];
+ }
+ return variable;
+ }
+ }
+ // Not generic
+ return Object.class;
+ }
}
Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/ContainerConfigurationsMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/ContainerConfigurationsMetaData.java 2007-07-31 15:29:20 UTC (rev 2473)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/ContainerConfigurationsMetaData.java 2007-08-01 16:41:05 UTC (rev 2474)
@@ -22,6 +22,8 @@
package org.jboss.ejb.metadata.jboss;
import org.jboss.javaee.metadata.support.MappedMetaDataWithDescriptions;
+import org.jboss.xb.annotations.JBossXmlChild;
+
import javax.xml.bind.annotation.XmlType;
/**
@@ -31,6 +33,7 @@
* @version $Revision: 1.1 $
*/
@XmlType(name="container-configurationsType")
+ at JBossXmlChild(name="container-configuration", type=ContainerConfigurationMetaData.class, unbounded=true)
public class ContainerConfigurationsMetaData extends MappedMetaDataWithDescriptions<ContainerConfigurationMetaData>
{
/** The serialVersionUID */
Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/InvokerBindingsMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/InvokerBindingsMetaData.java 2007-07-31 15:29:20 UTC (rev 2473)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/InvokerBindingsMetaData.java 2007-08-01 16:41:05 UTC (rev 2474)
@@ -22,6 +22,8 @@
package org.jboss.ejb.metadata.jboss;
import org.jboss.javaee.metadata.support.MappedMetaDataWithDescriptions;
+import org.jboss.xb.annotations.JBossXmlChild;
+
import javax.xml.bind.annotation.XmlType;
/**
@@ -31,6 +33,7 @@
* @version $Revision: 1.1 $
*/
@XmlType(name="invoker-bindingsType")
+ at JBossXmlChild(name="invoker", type=InvokerBindingMetaData.class, unbounded=true)
public class InvokerBindingsMetaData extends MappedMetaDataWithDescriptions<InvokerBindingMetaData>
{
/** The serialVersionUID */
Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/InvokerProxyBindingsMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/InvokerProxyBindingsMetaData.java 2007-07-31 15:29:20 UTC (rev 2473)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/InvokerProxyBindingsMetaData.java 2007-08-01 16:41:05 UTC (rev 2474)
@@ -22,6 +22,8 @@
package org.jboss.ejb.metadata.jboss;
import org.jboss.javaee.metadata.support.MappedMetaDataWithDescriptions;
+import org.jboss.xb.annotations.JBossXmlChild;
+
import javax.xml.bind.annotation.XmlType;
/**
@@ -31,6 +33,7 @@
* @version $Revision: 1.1 $
*/
@XmlType(name="invoker-proxy-bindingsType")
+ at JBossXmlChild(name="invoker-proxy-binding", type=InvokerProxyBindingMetaData.class, unbounded=true)
public class InvokerProxyBindingsMetaData extends MappedMetaDataWithDescriptions<InvokerProxyBindingMetaData>
{
/** The serialVersionUID */
Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/JBossEnterpriseBeanMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/JBossEnterpriseBeanMetaData.java 2007-07-31 15:29:20 UTC (rev 2473)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/JBossEnterpriseBeanMetaData.java 2007-08-01 16:41:05 UTC (rev 2474)
@@ -27,14 +27,11 @@
import java.util.Set;
import org.jboss.ejb.metadata.spec.EnterpriseBeanMetaData;
-import org.jboss.ejb.metadata.spec.EntityBeanMetaData;
import org.jboss.ejb.metadata.spec.ExcludeListMetaData;
-import org.jboss.ejb.metadata.spec.MessageDrivenBeanMetaData;
import org.jboss.ejb.metadata.spec.MethodInterfaceType;
import org.jboss.ejb.metadata.spec.MethodPermissionMetaData;
import org.jboss.ejb.metadata.spec.MethodPermissionsMetaData;
import org.jboss.ejb.metadata.spec.SecurityIdentityMetaData;
-import org.jboss.ejb.metadata.spec.SessionBeanMetaData;
import org.jboss.javaee.metadata.jboss.AnnotationsMetaData;
import org.jboss.javaee.metadata.jboss.IgnoreDependencyMetaData;
import org.jboss.javaee.metadata.jboss.JndiRefsMetaData;
@@ -66,6 +63,7 @@
import org.jboss.xb.annotations.JBossXmlModelGroup;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
/**
* EnterpriseBean.
@@ -76,9 +74,9 @@
@JBossXmlModelGroup(
kind=JBossXmlConstants.MODEL_GROUP_CHOICE,
particles={
- @JBossXmlModelGroup.Particle(element=@XmlElement(name="session"), type=SessionBeanMetaData.class),
- @JBossXmlModelGroup.Particle(element=@XmlElement(name="entity"), type=EntityBeanMetaData.class),
- @JBossXmlModelGroup.Particle(element=@XmlElement(name="message-driven"), type=MessageDrivenBeanMetaData.class)})
+ @JBossXmlModelGroup.Particle(element=@XmlElement(name="session"), type=JBossSessionBeanMetaData.class),
+ @JBossXmlModelGroup.Particle(element=@XmlElement(name="entity"), type=JBossEntityBeanMetaData.class),
+ @JBossXmlModelGroup.Particle(element=@XmlElement(name="message-driven"), type=JBossMessageDrivenBeanMetaData.class)})
//@SchemaImpl({JBossSessionBeanMetaData.class, JBossEntityBeanMetaData.class, JBossMessageDrivenBeanMetaData.class})
public abstract class JBossEnterpriseBeanMetaData extends NamedMetaDataWithDescriptionGroupWithOverride<EnterpriseBeanMetaData> implements Environment
{
@@ -614,7 +612,6 @@
* @param jndiEnvironmentRefsGroup the jndiEnvironmentRefsGroup.
* @throws IllegalArgumentException for a null jndiEnvironmentRefsGroup
*/
- @XmlElement(/*noInterceptor=true*/)
public void setJbossJndiEnvironmentRefsGroup(JBossEnvironmentRefsGroupMetaData jndiEnvironmentRefsGroup)
{
if (jndiEnvironmentRefsGroup == null)
@@ -627,6 +624,7 @@
*
* @return the mergedEnvironment.
*/
+ @XmlTransient
public JBossEnvironmentRefsGroupMetaData getMergedEnvironment()
{
if (mergedEnvironment != null)
Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/JBossEnvironmentRefsGroupMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/JBossEnvironmentRefsGroupMetaData.java 2007-07-31 15:29:20 UTC (rev 2473)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/JBossEnvironmentRefsGroupMetaData.java 2007-08-01 16:41:05 UTC (rev 2474)
@@ -40,7 +40,11 @@
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision: 1.1 $
*/
- at JBossXmlModelGroup(name="jbossJndiEnvironmentRefsGroup")
+ at JBossXmlModelGroup(name="jbossJndiEnvironmentRefsGroup",
+ propOrder={"environmentEntries", "ejbReferences", "ejbLocalReferences",
+ "serviceReferences", "resourceReferences", "resourceEnvironmentReferences",
+ "messageDestinationReferences", "persistenceContextRefs", "persistenceUnitRefs",
+ "postConstructs", "preDestroys", "securityIdentity"})
public class JBossEnvironmentRefsGroupMetaData extends EnvironmentRefsGroupMetaData
{
/** The serialVersionUID */
Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/JBossMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/JBossMetaData.java 2007-07-31 15:29:20 UTC (rev 2473)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/JBossMetaData.java 2007-08-01 16:41:05 UTC (rev 2474)
@@ -24,6 +24,8 @@
import org.jboss.ejb.metadata.spec.EjbJarMetaData;
import org.jboss.javaee.metadata.support.IdMetaDataImplWithDescriptionGroupWithOverride;
import org.jboss.logging.Logger;
+
+import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
@@ -111,6 +113,7 @@
* @param version the version.
* @throws IllegalArgumentException for a null version
*/
+ @XmlAttribute
public void setVersion(String version)
{
if (version == null)
Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/LoaderRepositoryConfigMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/LoaderRepositoryConfigMetaData.java 2007-07-31 15:29:20 UTC (rev 2473)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/LoaderRepositoryConfigMetaData.java 2007-08-01 16:41:05 UTC (rev 2474)
@@ -74,7 +74,7 @@
{
if (configParserClass == null)
throw new IllegalArgumentException("Null configParserClass");
- this.configParserClass = configParserClass;
+ this.configParserClass = configParserClass.trim();
}
/**
@@ -98,6 +98,48 @@
{
if (config == null)
throw new IllegalArgumentException("Null config");
- this.config = config;
+ this.config = config.trim();
}
+
+ @Override
+ public int hashCode()
+ {
+ final int PRIME = 31;
+ int result = super.hashCode();
+ result = PRIME * result + ((config == null) ? 0 : config.hashCode());
+ result = PRIME * result + ((configParserClass == null) ? 0 : configParserClass.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (this == obj)
+ return true;
+ if (!super.equals(obj))
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ final LoaderRepositoryConfigMetaData other = (LoaderRepositoryConfigMetaData) obj;
+ if (config == null)
+ {
+ if (other.config != null)
+ return false;
+ }
+ else if (!config.equals(other.config))
+ return false;
+ if (configParserClass == null)
+ {
+ if (other.configParserClass != null)
+ return false;
+ }
+ else if (!configParserClass.equals(other.configParserClass))
+ return false;
+ return true;
+ }
+
+ public String toString()
+ {
+ return "[id=" + getId() + ", config=" + config + ", parser=" + configParserClass + "]";
+ }
}
Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/MethodAttributesMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/MethodAttributesMetaData.java 2007-07-31 15:29:20 UTC (rev 2473)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/MethodAttributesMetaData.java 2007-08-01 16:41:05 UTC (rev 2474)
@@ -24,9 +24,12 @@
import java.util.concurrent.ConcurrentHashMap;
import org.jboss.javaee.metadata.support.AbstractMappedMetaData;
+import org.jboss.xb.annotations.JBossXmlChild;
+
import javax.xml.bind.annotation.XmlType;
@XmlType(name="method-attributesType")
+ at JBossXmlChild(name="method", type=MethodAttributeMetaData.class, unbounded=true)
public class MethodAttributesMetaData extends AbstractMappedMetaData<MethodAttributeMetaData>
{
/** The serialVersionUID */
Modified: jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/ResourceManagersMetaData.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/ResourceManagersMetaData.java 2007-07-31 15:29:20 UTC (rev 2473)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/ejb/metadata/jboss/ResourceManagersMetaData.java 2007-08-01 16:41:05 UTC (rev 2474)
@@ -22,6 +22,8 @@
package org.jboss.ejb.metadata.jboss;
import org.jboss.javaee.metadata.support.MappedMetaDataWithDescriptions;
+import org.jboss.xb.annotations.JBossXmlChild;
+
import javax.xml.bind.annotation.XmlType;
/**
@@ -31,6 +33,7 @@
* @version $Revision: 1.1 $
*/
@XmlType(name="resource-managersType")
+ at JBossXmlChild(name="resource-manager", type=ResourceManagerMetaData.class, unbounded=true)
public class ResourceManagersMetaData extends MappedMetaDataWithDescriptions<ResourceManagerMetaData>
{
/** The serialVersionUID */
Modified: jbossxb-builder/trunk/src/test/java/org/jboss/javaee/metadata/support/IdMetaDataImpl.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/javaee/metadata/support/IdMetaDataImpl.java 2007-07-31 15:29:20 UTC (rev 2473)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/javaee/metadata/support/IdMetaDataImpl.java 2007-08-01 16:41:05 UTC (rev 2474)
@@ -91,4 +91,33 @@
else if (original.id != null)
merged.setId(original.id);
}
+
+ @Override
+ public int hashCode()
+ {
+ final int PRIME = 31;
+ int result = 1;
+ result = PRIME * result + ((id == null) ? 0 : id.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ final IdMetaDataImpl other = (IdMetaDataImpl) obj;
+ if (id == null)
+ {
+ if (other.id != null)
+ return false;
+ }
+ else if (!id.equals(other.id))
+ return false;
+ return true;
+ }
}
Modified: jbossxb-builder/trunk/src/test/java/org/jboss/test/ejb/metadata/test/JBoss5xEverythingUnitTestCase.java
===================================================================
--- jbossxb-builder/trunk/src/test/java/org/jboss/test/ejb/metadata/test/JBoss5xEverythingUnitTestCase.java 2007-07-31 15:29:20 UTC (rev 2473)
+++ jbossxb-builder/trunk/src/test/java/org/jboss/test/ejb/metadata/test/JBoss5xEverythingUnitTestCase.java 2007-08-01 16:41:05 UTC (rev 2474)
@@ -184,13 +184,16 @@
Set<LoaderRepositoryConfigMetaData> configs = loaderRepositoryMetaData.getLoaderRepositoryConfig();
assertNotNull(configs);
assertEquals(size, configs.size());
- int count = 1;
- for (LoaderRepositoryConfigMetaData config : configs)
+ for (int count = 1; count < configs.size(); ++count)
{
- assertId("loaderRepositoryConfig" + count, config);
- assertEquals("loaderRepositoryConfigParserClass" + count, config.getConfigParserClass());
- assertEquals("loaderRepositoryConfig" + count, trim(config.getConfig()));
- ++count;
+ LoaderRepositoryConfigMetaData config = new LoaderRepositoryConfigMetaData();
+ config.setId("loaderRepositoryConfig" + count + "-id");
+ config.setConfig("loaderRepositoryConfig" + count);
+ config.setConfigParserClass("loaderRepositoryConfigParserClass" + count);
+ assertTrue(configs + " contains " + config, configs.contains(config));
+// assertId("loaderRepositoryConfig" + count, config);
+// assertEquals("loaderRepositoryConfigParserClass" + count, config.getConfigParserClass());
+// assertEquals("loaderRepositoryConfig" + count, trim(config.getConfig()));
}
}
More information about the jboss-svn-commits
mailing list