Thanks for clarification ; )

Adriano Crestani

On 5/31/07, Pete Robbins <[EMAIL PROTECTED]> wrote:

Adriano, this isn't so much a bug as unsupported function.

DataFactory::generateInterface() is not part of the spec (I believe) and
was
an old experiment in supporting static SDOs. As far as I am aware the code
has never been tested. I'm pretty sure I'd removed it before but it looks
like it's still in there!

Cheers,

On 31/05/07, Adriano Crestani <[EMAIL PROTECTED]> wrote:
>
> I used the DataFactory::generateInterface() and I got the following
code:
>
> ...
> DataObjectList& Config::getRelationship //missing parameters definition
> {
>    return the_object->getList("Relationship");
> }
> ...
>
> It is not generating the parameters definition of any function that
> returns
> a DataObjectList&. Bellow is the code I use to generate the code above:
>
>
> commonj::sdo::DataFactoryPtr dataFactory =
> commonj::sdo::DataFactory::getDataFactory();
> commonj::sdo::XSDHelperPtr xsdh =
> commonj::sdo::HelperProvider::getXSDHelper(dataFactory);
> xsdh->defineFile("config.xsd");
> dataFactory->generateInterface("DataFactoryImpl", "DataFactoryImpl");
>
> And here is the config.xsd:
>
> <xsd:schema
>   xmlns:config="apache.das.rdb"
>   xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>   targetNamespace="apache.das.rdb.config"
>   elementFormDefault="qualified">
>
>   <xsd:element name="Config" type="Config"/>
>
>   <xsd:complexType name="Config">
>      <xsd:all>
>        <xsd:element maxOccurs="unbounded" minOccurs="0" name="Table"
> type="Table"/>
>        <xsd:element maxOccurs="unbounded" minOccurs="0"
> name="Relationship"
> type="Relationship"/>
>      </xsd:all>
>      <xsd:attribute name="uri" type="xsd:string"/>
>   </xsd:complexType>
>
>   <xsd:complexType name="Relationship">
>      <xsd:all>
>         <xsd:element maxOccurs="unbounded" minOccurs="1" name="KeyPair"
> type="KeyPair"/>
>      </xsd:all>
>      <xsd:attribute name="name" type="xsd:string"/>
>      <xsd:attribute name="primaryKeyTable" type="xsd:string"
> use="required"/>
>      <xsd:attribute name="foreignKeyTable" type="xsd:string"
> use="required"/>
>      <xsd:attribute name="many" type="xsd:boolean" default="true"/>
>   </xsd:complexType>
>
>   <xsd:complexType name="Table">
>      <xsd:all>
>         <xsd:element maxOccurs="unbounded" minOccurs="0" name="Column"
> type="Column"/>
>      </xsd:all>
>      <xsd:attribute name="tableName" type="xsd:string" use="required"/>
>      <xsd:attribute name="typeName" type="xsd:string"/>
>   </xsd:complexType>
>
>   <xsd:complexType name="KeyPair">
>      <xsd:attribute name="primaryKeyColumn" type="xsd:string"
> use="required"/>
>      <xsd:attribute name="foreignKeyColumn" type="xsd:string"
> use="required"/>
>   </xsd:complexType>
>
>   <xsd:complexType name="Column">
>      <xsd:attribute name="columnName" type="xsd:string" use="required"/>
>    <xsd:attribute name="sqlType" type="xsd:string" use="required"/>
>      <xsd:attribute name="propertyName" type="xsd:string"/>
>      <xsd:attribute name="primaryKey" type="xsd:boolean"
default="false"/>
>   </xsd:complexType>
>
> </xsd:schema>
>
> Am I committing some mistake or it's really a bug?
>
> Adriano Crestani
>



--
Pete

Reply via email to