You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Fuhwei Lwo (JIRA)" <tu...@ws.apache.org> on 2007/07/02 22:01:05 UTC
[jira] Commented: (TUSCANY-477) SDO runtime should report
unresolved types in a meaningful way if xsd:import/include cannot be
resolved
[ https://issues.apache.org/jira/browse/TUSCANY-477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12509652 ]
Fuhwei Lwo commented on TUSCANY-477:
------------------------------------
Possible solution is to modify BaseSDOXSDEcoreBuild.java to the follow snippet to throw IllegalArgumentException when the simple and complext type XSD definition cannot be found.
else if (xsdSimpleTypeDefinition.getContainer() == null)
{
// return (EDataType)getBuiltInEClassifier(rootSchema.getSchemaForSchemaNamespace(), "anySimpleType");
throw new IllegalArgumentException();
}
The exception handling/serviceability of XSDHelper.define() is not well defined in the SDO 2.1 spec. I don't think current behavior is breaking the spec. Also, merely throwing an IllegalArgumentException is not good enough because the SDO users may like to know what's wrong with their XSD.
I suggest to keep the current behavior for Tuscany SDO 1.0 release for now.
Fuhwei
> SDO runtime should report unresolved types in a meaningful way if xsd:import/include cannot be resolved
> -------------------------------------------------------------------------------------------------------
>
> Key: TUSCANY-477
> URL: https://issues.apache.org/jira/browse/TUSCANY-477
> Project: Tuscany
> Issue Type: Bug
> Components: Java SDO Implementation
> Affects Versions: Java-SCA-M2
> Reporter: Raymond Feng
> Assignee: Frank Budinsky
> Priority: Minor
> Fix For: Java-SDO-Next
>
> Attachments: patch&tests.zip, TestXSDImport.jar
>
>
> I'm seeing different behaviors from XSDHelper.define() if the xsd:import/include cannot be resolved. I wonder if we should have a consistent error handling here. Please see the attached test case (in the case, I pass null as schemaLocation to the define() on purpose).
> Case 1: Unresolved XSD type is silently replaced by Object DataType
> Case 2: IllegalArgumentException is thrown due to a NPE in EMF code
--
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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org