Do you want to try the source code from Tuscany? It it works out, you may
want to consider reporting to BEA.

On 8/23/06, Ritika Maheshwari <[EMAIL PROTECTED]> wrote:

Hi I tried to debug. I got the code from
http://incubator.apache.org/tuscany/java_sdo_overview.html


http://ftpna2.bea.com/pub/downloads/SDO_20_Source.zip

Is this the right place.Because when I imported these classes then i don't
see the code u mentioned below in the HelperProvider.java.Secondly I had
to make couple of methods public in HelperProvider.java (like copyHelper,
dataHelper etc) to get the org.apache.tuscany.sdo.helper
.HelperProviderImpl to compile.I get Class not found exception in the
following segment of code

static HelperProvider INSTANCE = getHelperProviderImpl();

static HelperProvider getHelperProviderImpl()
{
   try
   {
     return (HelperProvider)Class.forName(
"commonj.sdo.impl.HelperProviderImpl").newInstance();
   } catch (Exception e)
   {
     throw new RuntimeException(e);
   }
}
ritika



"Yang ZHONG" <[EMAIL PROTECTED]>
08/23/2006 08:45 AM
Please respond to
[email protected]


To
[email protected]
cc

Subject
Re: java.lang.NullPointer exception when invoking XSDHelper.INSTANCE






Seems we have assured right ClassPath, are you also interested in
debuging?

You can download sdo-api source code from Tuscany. HelperProvider.java
line
65
           provider = getInstance(HelperProvider.class.getClassLoader());
is the place instantiating HelperProvider.

Same HelperProvider.java line 176
       InputStream is = cl.getResourceAsStream(SERVICE_RESOURCE_NAME);
is the place reading "META-INF/services/commonj.sdo.impl.HelperProvider"

sdo-impl ships one "META-INF/services/commonj.sdo.impl.HelperProvider"
with
content of
   org.apache.tuscany.sdo.helper.HelperProviderImpl

On 8/23/06, Ritika Maheshwari <[EMAIL PROTECTED]> wrote:
>
> Thanks for the input.I did insert the code in my main of test client and
> the output was
> file:/C:/WTP0629Host/TestCase/
> file:/C:/WTP0629Host/TuscanySDO2/bin/
> and TuscanySDO2/bin contains
> META-INF/services/commonj.sdo.impl.HelperProvider.I am not sure why it
is
> not picking up
>
> ritika
>
>
>
> "Yang ZHONG" <[EMAIL PROTECTED]>
> 08/21/2006 09:17 AM
> Please respond to
> [email protected]
>
>
> To
> [email protected]
> cc
>
> Subject
> Re: java.lang.NullPointer exception when invoking XSDHelper.INSTANCE
>
>
>
>
>
>
> Do you want to try the following code to verify the folders part of your
> ClassPath?
>
>        try
>        {
>          for
>          (
>            java.util.Enumeration folders =
> commonj.sdo.impl.HelperProvider.class.getClassLoader().getResources(
"");
>            folders.hasMoreElements();
>          )
>            System.out.println( folders.nextElement());
>        }
>        catch(java.io.IOException eIO)
>        {}
>
>
> On 8/18/06, Ritika Maheshwari <[EMAIL PROTECTED]> wrote:
> >
> > My TestProject depends on the TuscanySDO Project .Currently The Test
> > Project has a src/main/resources directory on class path(I manually
> > created this directory)And also as you have suggested the TuscanySDO
> > Project has TuscanySDO/impl/src/main/resources on its classpath.This
> > folder contains the META-INF and HelperProvider info.
> > So basically I have put HelperProvierImpl info at all possible
> places.But
> > it just does not seem to be getting picked up.
> >
> > ritika
> >
> >
> >
> > "Yang ZHONG" <[EMAIL PROTECTED]>
> > 08/18/2006 01:44 PM
> > Please respond to
> > [email protected]
> >
> >
> > To
> > [email protected]
> > cc
> >
> > Subject
> > Re: java.lang.NullPointer exception when invoking XSDHelper.INSTANCE
> >
> >
> >
> >
> >
> >
> > sdo-impl project has a "main/resources" directory under "src"
directory
> > already, you don't really have to create your own.
> > It may be easier to just configure that as part of your "source".
> >
> > On 8/18/06, Ritika Maheshwari <[EMAIL PROTECTED]> wrote:
> > >
> > > I  created a package src.main.resources under my TestProject .Then
> under
> > > this package creates
> > META-INF/services/commonj.sdo.impl.HelperProvider.The
> > > source folder for Test Project included all the packages under this
> > > project.Therefore src.main.resources is also on the classpath.But
> still
> > I
> > > have NPE for
> > > XSDHelper.INSTANCE
> > >
> > > ritika
> > >
> > >
> > >
> > > "Yang ZHONG" <[EMAIL PROTECTED]>
> > > 08/18/2006 12:29 PM
> > > Please respond to
> > > [email protected]
> > >
> > >
> > > To
> > > [email protected]
> > > cc
> > >
> > > Subject
> > > Re: java.lang.NullPointer exception when invoking XSDHelper.INSTANCE
> > >
> > >
> > >
> > >
> > >
> > >
> > > File in folder doesn't necessarily automatically make it into
> ClassPath,
> > > you
> > > can either mvn to generate Eclipse project file or manually
configure
> > > src/main/resources
> > > as one of the project source directories
> > > project properties : Java build path : source (tab) : add folder
> > > (button)
> > > ...
> > >
> > >
> > > On 8/18/06, Ritika Maheshwari <[EMAIL PROTECTED]> wrote:
> > > >
> > > > My Test project has a folder META-INF/services which contains text
> > file
> > > > commonj.sdo.impl.HelperProvider
> > > > Also my TuscanySDO project has a folder META-INF/services in
> > > > (src.main.resources) package.which contains the same text file.
> > > >
> > > > I believe the other way I could try is to set the HelperProvider
as
> a
> > > > System property.Would you know how I could do this in Eclipse?
> > > >
> > > > ritika
> > > >
> > > >
> > > >
> > > > "Yang ZHONG" <[EMAIL PROTECTED]>
> > > > 08/18/2006 11:55 AM
> > > > Please respond to
> > > > [email protected]
> > > >
> > > >
> > > > To
> > > > [email protected]
> > > > cc
> > > >
> > > > Subject
> > > > Re: java.lang.NullPointer exception when invoking
XSDHelper.INSTANCE
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > I think it's fine to use sdo-impl project instead of the jar
> version,
> > as
> > > > long as
> > > > META-INF/services/commonj.sdo.impl.HelperProvider
> > > > is in the same ClassPath/ClassLoader as the sdo-api jar/project.
> > > >
> > > > Sometimes people forgets to include
> > > > src/main/resources
> > > > which has META-INF/services/commonj.sdo.impl.HelperProvider,
> > > > is that also your case?
> > > >
> > > > On 8/18/06, Ritika Maheshwari <[EMAIL PROTECTED]> wrote:
> > > > >
> > > > > you are right I do have sdo-api-1.0-SNAPSHOT.jar in the build
path
> > of
> > > my
> > > > > TestCase Java project (which contains my test client).This
project
> > > > depends
> > > > > on TuscanySDO project which contains all the source code for SDO
> > > > 's.(which
> > > > > I extracted from SVN)Therefore I did not put the sdo-impl jar in
> > build
> > > > > path.By the way by sdo-impl jar did you mean
> > > > > tuscany-sdo-impl-1.0-SNAPSHOT.jar?
> > > > >
> > > > > ritika
> > > > >
> > > > >
> > > > >
> > > > > "Yang ZHONG" <[EMAIL PROTECTED]>
> > > > > 08/18/2006 11:35 AM
> > > > > Please respond to
> > > > > [email protected]
> > > > >
> > > > >
> > > > > To
> > > > > [email protected]
> > > > > cc
> > > > >
> > > > > Subject
> > > > > Re: java.lang.NullPointer exception when invoking
> XSDHelper.INSTANCE
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Looks like you have sdo-api jar in ClassPath, what about
sdo-impl
> > jar?
> > > > >
> > > > > On 8/18/06, Ritika Maheshwari <[EMAIL PROTECTED]> wrote:
> > > > > >
> > > > > > Hi,
> > > > > >      here is my test client code
> > > > > >
> > > > > >    //Create a DataGraph
> > > > > >                        //SDOUtil.createTypeHelper();
> > > > > >                        DataObjectUtil.initRuntime();
> > > > > >                        URL url =
> > > thisClass.getResource("/newEMF.xsd");
> > > > > >                        InputStream inputStream =
> url.openStream();
> > > > > >                        //HelperProviderImpl helperProvider =
new
> > > > > > HelperProviderImpl();
> > > > > >                        XSDHelper.INSTANCE.define(inputStream,
> > > > > > url.toString());
> > > > > >                        inputStream.close();
> > > > > >                        DataGraphImpl datagraph =
> > > > (DataGraphImpl)SDOUtil.
> > > > > > createDataGraph();
> > > > > >                       datagraph.createRootObject(
> > > > > > "http://www.ibm.com/websphere/fvt/ejbquery/emf
> ","DataGraphRoot");
> > > > > >
> > > > > > XSDHelper.INSTANCE invocation gives the following stack trace
> > > > > > Caused by: java.lang.NullPointerException
> > > > > >        at commonj.sdo.impl.HelperProvider.getXSDHelper(
> > > > > > HelperProvider.java:343)
> > > > > >        at
> > commonj.sdo.helper.XSDHelper.<clinit>(XSDHelper.java:192)
> > > > > >        at java.lang.J9VMInternals.initializeImpl(Native
Method)
> > > > > >        at
> > java.lang.J9VMInternals.initialize(J9VMInternals.java:148)
> > > > > >        ... 4 more
> > > > > > I tried to put the HelperProviderImpl class name  in the
> > > > > > META-INF/services/commonj.sdo.impl.HelperProviderImpl text
file
> in
> > > the
> > > > > > src.main.resources package.But looks like it is not picking up
> the
> > > > name
> > > > > > for the HelperProviderImpl.
> > > > > >
> > > > > > Here is the xsd file
> > > > > >
> > > > > > <schema
> > > > > > xmlns="http://www.w3.org/2001/XMLSchema";
> > > > > > targetNamespace="http://www.ibm.com/websphere/fvt/ejbquery/emf
"
> > > > > > xmlns:ritika="http://www.ibm.com/websphere/fvt/ejbquery/emf";
> > > > > > xmlns:sdo="commonj.sdo/XML"
> > > > > > xmlns:sdoJava="commonj.sdo/java"
> > > > > > sdoJava:package="com.ibm.websphere.fvt.ejbquery.emf">
> > > > > > <complexType name="DataGraphRoot">
> > > > > >    <sequence>
> > > > > >      <element maxOccurs="unbounded" minOccurs="0"
name="deptMed"
> > > > > > type="ritika:DeptMed"/>
> > > > > >      <element maxOccurs="unbounded" minOccurs="0"
name="empMed"
> > > > > > type="ritika:EmpMed"/>
> > > > > >      <element maxOccurs="unbounded" minOccurs="0"
> > name="projectMed"
> > > > > > type="ritika:ProjectMed"/>
> > > > > >      <element maxOccurs="unbounded" minOccurs="0"
name="taskMed"
> > > > > > type="ritika:TaskMed"/>
> > > > > >      <!-- <element name="changeSummary"
> > type="sdo:ChangeSummaryType"
> > > > />
> > > > > > -->
> > > > > >    </sequence>
> > > > > > </complexType>
> > > > > > <complexType name="DeptMed">
> > > > > >   <sequence>
> > > > > >    <element name="deptno" type="int"/>
> > > > > >    <element name="name" type="string"/>
> > > > > >    <element name="budget" type="double"/>
> > > > > >    <element sdo:oppositeProperty="manages"
> > > > > > sdo:propertyType="ritika:EmpMed" name="mgr"
type="ritika:EmpMed"
> > />
> > > > > >    <element sdo:oppositeProperty="dept"
> > > > > > sdo:propertyType="ritika:ProjectMed"  name="proj"
> > > > > type="ritika:ProjectMed"
> > > > > > />
> > > > > >    <element sdo:oppositeProperty="dept"
> > > > sdo:propertyType="ritika:EmpMed"
> > > > > > name="emp" type="ritika:EmpMed"  />
> > > > > >   </sequence>
> > > > > > </complexType>
> > > > > > <complexType name="EmpMed">
> > > > > >    <sequence>
> > > > > >    <element name="empid" type="int"/>
> > > > > >    <element name="name" type="string"/>
> > > > > >    <element name="salary" type="double"/>
> > > > > >    <element name="bonus" type="double"/>
> > > > > >    <element sdo:oppositeProperty="emp"
> > > > sdo:propertyType="ritika:DeptMed"
> > > > > > name="dept" type="ritika:DeptMed" />
> > > > > >    <element sdo:oppositeProperty="emp"
> > > > sdo:propertyType="ritika:TaskMed"
> > > > > > name="task" type="ritika:TaskMed" />
> > > > > >    <element sdo:oppositeProperty="mgr"
> > > > sdo:propertyType="ritika:DeptMed"
> > > > > > name="manages" type="ritika:DeptMed" />
> > > > > >    </sequence>
> > > > > > </complexType>
> > > > > > <complexType name="ProjectMed">
> > > > > >     <sequence>
> > > > > >    <element name="projid" type="int"/>
> > > > > >    <element name="cost" type="double"/>
> > > > > >    <element name="startDate" type="dateTime"
> > > > > > sdoJava:instanceClass="java.sql.Timestamp"/>
> > > > > >    <element name="endDate" type="dateTime"
> > > > > > sdoJava:instanceClass="java.sql.Timestamp"/>
> > > > > >    <element sdo:oppositeProperty="proj"
> > > > > sdo:propertyType="ritika:DeptMed"
> > > > > > name="dept" type="ritika:DeptMed" />
> > > > > >    <element sdo:oppositeProperty="proj"
> > > > > sdo:propertyType="ritika:TaskMed"
> > > > > > name="task" type="ritika:TaskMed" />
> > > > > >    </sequence>
> > > > > > </complexType>
> > > > > > <complexType name="TaskMed">
> > > > > >    <sequence>
> > > > > >    <element name="taskid" type="int"/>
> > > > > >    <element name="description" type="string"/>
> > > > > >    <element name="startDate" type="dateTime"
> > > > > > sdoJava:instanceClass="java.sql.Timestamp" />
> > > > > >    <element name="endDate" type="dateTime"
> > > > > > sdoJava:instanceClass="java.sql.Timestamp" />
> > > > > >    <element sdo:oppositeProperty="task"
> > > > > > sdo:propertyType="ritika:ProjectMed" name="proj"
> > > > > > type="ritika:ProjectMed"/>
> > > > > >    <element sdo:oppositeProperty="task"
> > > > sdo:propertyType="ritika:EmpMed"
> > > > > > name="emp" type="ritika:EmpMed" />
> > > > > >    </sequence>
> > > > > > </complexType>
> > > > > > </schema>
> > > > > >
> > > > > > ritika
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > >
> > > > > Yang ZHONG
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > >
> > > > Yang ZHONG
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > >
> > > Yang ZHONG
> > >
> > >
> > >
> >
> >
> > --
> >
> > Yang ZHONG
> >
> >
> >
>
>
> --
>
> Yang ZHONG
>
>
>


--

Yang ZHONG





--

Yang ZHONG

Reply via email to