Index: src/main/org/exolab/castor/builder/SourceFactory.java =================================================================== RCS file: /scm/castor/castor/src/main/org/exolab/castor/builder/SourceFactory.java,v retrieving revision 1.21 diff -u -r1.21 SourceFactory.java --- src/main/org/exolab/castor/builder/SourceFactory.java 23 Jun 2005 04:14:49 -0000 1.21 +++ src/main/org/exolab/castor/builder/SourceFactory.java 29 Sep 2005 08:50:19 -0000 @@ -1330,6 +1330,15 @@ //-- if we have a new SimpleType...generate ClassInfo SimpleType sType = attr.getSimpleType(); + + // Look for referenced type (if any) for setting type, and use + // it, if found. + if (sType == null) { + if (attr.getReference() != null) { + attr.setSimpleType(attr.getReference().getSimpleType()); + } + } + if (sType != null) { if ( ! (SimpleTypesFactory.isBuiltInType(sType.getTypeCode())) ) Index: src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/ReferencedAttributeBuilder.java =================================================================== RCS file: src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/ReferencedAttributeBuilder.java diff -N src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/ReferencedAttributeBuilder.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/ReferencedAttributeBuilder.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,25 @@ +import java.util.Vector; + +import org.exolab.castor.tests.framework.ObjectModelBuilder; + +public class ReferencedAttributeBuilder implements ObjectModelBuilder +{ + + /** + * Build the object expected when unmarshalling 'input1.xml' + */ + public Object buildInstance() { + + SourceInfos sourceInfos = new SourceInfos(); + SourceID sourceId = new SourceID(); + sourceId.setId("ID1"); + sourceInfos.setSourceID(sourceId); + sourceInfos.setXmlDBId("DB1"); + + return sourceInfos; + + } + +} + + Index: src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/TestDescriptor.xml =================================================================== RCS file: src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/TestDescriptor.xml diff -N src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/TestDescriptor.xml --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/TestDescriptor.xml 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,23 @@ + + + Test the type assignment of an attribute reference + Werner Guttmann + Regression test case for bug 1226 + basic capability + + patmoore@brocade.com + 2005-09-26 + 2005-09-28 + The fix consisted in adding code to SourceFactory.processAttributes() + to lookup the type of the attribute referred to. + + + toto.xsd + SourceInfos + + Test Generation + input.xml + ReferencedAttributeBuilder + + + Index: src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/common.xsd =================================================================== RCS file: src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/common.xsd diff -N src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/common.xsd --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/common.xsd 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,6 @@ + + + + + + Index: src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/input.xml =================================================================== RCS file: src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/input.xml diff -N src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/input.xml --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/input.xml 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,6 @@ + + + + ID1 + + Index: src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/toto.xsd =================================================================== RCS file: src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/toto.xsd diff -N src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/toto.xsd --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/tests/xml/RegressionTestSuite/sourcegenerator/bug1226/toto.xsd 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + +