You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by Abraham Washington <ab...@yahoo.com> on 2008/04/19 00:37:30 UTC
sdo/das question
hi, i have a basic sample app that i'm trying to query a db. i'm getting a sdo/classCastException when making the call:
DataObject read = das.getCommand("getOrganizations");
here's my composite:
<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
xmlns:c="http://Hello"
name="Hello">
<component name="Hello">
<implementation.java class="hello.HelloImpl">
</implementation.java>
<service name="Hello">
<binding.ws uri="hello-there">
</binding.ws>
<t:binding.jsonrpc uri="hello-nicer">
</t:binding.jsonrpc>
</service>
</component>
</composite>
and my datasource config:
<?xml version="1.0" encoding="ASCII"?>
<Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd">
<ConnectionInfo />
<Command name="getOrganizations" SQL="select orgID from ORGANIZATION" kind="Select">
<ResultDescriptor columnName="orgID" tableName="ORGANIZATION" columnType="commonj.sdo.IntObject"/>
</Command>
<Command name="getOrganization"
SQL="SELECT orgID organizationTypeId, orgName FROM organization where orgID = ?" kind="Select" />
</Config>
and the error
java.lang.ClassCastException: The value of type 'class java.math.BigDecimal' must be of type 'class java.lang.Integer'
at org.eclipse.emf.ecore.impl.EStructuralFeatureImpl$InternalSettingDelegateSingleDataUnsettableStatic.validate(EStructuralFeatureImpl.java:2195)
at org.eclipse.emf.ecore.impl.EStructuralFeatureImpl$InternalSettingDelegateSingleDataUnsettable.dynamicSet(EStructuralFeatureImpl.java:2116)
at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eDynamicSet(BasicEObjectImpl.java:709)
at org.apache.tuscany.sdo.impl.DynamicDataObjectImpl.eDynamicSet(DynamicDataObjectImpl.java:160)
at org.apache.tuscany.sdo.impl.DataObjectImpl.eSet(DataObjectImpl.java:1468)
at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eSet(BasicEObjectImpl.java:654)
at org.apache.tuscany.sdo.impl.DataObjectImpl.set(DataObjectImpl.java:146)
at org.apache.tuscany.das.rdb.graphbuilder.impl.DataObjectMaker.createAndAddDataObject(DataObjectMaker.java:90)
at org.apache.tuscany.das.rdb.graphbuilder.impl.ResultSetProcessor.addRowToGraph(ResultSetProcessor.java:127)
at org.apache.tuscany.das.rdb.graphbuilder.impl.ResultSetProcessor.processResultSet(ResultSetProcessor.java:91)
at org.apache.tuscany.das.rdb.graphbuilder.impl.ResultSetProcessor.processResults(ResultSetProcessor.java:77)
at org.apache.tuscany.das.rdb.impl.ReadCommandImpl.buildGraph(ReadCommandImpl.java:300)
at org.apache.tuscany.das.rdb.impl.ReadCommandImpl.executeQuery(ReadCommandImpl.java:268)
at hello.HelloImpl.hey(HelloImpl.java:35)
thx in adv!
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
Re: sdo/das question
Posted by Luciano Resende <lu...@gmail.com>.
Hey Abraham
I used your config in a simple client app using DAS beta2, and all
seem to work well, so I suspect that there might be some
incompatibility with the actual data type from your table columns. I
was using Derby, and below is the SQL I used to create the
ORGANIZATION table.
CREATE TABLE ORGANIZATION (
orgID INTEGER NOT NULL,
name VARCHAR(50),
primary key (orgID)
);
If you still have issues, please let's work together to solve it. I
might need more info, such as table structure, and DAS/SDO versions
you are using.
On Fri, Apr 18, 2008 at 3:37 PM, Abraham Washington
<ab...@yahoo.com> wrote:
> hi, i have a basic sample app that i'm trying to query a db. i'm getting a sdo/classCastException when making the call:
>
> DataObject read = das.getCommand("getOrganizations");
>
> here's my composite:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
> xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
> xmlns:c="http://Hello"
> name="Hello">
> <component name="Hello">
> <implementation.java class="hello.HelloImpl">
> </implementation.java>
> <service name="Hello">
> <binding.ws uri="hello-there">
> </binding.ws>
> <t:binding.jsonrpc uri="hello-nicer">
> </t:binding.jsonrpc>
> </service>
> </component>
> </composite>
>
> and my datasource config:
>
> <?xml version="1.0" encoding="ASCII"?>
> <Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd">
> <ConnectionInfo />
> <Command name="getOrganizations" SQL="select orgID from ORGANIZATION" kind="Select">
> <ResultDescriptor columnName="orgID" tableName="ORGANIZATION" columnType="commonj.sdo.IntObject"/>
> </Command>
> <Command name="getOrganization"
> SQL="SELECT orgID organizationTypeId, orgName FROM organization where orgID = ?" kind="Select" />
> </Config>
>
> and the error
>
> java.lang.ClassCastException: The value of type 'class java.math.BigDecimal' must be of type 'class java.lang.Integer'
> at org.eclipse.emf.ecore.impl.EStructuralFeatureImpl$InternalSettingDelegateSingleDataUnsettableStatic.validate(EStructuralFeatureImpl.java:2195)
> at org.eclipse.emf.ecore.impl.EStructuralFeatureImpl$InternalSettingDelegateSingleDataUnsettable.dynamicSet(EStructuralFeatureImpl.java:2116)
> at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eDynamicSet(BasicEObjectImpl.java:709)
> at org.apache.tuscany.sdo.impl.DynamicDataObjectImpl.eDynamicSet(DynamicDataObjectImpl.java:160)
> at org.apache.tuscany.sdo.impl.DataObjectImpl.eSet(DataObjectImpl.java:1468)
> at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eSet(BasicEObjectImpl.java:654)
> at org.apache.tuscany.sdo.impl.DataObjectImpl.set(DataObjectImpl.java:146)
> at org.apache.tuscany.das.rdb.graphbuilder.impl.DataObjectMaker.createAndAddDataObject(DataObjectMaker.java:90)
> at org.apache.tuscany.das.rdb.graphbuilder.impl.ResultSetProcessor.addRowToGraph(ResultSetProcessor.java:127)
> at org.apache.tuscany.das.rdb.graphbuilder.impl.ResultSetProcessor.processResultSet(ResultSetProcessor.java:91)
> at org.apache.tuscany.das.rdb.graphbuilder.impl.ResultSetProcessor.processResults(ResultSetProcessor.java:77)
> at org.apache.tuscany.das.rdb.impl.ReadCommandImpl.buildGraph(ReadCommandImpl.java:300)
> at org.apache.tuscany.das.rdb.impl.ReadCommandImpl.executeQuery(ReadCommandImpl.java:268)
> at hello.HelloImpl.hey(HelloImpl.java:35)
>
>
> thx in adv!
>
>
>
> ____________________________________________________________________________________
> Be a better friend, newshound, and
> know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
--
Luciano Resende
Apache Tuscany Committer
http://people.apache.org/~lresende
http://lresende.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-user-help@ws.apache.org