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:
>>
>> *
>>
>> public
>> *DataObject 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());
>>
>> *return* account;
>>
>> }
>>
>>
>>
>> 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.NullPointerException
>>> *
>>>
>>> at 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.NullPointerException*
>>>>
>>>> at
>>>> 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.NullPointerException*
>>>>>
>>>>> at
>>>>> 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)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>
>
>
>

Reply via email to