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

Reply via email to