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