here's more info.  
this is from findOrganizationfindOrganization data graph -> [EMAIL PROTECTED] 
(resourceSet: [EMAIL PROTECTED] [EMAIL PROTECTED] uri='root.xml', [EMAIL 
PROTECTED] uri='http:///org.apache.tuscany.das.rdb/das', [EMAIL PROTECTED] 
uri='http:///org.apache.tuscany.das.rdb/das', [EMAIL PROTECTED] 
uri='change-summary.xml'])
findOrganization data graph root -> [EMAIL PROTECTED] (eClass: [EMAIL 
PROTECTED] (name: DataGraphRoot) (instanceClassName: null) (abstract: false, 
interface: false))
// this debug came from the test runner
data graph -> null
account -> [EMAIL PROTECTED] (eClass: [EMAIL PROTECTED] (name: ACCOUNT) 
(instanceClassName: null) (abstract: false, interface: false))
Testrunner accountName -> TestNode1
 
update account now...java.lang.NullPointerExceptionat 
org.apache.tuscany.das.rdb.impl.ApplyChangesCommandImpl.execute(ApplyChangesCommandImpl.java:58)
the call to:root.
is what's outputting: data graph -> null
seems odd that the call works fine in the operation findOrganization, but it's 
null inside the testRunner
thanks



----- Original Message ----
From: Jean Madson <[EMAIL PROTECTED]>
To: [email protected]
Sent: Tuesday, July 29, 2008 10:16:20 AM
Subject: Re: das npe in PassByValueInterceptor


It's exactly what you did for dataGraph, showing its internal representation.
-- 
Jean Madson




2008/7/29 Abraham Washington <[EMAIL PROTECTED]>

what do you mean by dump? 



----- Original Message ----
From: Jean Madson <[EMAIL PROTECTED]>
To: [email protected]

Sent: Tuesday, July 29, 2008 9:04:06 AM
Subject: Re: das npe in PassByValueInterceptor


Can you dump "account"? So we can see what is inside it...


-- 
Jean Madson
http://bit-zen.blogspot.com/
MSN: [EMAIL PROTECTED]
-----
HI LI KO KEN TEN
Be grass, don't eat grass
"É preciso esvaziar a xícara para ver o fundo tal como ele é, caso contrário,
o fundo parecerá turvo, e idéias precipitadas acerca do que seja o
fundo límpido emergirão."





2008/7/29 Abraham Washington <[EMAIL PROTECTED]>

this is where it's failing:
 
if (!root.equals(root.getDataGraph().getRootObject())) {
            throw new RuntimeException("'root' argument must be the root of the 
datagraph");
        }
 
in org.apache.tuscany.das.rdb.impl.ApplyChangesCommandImpl at line 58 (looking 
at the source code).  i printed out the same thing and can reproduce the 
problem.
 
the problem is the call to root.getDataGraph() is returning null, thus the call 
to root.getDataGraph().getRootObject() throws the npe.  
 
when i make the call to find the organization, the dataGraph is null as well.  
here's my call to findOrganization:
 publicDataObject findOrganization(String id) { 
DataObject root = null; 
InputStream in = 
getClass().getClassLoader().getResourceAsStream(
"dasConfiguration.xml"); 
DAS das = DAS.FACTORY.createDAS(in, getConnection()); 
Command read = das.getCommand("getAccountByID"); 
read.setParameter(1, Integer.valueOf(id));
root = read.executeQuery();
DataObject account = root.getDataObject("ACCOUNT[1]"); 
System.out.println("account dataGraph -> "+ account.getDataGraph()); 
System.
out.println("account dataObject -> "+ account.getDataGraph().getRootObject()); 
returnaccount; 
}
 
Output: data graph -> null
 
then a npe this thrown on the call to:
System.out.println("account dataObject -> "+ 
account.getDataGraph().getRootObject());
 
why would the dataGraph be null ?
 
thx abe
 



----- Original Message ----
From: Jean Madson <[EMAIL PROTECTED]>
To: [email protected]

Sent: Tuesday, July 29, 2008 7:31:18 AM
Subject: Re: das npe in PassByValueInterceptor


It throws NullPointerException.
Does the organizationService variable have a valid reference to the service?
Try to test this.
You can try to do a dump from organizationService.
Perhaps, organizationService can't find an organization with that id, thus, 
returning a null reference.
Check this too.

-- 
Jean Madson




2008/7/28 Abraham Washington <[EMAIL PROTECTED]>

i put the call to das.applyChanges in a try/catch block which gives a little 
more info:
 java.lang.NullPointerExceptionat 
org.apache.tuscany.das.rdb.impl.ApplyChangesCommandImpl.execute(ApplyChangesCommandImpl.java:58)
 
at org.apache.tuscany.das.rdb.impl.DASImpl.applyChanges(DASImpl.java:310) 
at 
org.soa.services.OrganizationDataServiceImpl.updateOrganization(OrganizationDataServiceImpl.java:188)
 
at 
org.soa.services.OrganizationServiceImpl.updateOrganization(OrganizationServiceImpl.java:60)
 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 
at java.lang.reflect.Method.invoke(Method.java:585) 
at 
org.apache.tuscany.sca.implementation.spring.SpringInvoker.doInvoke(SpringInvoker.java:100)
 
at 
org.apache.tuscany.sca.implementation.spring.SpringInvoker.invoke(SpringInvoker.java:116)
 
at org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(
PassByValueInterceptor.java:108) 
at 
org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
 
at 
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:108)
 
at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
 
at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
 
at $Proxy7.updateOrganization(Unknown Source)
 
 
here's line 63 from my test runner:
 
commonj.sdo.DataObject account = 
organizationService.getOrganization(organizationId); 
organizationService.updateOrganization(account);
 
line 63 is organizationService.updateOrganization(organizationId);
 
thx...hope this helps...all i'm doing is grabbing the org (just a simple find) 
in getOrganization, then passing that org to update.   no changes are made.  
maybe i'm not closing a connection ?
 
 

 


----- Original Message ----
From: Jean Madson <[EMAIL PROTECTED]>
To: [email protected]

Sent: Monday, July 28, 2008 4:37:34 PM
Subject: Re: das npe in PassByValueInterceptor


OK, Abraham.
It seems like an invalid reference object in line 63.
What is there?
Can you put here a numbered excerpt of the code around 63 line?



2008/7/28 Abraham Washington <[EMAIL PROTECTED]>

hi jean...that is the entire stack trace.  i'm running within eclipse and 
that's all that's given.  i'm using oracle if that helps.  
 update account now...
Exception in thread "main" java.lang.NullPointerExceptionat 
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.copyFault(PassByValueInterceptor.java:125)
 
at 
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:115)
 
at 
org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
 
at 
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:108)
 
at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
 
at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
 
at $Proxy7.updateOrganization(Unknown Source)
at 
helloworld.OrganizationServiceCompositeRunner.main(OrganizationServiceCompositeRunner.java:63)
 
 
let me know if you need more info...abe



----- Original Message ----
From: Jean Madson <[EMAIL PROTECTED]>
To: [email protected]
Sent: Monday, July 28, 2008 3:52:49 PM
Subject: Re: das npe in PassByValueInterceptor


Can you put here all stack trace?




2008/7/28 Abraham Washington <[EMAIL PROTECTED]>

hi,  i'm trying to get DAS to work for my service.  i'm able to query and get 
results back no problem.  below is my code for updating.  if i take out the 
call to account.set(....), then the apply works (but there were no changes to 
the DataObject).  with the account.set(...) call, the exception is thrown.  
ideas? thx abe
 
 
Command read = das.getCommand("getAccountByID"); 
read.setParameter(1, Integer.valueOf(organizationId));
root = read.executeQuery();
DataObject account = root.getDataObject("ACCOUNT[1]"); 
System.out.println("accountName before change -> "+ 
account.getString("ACCOUNT_NAME")); 
account.set("ACCOUNT_NAME", "TestAccount"); 
System.out.println("apply changes..."); 
das.applyChanges(root);
 
 
apply changes...Exception in thread "main" java.lang.NullPointerExceptionat 
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.copyFault(PassByValueInterceptor.java:125)
 
at 
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:115)
 
at 
org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
 
at 
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:108)
 
at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
 
at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
 
at $Proxy7.updateOrganization(Unknown Source)
 
 
 

















getDataGraph()


      

Reply via email to