tuscany-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Viatcheslav Kuravskiy <kuravs...@googlemail.com>
Subject Re: SDO Static Object
Date Mon, 15 Jun 2009 11:29:25 GMT
I post my code once again:   	

	HelperContext hc = HelperProvider.getDefaultContext();
     	PersonFactory.INSTANCE.register(hc);
     	
     	DAS das = DAS.FACTORY.createDAS(getConfig(configFile));
     	
         Command readPerson = das.getCommand("getFirstPerson");
         DataObject root = readPerson.executeQuery();

         Person p = PersonFactory.INSTANCE.createPerson();

         p = (Person)root.getDataObject("Person[1]");

The exception is:

java.lang.ClassCastException: 
org.apache.tuscany.sdo.impl.DynamicDataObjectImpl cannot be cast to 
sdo.Person

-- 
Best regards,
V.Kuravskiy

kelvin goodson wrote:
> Could you please supply some detail of the exception.
> 
> I note that in some of the postings above the schema  seems to have a
> type of "erson" - Similarly there are element names of "ame", "ge" and
> "d"  - is this what you have or just a cut and paste error?
> 
> Kelvin.
> 
> 2009/6/12 Viatcheslav Kuravskiy <kuravskiy@googlemail.com>:
>> kelvin goodson wrote:
>>> I'm guessing your exception is a ClassCastException because the actual
>>> class is AnyTypeDataObjectImpl, and not PersonImpl.  For the DAS to
>>> create instances of your generated class it would a) have to be using
>>> the default helper context, and b), understand that Person objects are
>>> from the http://www.example.org/person namespace. Perhaps someone who
>>> is familiar with DAS could take a look at this?
>>>
>>> Kelvin.
>>>
>>> 2009/6/10 Viatcheslav Kuravskiy <kuravskiy@googlemail.com>:
>>>
>>>> Hello to all!
>>>>
>>>> How can I map a DataObject to a Java object? My situation is:
>>>>
>>>> 1) From person.xsd was generated Person.java, PersonFactory.java,
>>>> PersonImpl.java and PersonFactory.java. XSD2JavaGenerator was used for
>>>> it.
>>>>
>>>> Here is person.xsd:
>>>>
>>>> <?xml version=.0" encoding="UTF-8"?>
>>>> <schema xmlns=ttp://www.w3.org/2001/XMLSchema"
>>>> targetNamespace=ttp://www.example.org/person"
>>>> xmlns:tns=ttp://www.example.org/person" elementFormDefault="qualified">
>>>>
>>>>  <complexType name=erson">
>>>>      <sequence>
>>>>          <element name=ame" type="string"></element>
>>>>          <element name=ge" type="int"></element>
>>>>          <element name=d" type="int"></element>
>>>>      </sequence>
>>>>  </complexType>
>>>> </schema>
>>>>
>>>> 2) I have a RDB with a table PERSON and columns ID:integer, NAME:varchar,
>>>> AGE:integer.
>>>>
>>>> Here is a part from Config.xml:
>>>>
>>>>  <Table tableName=ERSON" typeName="Person">
>>>>      <Column columnName=D" primaryKey="true"/>
>>>>  </Table>
>>>>
>>>>  <Command name=etFirstPerson" SQL="select * from PERSON where ID=1"
>>>> kind=elect"/>
>>>>
>>>>
>>>> 3) I do:
>>>>
>>>>      HelperContext hc = HelperProvider.getDefaultContext();
>>>>      PersonFactory.INSTANCE.register(hc);
>>>>
>>>>      DAS das =AS.FACTORY.createDAS(getConfig(configFile));
>>>>
>>>>      Command getPerson =as.getCommand("getFirstPerson");
>>>>      DataObject root =etPerson.executeQuery();
>>>>
>>>>      DataObject p1 =root.getDataObject("Person[1]");
>>>>
>>>>      Person p2 =ersonFactory.INSTANCE.createPerson();
>>>>
>>>>      p2 =Person) p1; // Here I have exception
>>>>
>>>>
>>>> Can somebody help me to solve this problem?
>>>>
>>>>
>>>> Best regards,
>>>> V.Kuravskiy
>>>>
>>>>
>>>
>> Actually I did the same thing from this example:
>> http://tuscany.apache.org/workingwithstaticdataobjects.html
>>
>> Just
>>
>> SDOUtil.registerStaticTypes(CustomerFactory.class);
>>
>> was changed with
>>
>> HelperContext hc = HelperProvider.getDefaultContext();
>> PersonFactory.INSTANCE.register(hc);
>>
>> But unfortunately it's not working.
>>
>> V.Kuravskiy
>>
>>
> 

Mime
View raw message