You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by Scott Kurinskas <sc...@gemstone.com> on 2006/08/16 20:35:26 UTC

RE: java.lang.NullPointerException when trying to create an empty data graph

Thanks Hasan.
 
I tried this but I receive the exact same exception.  I've also tried other
mechanisms to initiate the SDO runtime (DataObjectUtil.initRuntime();) to no
avail.  I realize this has to be a trivial issue, but I'm stumped.  Below is
the little class I'm using.
 
 
import org.apache.tuscany.sdo.util.DataObjectUtil;
import org.apache.tuscany.sdo.util.SDOUtil;
import commonj.sdo.ChangeSummary;
import commonj.sdo.DataGraph;
import commonj.sdo.DataObject;
import commonj.sdo.helper.DataFactory;
import commonj.sdo.helper.TypeHelper;
import commonj.sdo.Type;
 

public class SDOTest {
 
 /**
  * @param args
  */
 static final String CUSTOMER_NAMESPACE = " <http://www.example.com/sample>
http://www.example.com/sample";
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  SDOUtil.createTypeHelper();
  //DataObjectUtil.initRuntime();
  
  try {
   
   DataGraph  dataGraph  = SDOUtil.createDataGraph();
   DataObject   customer  = dataGraph.createRootObject("
<http://www.example.com/simple> http://www.example.com/simple", "Customer");
 
   if (customer == null) {
    System.out.println("dobj is null");   
   }
   else {
    customer.setString("firstName", "scott");
    System.out.println("first name = " + customer.getString("firstName"));
   }
  
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
  
  
 }
 
}

  _____  

From: Hasan Muhammad [mailto:asundar@us.ibm.com] 
Sent: Tuesday, August 15, 2006 9:23 AM
To: tuscany-user@ws.apache.org
Subject: Re: java.lang.NullPointerException when trying to create an empty
dat a graph



Hi Scott,

It looks like the SDO Runtime did not get initialized prior to creating the
DataGraph. If so, it would most likely fail to get the right SDO Factory and
hence could return a null object for the DataGraph. Hence the
NullPointerException.

You could initiate the SDO Runtime simply by inserting the following line in
the beginning before any SDO calls..

SDOUtil.createTypeHelper();

regards

Hasan Muhammad

Allah's Messenger Muhammad (Pbuh) said, "While a man was on the way, he
found a thorny branch of a tree there on the way and removed it. Allah
thanked him for that deed and forgave him."
Inactive hide details for Scott Kurinskas
<sc...@gemstone.com>Scott Kurinskas <sc...@gemstone.com>






	Scott Kurinskas <sc...@gemstone.com> 

	08/14/2006 08:03 PM 

	

	Please respond to
tuscany-user@ws.apache.org




To

tuscany-user@ws.apache.org	



cc

	



Subject

java.lang.NullPointerException when trying to create an empty dat a graph

	 	

Hi-

I'm trying to put togther a very simple example constructing an empty
DataObject.  Its very similar to the ChangeSummary test case.  However,
whenever I try to construct an empty DataObject, I receive a null pointer
exception.  My example is below.  Its failing on 'DataObject customer ...'.
I do not understand why this exception occurs.  Any assistance would be
greatly appreciated.

try { 
DataGraph dataGraph = SDOUtil.createDataGraph();
DataObject customer =
dataGraph.createRootObject("http://www.example.com/simple
<http://www.example.com/simple> ", "Customer");
...


Exception:

java.lang.NullPointerException
at org.eclipse.emf.ecore.util.EcoreUtil.create(EcoreUtil.java:2918)
at
org.apache.tuscany.sdo.util.DataObjectUtil.create(DataObjectUtil.java:2324)
at
org.apache.tuscany.sdo.impl.DataGraphImpl.createRootObject(DataGraphImpl.jav
a:594)
at gemfire.example.customer.sdo.SDOTest.main(SDOTest.java:21) 


Regards,
Scptt




Re: java.lang.NullPointerException when trying to create an empty data graph

Posted by kelvin goodson <ke...@gmail.com>.
Scott,
  a couple of things ...
   there's no evidence in your test case of defining your type system.  To
create any DataObject there must be an instance of commonj.sdo.Type that is
accessible.  No DataObject can exist without a Type.  The ChangeSummary test
case you mention creates these Type instances in its setup routine with ...

    protected void setUp() throws Exception {
        super.setUp();

        // Populate the meta data for the test (Stock Quote) model
        URL url = getClass().getResource(TEST_MODEL);
        InputStream inputStream = url.openStream();
        XSDHelper.INSTANCE.define(inputStream, url.toString());
        inputStream.close();
    }

by supplying an xml schema which SDO can convert into Types.   Only after
this can  DataObjects relating to the types defined in the schema be
created.
If I understand your problem correctly you'll need to have something like
the xml schema referenced by the TEST_MODEL constant, adapted for your
needs.

also your namespace looks a bit funny in this posting,  perhaps thats your
email client trying to be clever, but
" <http://www.example.com/sample>
http://www.example.com/sample";

 is not a valid namespace  -- you just need the single URL "
http://www.example.com/sample";


By the way,  programs using dynamic type definition in this way (as opposed
to generaing Java classes) do not fall foul of the current problems of SDO
initialization mentioned earlier in this thread.  It's only in some cases
using generated Java classes that we sometimes have to add the explicit call
to DataObjectUtil.initRuntime()



Regards, Kelvin.

On 16/08/06, Scott Kurinskas <sc...@gemstone.com> wrote:
>
> Thanks Hasan.
>
> I tried this but I receive the exact same exception.  I've also tried
> other
> mechanisms to initiate the SDO runtime (DataObjectUtil.initRuntime();) to
> no
> avail.  I realize this has to be a trivial issue, but I'm stumped.  Below
> is
> the little class I'm using.
>
>
> import org.apache.tuscany.sdo.util.DataObjectUtil;
> import org.apache.tuscany.sdo.util.SDOUtil;
> import commonj.sdo.ChangeSummary;
> import commonj.sdo.DataGraph;
> import commonj.sdo.DataObject;
> import commonj.sdo.helper.DataFactory;
> import commonj.sdo.helper.TypeHelper;
> import commonj.sdo.Type;
>
>
> public class SDOTest {
>
> /**
>   * @param args
>   */
> static final String CUSTOMER_NAMESPACE = " <http://www.example.com/sample>
> http://www.example.com/sample";
>
> public static void main(String[] args) {
>   // TODO Auto-generated method stub
>   SDOUtil.createTypeHelper();
>   //DataObjectUtil.initRuntime();
>
>   try {
>
>    DataGraph  dataGraph  = SDOUtil.createDataGraph();
>    DataObject   customer  = dataGraph.createRootObject("
> <http://www.example.com/simple> http://www.example.com/simple",
> "Customer");
>
>    if (customer == null) {
>     System.out.println("dobj is null");
>    }
>    else {
>     customer.setString("firstName", "scott");
>     System.out.println("first name = " + customer.getString("firstName"));
>    }
>
>   }
>   catch (Exception e)
>   {
>    e.printStackTrace();
>   }
>
>
> }
>
> }
>
>   _____
>
> From: Hasan Muhammad [mailto:asundar@us.ibm.com]
> Sent: Tuesday, August 15, 2006 9:23 AM
> To: tuscany-user@ws.apache.org
> Subject: Re: java.lang.NullPointerException when trying to create an empty
> dat a graph
>
>
>
> Hi Scott,
>
> It looks like the SDO Runtime did not get initialized prior to creating
> the
> DataGraph. If so, it would most likely fail to get the right SDO Factory
> and
> hence could return a null object for the DataGraph. Hence the
> NullPointerException.
>
> You could initiate the SDO Runtime simply by inserting the following line
> in
> the beginning before any SDO calls..
>
> SDOUtil.createTypeHelper();
>
> regards
>
> Hasan Muhammad
>
> Allah's Messenger Muhammad (Pbuh) said, "While a man was on the way, he
> found a thorny branch of a tree there on the way and removed it. Allah
> thanked him for that deed and forgave him."
> Inactive hide details for Scott Kurinskas
> <sc...@gemstone.com>Scott Kurinskas <
> scott.kurinskas@gemstone.com>
>
>
>
>
>
>
>         Scott Kurinskas <sc...@gemstone.com>
>
>         08/14/2006 08:03 PM
>
>
>
>         Please respond to
> tuscany-user@ws.apache.org
>
>
>
>
> To
>
> tuscany-user@ws.apache.org
>
>
>
> cc
>
>
>
>
>
> Subject
>
> java.lang.NullPointerException when trying to create an empty dat a graph
>
>
>
> Hi-
>
> I'm trying to put togther a very simple example constructing an empty
> DataObject.  Its very similar to the ChangeSummary test case.  However,
> whenever I try to construct an empty DataObject, I receive a null pointer
> exception.  My example is below.  Its failing on 'DataObject customer
> ...'.
> I do not understand why this exception occurs.  Any assistance would be
> greatly appreciated.
>
> try {
> DataGraph dataGraph = SDOUtil.createDataGraph();
> DataObject customer =
> dataGraph.createRootObject("http://www.example.com/simple
> <http://www.example.com/simple> ", "Customer");
> ...
>
>
> Exception:
>
> java.lang.NullPointerException
> at org.eclipse.emf.ecore.util.EcoreUtil.create(EcoreUtil.java:2918)
> at
> org.apache.tuscany.sdo.util.DataObjectUtil.create(DataObjectUtil.java
> :2324)
> at
> org.apache.tuscany.sdo.impl.DataGraphImpl.createRootObject(
> DataGraphImpl.jav
> a:594)
> at gemfire.example.customer.sdo.SDOTest.main(SDOTest.java:21)
>
>
> Regards,
> Scptt
>
>
>
>
>


-- 
Best Regards
Kelvin Goodson

Re: java.lang.NullPointerException when trying to create an empty data graph

Posted by Ron Gavlin <rg...@yahoo.com>.
Hi,
 
I suspect you need to invoke XSDHelper.INSTANCE.define(customerSchemaStr) to register the types in the customer namespace with the SDO runtime.
 
- Ron
 

----- Original Message ----
From: Scott Kurinskas <sc...@gemstone.com>
To: tuscany-user@ws.apache.org
Sent: Wednesday, August 16, 2006 2:35:26 PM
Subject: RE: java.lang.NullPointerException when trying to create an empty data graph


Thanks Hasan.

I tried this but I receive the exact same exception.  I've also tried other
mechanisms to initiate the SDO runtime (DataObjectUtil.initRuntime();) to no
avail.  I realize this has to be a trivial issue, but I'm stumped.  Below is
the little class I'm using.


import org.apache.tuscany.sdo.util.DataObjectUtil;
import org.apache.tuscany.sdo.util.SDOUtil;
import commonj.sdo.ChangeSummary;
import commonj.sdo.DataGraph;
import commonj.sdo.DataObject;
import commonj.sdo.helper.DataFactory;
import commonj.sdo.helper.TypeHelper;
import commonj.sdo.Type;


public class SDOTest {

/**
  * @param args
  */
static final String CUSTOMER_NAMESPACE = " <http://www.example.com/sample>
http://www.example.com/sample";;

public static void main(String[] args) {
  // TODO Auto-generated method stub
  SDOUtil.createTypeHelper();
  //DataObjectUtil.initRuntime();
  
  try {
   
   DataGraph  dataGraph  = SDOUtil.createDataGraph();
   DataObject   customer  = dataGraph.createRootObject("
<http://www.example.com/simple> http://www.example.com/simple";, "Customer");

   if (customer == null) {
    System.out.println("dobj is null");   
   }
   else {
    customer.setString("firstName", "scott");
    System.out.println("first name = " + customer.getString("firstName"));
   }
  
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
  
  
}

}

  _____  

From: Hasan Muhammad [mailto:asundar@us.ibm.com] 
Sent: Tuesday, August 15, 2006 9:23 AM
To: tuscany-user@ws.apache.org
Subject: Re: java.lang.NullPointerException when trying to create an empty
dat a graph



Hi Scott,

It looks like the SDO Runtime did not get initialized prior to creating the
DataGraph. If so, it would most likely fail to get the right SDO Factory and
hence could return a null object for the DataGraph. Hence the
NullPointerException.

You could initiate the SDO Runtime simply by inserting the following line in
the beginning before any SDO calls..

SDOUtil.createTypeHelper();

regards

Hasan Muhammad

Allah's Messenger Muhammad (Pbuh) said, "While a man was on the way, he
found a thorny branch of a tree there on the way and removed it. Allah
thanked him for that deed and forgave him."
Inactive hide details for Scott Kurinskas
<sc...@gemstone.com>Scott Kurinskas <sc...@gemstone.com>






    Scott Kurinskas <sc...@gemstone.com> 

    08/14/2006 08:03 PM 

    

    Please respond to
tuscany-user@ws.apache.org




To

tuscany-user@ws.apache.org    



cc

    



Subject

java.lang.NullPointerException when trying to create an empty dat a graph

         

Hi-

I'm trying to put togther a very simple example constructing an empty
DataObject.  Its very similar to the ChangeSummary test case.  However,
whenever I try to construct an empty DataObject, I receive a null pointer
exception.  My example is below.  Its failing on 'DataObject customer ...'.
I do not understand why this exception occurs.  Any assistance would be
greatly appreciated.

try { 
DataGraph dataGraph = SDOUtil.createDataGraph();
DataObject customer =
dataGraph.createRootObject("http://www.example.com/simple
<http://www.example.com/simple> ", "Customer");
...


Exception:

java.lang.NullPointerException
at org.eclipse.emf.ecore.util.EcoreUtil.create(EcoreUtil.java:2918)
at
org.apache.tuscany.sdo.util.DataObjectUtil.create(DataObjectUtil.java:2324)
at
org.apache.tuscany.sdo.impl.DataGraphImpl.createRootObject(DataGraphImpl.jav
a:594)
at gemfire.example.customer.sdo.SDOTest.main(SDOTest.java:21) 


Regards,
Scptt

---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-user-help@ws.apache.org