[ 
https://issues.apache.org/jira/browse/TUSCANY-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kelvin Goodson updated TUSCANY-1780:
------------------------------------

    Attachment: SDOClass.java

As a checkpoint in investigating this issue I'm attaching a sanitised version 
of SDOClass.java  for debug purposes which is logically equivalent to the 
status quo.

Here's where I've got to --- At line 530 of this file we create the static 
defaults of variables,  be they single instance or list type.  So the one call 
to 
        stringBuffer.append(genFeature.getStaticDefaultValue());
is used to handle thing like

protected static final String VALUE_DEFAULT_ = null;
protected static final boolean DISPLAYABLE_DEFAULT_ = false;

as well as the case in hand.

The differential logic for creating the string is found in guarded code 
portions of GenDataTypeImpl#getStaticValue (as reached from 
GenFeatureImpl#getStaticDefaultValue()) and it is there that the 
"createFromString" code that is in error is generated.

The problem as I see it at the moment is that all that logic is bound up in one 
single EMF method, containing some code that I want,  and some that I don't.

It's not clear to me at the moment whether I need to add guards into SDOClass 
which replicate the fairly detailed logic in the calling stack  to avoid the 
call to getFeature.getStaticDefaultValue() in the circumstances when it 
produces the erroneous code (providing an alternative generation in those 
circumstances),  or whether there is some better means of influencing the 
output.

> [JAVA-SDO] Incorrect generation of class with default value for a list
> ----------------------------------------------------------------------
>
>                 Key: TUSCANY-1780
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1780
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Tools
>    Affects Versions: Java-SDO-1.0, Java-SDO-Next
>         Environment: Windows XP, JRE 1.4.2 and JRE 1.5
>            Reporter: Chris Mildebrandt
>            Priority: Critical
>             Fix For: Java-SDO-Next
>
>         Attachments: Address.xsd, Address2.xsd, SDOClass.java
>
>
> Hello,
> There seems to be a problem when generating static classes when lists are 
> involved. I have the following lines in my schema:
> <xsd:attribute name="categoryType" type="address:CategoryType" use="required" 
> default="myCat"/>
> <simpleType name="CategoryType">
>     <list itemType="category" />
> </simpleType>
> This generates the following line in the impl class:
> protected static final Object CATEGORY_TYPE_DEFAULT_ = 
> ((EFactory)ModelFactory.INSTANCE).createFromString(ModelPackageImpl.eINSTANCE.getObject(),
>  "myCat");
> The class ModelPackageImpl doesn't exist.
> I've tried this with the 1.0 version of SDO and a version I built today.
> Let me know if you need any more information. Thanks,
> -Chris

-- 
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]

Reply via email to