[
https://issues.apache.org/jira/browse/TUSCANY-1143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514352
]
Fuhwei Lwo commented on TUSCANY-1143:
-------------------------------------
I gened the test/resources/extensible/infostreet.xsd and the generated files
cannot be compiled.
I think the problem is due to the sub types.
<xsd:complexType name="InfoType">
<xsd:complexContent>
<xsd:extension base="customer:InfoType">
<xsd:sequence>
<xsd:element name="street"
type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
> Generated code should separate metadata creation from registration to permit
> proper scoping
> -------------------------------------------------------------------------------------------
>
> Key: TUSCANY-1143
> URL: https://issues.apache.org/jira/browse/TUSCANY-1143
> Project: Tuscany
> Issue Type: Bug
> Components: Java SDO Tools
> Affects Versions: Java-SDO-beta1
> Reporter: Kelvin Goodson
> Fix For: Java-SDO-1.0
>
> Attachments: 1143.patch, 1143.patch, 1143.patch, 1143.patch
>
>
> The switch to registration of metadata from the global scope to selected
> scopes is not complete yet, although for all current test cases there are no
> failures.
> Currently the generated init() method for a factory calls the deprecated
> SDOUtil.registerStaticTypes for its simple dependencies.
> In the simple case this is just ModelFactory and SDOFactory, but could
> contain other user generated dependencies if for example
> there were to be an xsd import of another namespace (exposed a gap in our
> test case set). This would mean that the user generated model dependency
> would also be registered against the global registry.
> It is proposed that all registrations, including the built in models, are
> made against the helper context provided to the Factory's register method.
> I.e. a state invariant that no models are ever registered against the global
> registry.
> The pattern of looking up models from within packages is not required, since
> the code can just refer to each model's singleton INSTANCE (see below for the
> exception SDOFactoryImpl). Creation of the metadata should be done in the
> init
> method, and the registration of all metadata (built-in or otherwise) should
> be done in the register method. It would appear on inspection that no
> reference to the simple dependencies of a factory need be made in its init
> method, and simple reference to the dependencies INSTANCE in the register
> will be enough to ensure that those dependencies are initialised before being
> registered against the provided scope.
> SDOFactoryImpl does not have an INSTANCE currently. The current proposed
> solution is to modify SDOFactory to have an INSTANCE, in order that it can
> behave like an ordinary generated dependency in this new approach.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]