Hi,

attached you find a patch adding new testclasses that run DataNucleus typesafe queries.

Here is the list of changes:
!       src/java/org/apache/jdo/tck/pc/companyAnnotatedPI
A       src/java/org/apache/jdo/tck/query/typesafe
A       src/java/org/apache/jdo/tck/query/typesafe/TypesafeQueryTest.java
A       src/java/org/apache/jdo/tck/query/typesafe/SimpleQueries.java
A       src/java/org/apache/jdo/tck/query/typesafe/ProjectionQueries.java
A       src/java/org/apache/jdo/tck/query/typesafe/ParameterQueries.java
A       src/conf/typesafeQueries.conf
A src/testdata/org/apache/jdo/tck/pc/company/companyForTypesafeQueryTests.xml
M       pom.xml

Please note, that I'm running Version 3.0.0-m1 of datanucleus-jdo-query that runs into a NPE in the APT (see NUCJDOQUERY-8). In order to avoid this I removed the company version using PersistenceCapable interfaces (src/java/org/apache/jdo/tck/pc/companyAnnotatedPI) from my local workspace. The NPE is fixed in the DataNuclues trunk, so with the next DN version we do not need this workaround anymore.

Regards Michael

--
*Michael Bouschen*
*Prokurist*

akquinet tech@spree GmbH
Bülowstr. 66, D-10783 Berlin

Fon:   +49 30 235 520-33
Fax:   +49 30 217 520-12
Email: michael.bousc...@akquinet.de
Url: www.akquinet.de <http://www.akquinet.de>

akquinet tech@spree GmbH, Berlin
Geschäftsführung: Martin Weber, Prof. Dr. Christian Roth
Amtsgericht Berlin-Charlottenburg HRB 86780 B
USt.-Id. Nr.: DE 225 964 680
Index: src/java/org/apache/jdo/tck/query/typesafe/TypesafeQueryTest.java
===================================================================
--- src/java/org/apache/jdo/tck/query/typesafe/TypesafeQueryTest.java   
(revision 0)
+++ src/java/org/apache/jdo/tck/query/typesafe/TypesafeQueryTest.java   
(revision 0)
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+ 
+package org.apache.jdo.tck.query.typesafe;
+
+import javax.jdo.PersistenceManager;
+
+import org.apache.jdo.tck.query.QueryTest;
+import org.apache.jdo.tck.pc.company.CompanyModelReader;
+import org.apache.jdo.tck.pc.company.CompanyFactoryRegistry;
+
+/**
+ * Superclass for all Testcases testing typesafe queries.
+ */
+public abstract class TypesafeQueryTest extends QueryTest {
+
+    /**
+     * Returns the name of the company test data resource.
+     * This implementation takes the testdata from a file specified as 
+     * system property jdo.tck.testdata.
+     * @return name of the company test data resource. 
+     */
+    protected String getCompanyTestDataResource() {
+        return inputFilename;
+    }
+
+    /** 
+     * Reads a graph of company model objects from the internal reader. This 
+     * methods explictly calls makePersistent for all named instances using the
+     * specified PersistenceManager. The method returns the CompanyModelReader 
+     * instance allowing to access a compay model instance by name.
+     * This implementation uses a CompanyFactory whos name is taken 
+     * from the system property jdo.tck.mapping.companyfactory.
+     */
+    public CompanyModelReader loadAndPersistCompanyModel(PersistenceManager 
pm) {
+        getPM();
+        CompanyFactoryRegistry.registerFactory(pm);
+        return super.loadAndPersistCompanyModel(pm);
+    }
+
+    /**
+     * Return the array of teardown classes from the CompanyModelFactory.
+     * @return an array of teardown Class instances 
+     */
+    protected Class[] getTearDownClasses() {
+        return CompanyFactoryRegistry.getInstance().getTearDownClasses();
+    }
+
+}
Index: src/java/org/apache/jdo/tck/query/typesafe/SimpleQueries.java
===================================================================
--- src/java/org/apache/jdo/tck/query/typesafe/SimpleQueries.java       
(revision 0)
+++ src/java/org/apache/jdo/tck/query/typesafe/SimpleQueries.java       
(revision 0)
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+
+package org.apache.jdo.tck.query.typesafe;
+
+import java.util.List;
+
+import javax.jdo.Query;
+import javax.jdo.PersistenceManager;
+import javax.jdo.Transaction;
+
+import org.apache.jdo.tck.JDO_Test;
+import org.apache.jdo.tck.pc.company.CompanyModelReader;
+import org.apache.jdo.tck.pc.company.CompanyFactoryRegistry;
+import org.apache.jdo.tck.pc.companyAnnotatedFC.FCAppEmployee;
+import org.apache.jdo.tck.pc.companyAnnotatedFC.QFCAppEmployee;
+import org.apache.jdo.tck.util.BatchTestRunner;
+
+import org.datanucleus.query.typesafe.TypesafeQuery;
+import org.datanucleus.api.jdo.JDOPersistenceManager;
+
+/**
+ *<B>Title:</B> .
+ *<BR>
+ *<B>Keywords:</B> query, typesafe
+ *<BR>
+ *<B>Assertion ID:</B> 
+ *<BR>
+ *<B>Assertion Description: </B>
+ */
+public class SimpleQueries extends TypesafeQueryTest {
+ 
+   /** */
+    private static final String ASSERTION_FAILED = 
+        "Assertion (SimpleQueries) failed: ";
+ 
+    /**
+     * The <code>main</code> is called when the class
+     * is directly executed from the command line.
+     * @param args The arguments passed to the program.
+     */
+    public static void main(String[] args) {
+        BatchTestRunner.run(SimpleQueries.class);
+    }
+
+    /** 
+     * 
+     */
+    public void testBasicFilter() {
+        List<FCAppEmployee> expected = 
+            getTransientCompanyModelInstancesAsList(new String[]{"emp1"});
+
+        PersistenceManager pm = getPM();
+        JDOPersistenceManager jdopm = (JDOPersistenceManager)pm;
+        Transaction tx = pm.currentTransaction();
+        try {
+            tx.begin();
+
+            TypesafeQuery<FCAppEmployee> tq = 
jdopm.newTypesafeQuery(FCAppEmployee.class);
+            QFCAppEmployee cand = QFCAppEmployee.candidate();
+            List<FCAppEmployee> results = 
+                tq.filter(cand.lastname.eq("emp1Last"))
+                .executeList();
+
+            // check query result
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, "lastname == 
emp1Last",
+                                         results, expected);
+            tx.commit();
+            tx = null;
+        } finally {
+            if ((tx != null) && tx.isActive())
+                tx.rollback();
+        }
+    }
+    
+    /** 
+     * 
+     */
+    public void testOrdering() {
+        List<FCAppEmployee> expected = 
+            getTransientCompanyModelInstancesAsList(new String[]{"emp5", 
"emp1", "emp4", "emp3", "emp2"});
+
+        PersistenceManager pm = getPM();
+        JDOPersistenceManager jdopm = (JDOPersistenceManager)pm;
+        Transaction tx = pm.currentTransaction();
+        try {
+            tx.begin();
+
+            TypesafeQuery<FCAppEmployee> tq = 
jdopm.newTypesafeQuery(FCAppEmployee.class);
+            QFCAppEmployee cand = QFCAppEmployee.candidate();
+            List<FCAppEmployee> results = 
+                tq.orderBy(cand.hiredate.asc())
+                .executeList();
+
+            // check query result
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, "order by hiredate",
+                                         results, expected);
+            tx.commit();
+            tx = null;
+        } finally {
+            if ((tx != null) && tx.isActive())
+                tx.rollback();
+        }
+    }
+
+    /**
+     * @see JDO_Test#localSetUp()
+     */
+    protected void localSetUp() {
+        loadAndPersistCompanyModel(getPM());
+        addTearDownClass(getTearDownClasses());
+    }
+}
Index: src/java/org/apache/jdo/tck/query/typesafe/ProjectionQueries.java
===================================================================
--- src/java/org/apache/jdo/tck/query/typesafe/ProjectionQueries.java   
(revision 0)
+++ src/java/org/apache/jdo/tck/query/typesafe/ProjectionQueries.java   
(revision 0)
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+
+package org.apache.jdo.tck.query.typesafe;
+
+import java.util.Arrays;
+import java.util.List;
+
+import javax.jdo.Query;
+import javax.jdo.PersistenceManager;
+import javax.jdo.Transaction;
+
+import org.apache.jdo.tck.JDO_Test;
+import org.apache.jdo.tck.pc.company.CompanyModelReader;
+import org.apache.jdo.tck.pc.company.CompanyFactoryRegistry;
+import org.apache.jdo.tck.pc.companyAnnotatedFC.FCAppEmployee;
+import org.apache.jdo.tck.pc.companyAnnotatedFC.QFCAppEmployee;
+import org.apache.jdo.tck.util.BatchTestRunner;
+
+import org.datanucleus.query.typesafe.TypesafeQuery;
+import org.datanucleus.api.jdo.JDOPersistenceManager;
+
+/**
+ *<B>Title:</B> .
+ *<BR>
+ *<B>Keywords:</B> query, typesafe
+ *<BR>
+ *<B>Assertion ID:</B> 
+ *<BR>
+ *<B>Assertion Description: </B>
+ */
+public class ProjectionQueries extends TypesafeQueryTest {
+ 
+   /** */
+    private static final String ASSERTION_FAILED = 
+        "Assertion (ProjectionQueries) failed: ";
+ 
+    /**
+     * The <code>main</code> is called when the class
+     * is directly executed from the command line.
+     * @param args The arguments passed to the program.
+     */
+    public static void main(String[] args) {
+        BatchTestRunner.run(ProjectionQueries.class);
+    }
+
+    /** 
+     * 
+     */
+    public void testProjection() {
+        List<String> expected = Arrays.asList(
+           new String[]{"emp1Last", "emp2Last", "emp3Last", "emp4Last", 
"emp5Last"});
+
+        PersistenceManager pm = getPM();
+        JDOPersistenceManager jdopm = (JDOPersistenceManager)pm;
+        Transaction tx = pm.currentTransaction();
+        try {
+            tx.begin();
+
+            TypesafeQuery<FCAppEmployee> tq = 
jdopm.newTypesafeQuery(FCAppEmployee.class);
+            QFCAppEmployee cand = QFCAppEmployee.candidate();
+            List<String> results = tq.executeResultList(String.class, false, 
cand.lastname);
+
+            // check query result
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, "SELECT lastname 
FROM ...",
+                                         results, expected);
+            tx.commit();
+            tx = null;
+        } finally {
+            if ((tx != null) && tx.isActive())
+                tx.rollback();
+        }
+    }
+
+    /**
+     * @see JDO_Test#localSetUp()
+     */
+    protected void localSetUp() {
+        loadAndPersistCompanyModel(getPM());
+        addTearDownClass(getTearDownClasses());
+    }
+}
Index: src/java/org/apache/jdo/tck/query/typesafe/ParameterQueries.java
===================================================================
--- src/java/org/apache/jdo/tck/query/typesafe/ParameterQueries.java    
(revision 0)
+++ src/java/org/apache/jdo/tck/query/typesafe/ParameterQueries.java    
(revision 0)
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+
+package org.apache.jdo.tck.query.typesafe;
+
+import java.util.List;
+
+import javax.jdo.Query;
+import javax.jdo.PersistenceManager;
+import javax.jdo.Transaction;
+
+import org.apache.jdo.tck.JDO_Test;
+import org.apache.jdo.tck.pc.company.CompanyModelReader;
+import org.apache.jdo.tck.pc.company.CompanyFactoryRegistry;
+import org.apache.jdo.tck.pc.companyAnnotatedFC.FCAppEmployee;
+import org.apache.jdo.tck.pc.companyAnnotatedFC.QFCAppEmployee;
+import org.apache.jdo.tck.util.BatchTestRunner;
+
+import org.datanucleus.query.typesafe.TypesafeQuery;
+import org.datanucleus.api.jdo.JDOPersistenceManager;
+
+/**
+ *<B>Title:</B> .
+ *<BR>
+ *<B>Keywords:</B> query, typesafe
+ *<BR>
+ *<B>Assertion ID:</B> 
+ *<BR>
+ *<B>Assertion Description: </B>
+ */
+public class ParameterQueries extends TypesafeQueryTest {
+ 
+   /** */
+    private static final String ASSERTION_FAILED = 
+        "Assertion (ParameterQueries) failed: ";
+ 
+    /**
+     * The <code>main</code> is called when the class
+     * is directly executed from the command line.
+     * @param args The arguments passed to the program.
+     */
+    public static void main(String[] args) {
+        BatchTestRunner.run(ParameterQueries.class);
+    }
+
+    /** 
+     * 
+     */
+    public void testParameter() {
+        List<FCAppEmployee> expected = 
+            getTransientCompanyModelInstancesAsList(new String[]{"emp1"});
+        
+        PersistenceManager pm = getPM();
+        JDOPersistenceManager jdopm = (JDOPersistenceManager)pm;
+        Transaction tx = pm.currentTransaction();
+        try {
+            tx.begin();
+
+            TypesafeQuery<FCAppEmployee> tq = 
jdopm.newTypesafeQuery(FCAppEmployee.class);
+            QFCAppEmployee cand = QFCAppEmployee.candidate();
+            List<FCAppEmployee> results = 
+                tq.filter(cand.lastname.eq(tq.stringParameter("param")))
+                .setParameter("param", "emp1Last")
+                .executeList();
+
+            // check query result
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, "lastname == param",
+                                         results, expected);
+            tx.commit();
+            tx = null;
+        } finally {
+            if ((tx != null) && tx.isActive())
+                tx.rollback();
+        }
+    }
+
+    /**
+     * @see JDO_Test#localSetUp()
+     */
+    protected void localSetUp() {
+        loadAndPersistCompanyModel(getPM());
+        addTearDownClass(getTearDownClasses());
+    }
+}
Index: src/conf/typesafeQueries.conf
===================================================================
--- src/conf/typesafeQueries.conf       (revision 0)
+++ src/conf/typesafeQueries.conf       (revision 0)
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+jdo.tck.description = A query test with standard mapping, testdata with all 
relationships \
+and embedded objects, but w/o meetingroom instances 
(companyForTypesafeQueryTests.xml), annotations
+jdo.tck.mapping.companyfactory = 
org.apache.jdo.tck.pc.companyAnnotatedFC.CompanyFactoryAnnotatedFCConcreteDelegator
+jdo.tck.testdata = 
org/apache/jdo/tck/pc/company/companyForTypesafeQueryTests.xml
+jdo.tck.mapping = 0
+jdo.tck.requiredOptions =
+jdo.tck.classes = \
+org.apache.jdo.tck.query.typesafe.SimpleQueries \
+org.apache.jdo.tck.query.typesafe.ProjectionQueries \
+org.apache.jdo.tck.query.typesafe.ParameterQueries
Index: 
src/testdata/org/apache/jdo/tck/pc/company/companyForTypesafeQueryTests.xml
===================================================================
--- src/testdata/org/apache/jdo/tck/pc/company/companyForTypesafeQueryTests.xml 
(revision 0)
+++ src/testdata/org/apache/jdo/tck/pc/company/companyForTypesafeQueryTests.xml 
(revision 0)
@@ -0,0 +1,403 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
"http://www.springframework.org/dtd/spring-beans.dtd";>
+
+<beans>
+    <description>Company instances for query testing</description>
+
+    <bean id="root" class="java.util.ArrayList">
+        <constructor-arg index="0">
+            <list>
+                <ref local="company1"/>
+            </list>
+        </constructor-arg>
+    </bean>
+
+    <bean id="company1" factory-bean="companyFactory" 
factory-method="newCompany">
+        <constructor-arg index="0" 
type="long"><value>1</value></constructor-arg>
+        <constructor-arg index="1" type="java.lang.String"><value>Sun 
Microsystems, Inc.</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.util.Date"><value>11/Apr/1952</value></constructor-arg>
+        <constructor-arg index="3" 
type="org.apache.jdo.tck.pc.company.IAddress"><ref 
local="addr1"/></constructor-arg>
+        <property name="departments">
+            <set>
+                <ref local="dept1"/>
+                <ref local="dept2"/>
+            </set>
+        </property>
+    </bean>
+
+    <bean id="dept1" factory-bean="companyFactory" 
factory-method="newDepartment">
+        <constructor-arg index="0" 
type="long"><value>1</value></constructor-arg>
+        <constructor-arg index="1" type="java.lang.String" 
><value>Development</value></constructor-arg>
+        <property name="company"><ref bean="company1"/></property>
+        <property name="employees">
+            <set>
+                <ref local="emp1"/>
+                <ref local="emp2"/>
+                <ref local="emp3"/>
+            </set>
+        </property>
+        <property name="fundedEmps">
+            <set>
+                <ref local="emp2"/>
+                <ref local="emp3"/>
+            </set>
+        </property>
+    </bean>
+
+    <bean id="dept2" factory-bean="companyFactory" 
factory-method="newDepartment">
+        <constructor-arg index="0" 
type="long"><value>2</value></constructor-arg>
+        <constructor-arg index="1" type="java.lang.String" ><value>Human 
Resources</value></constructor-arg>
+        <property name="company"><ref bean="company1"/></property>
+        <property name="employees">
+            <set>
+                <ref local="emp4"/>
+                <ref local="emp5"/>
+            </set>
+        </property>
+        <property name="fundedEmps">
+            <set>
+                <ref local="emp1"/>
+                <ref local="emp4"/>
+                <ref local="emp5"/>
+            </set>
+        </property>
+    </bean>
+
+    <bean id="emp1" factory-bean="companyFactory" 
factory-method="newFullTimeEmployee">
+        <constructor-arg index="0" 
type="long"><value>1</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>emp1First</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.lang.String"><value>emp1Last</value></constructor-arg>
+        <constructor-arg index="3" 
type="java.lang.String"><value>emp1Middle</value></constructor-arg>
+        <constructor-arg index="4" 
type="java.util.Date"><value>10/Jun/1970</value></constructor-arg>
+        <constructor-arg index="5" 
type="org.apache.jdo.tck.pc.company.IAddress"><ref 
local="addr1"/></constructor-arg>
+        <constructor-arg index="6" 
type="java.util.Date"><value>1/Jan/1999</value></constructor-arg>
+        <constructor-arg index="7" 
type="double"><value>20000</value></constructor-arg>
+        <property name="weeklyhours"><value>40</value></property>
+        <property name="medicalInsurance"><ref bean="medicalIns1"/></property>
+        <property name="dentalInsurance"><ref bean="dentalIns1"/></property>
+        <property name="phoneNumbers">
+               <map>
+                <entry key="home"><value>1111</value></entry>
+                <entry key="work"><value>123456-1</value></entry>
+            </map>
+           </property>
+        <property name="department"><ref bean="dept1"/></property>
+        <property name="fundingDept"><ref bean="dept2"/></property>
+        <property name="manager"><ref bean="emp2"/></property>
+        <property name="mentor"><ref bean="emp2"/></property>
+        <property name="protege"><ref bean="emp5"/></property>
+        <property name="hradvisor"><ref bean="emp5"/></property>
+        <property name="reviewedProjects">
+            <set>
+                <ref local="proj3"/>
+            </set>
+        </property>
+        <property name="projects">
+            <set>
+                <ref local="proj1"/>
+            </set>
+        </property>
+    </bean>
+    <bean id="emp2" factory-bean="companyFactory" 
factory-method="newFullTimeEmployee">
+        <constructor-arg index="0" 
type="long"><value>2</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>emp2First</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.lang.String"><value>emp2Last</value></constructor-arg>
+        <constructor-arg index="3" 
type="java.lang.String"><value>emp2Middle</value></constructor-arg>
+        <constructor-arg index="4" 
type="java.util.Date"><value>22/Dec/1975</value></constructor-arg>
+        <constructor-arg index="5" 
type="org.apache.jdo.tck.pc.company.IAddress"><ref 
local="addr2"/></constructor-arg>
+        <constructor-arg index="6" 
type="java.util.Date"><value>1/Jul/2003</value></constructor-arg>
+        <constructor-arg index="7" 
type="double"><value>10000</value></constructor-arg>
+        <property name="weeklyhours"><value>40</value></property>
+        <property name="medicalInsurance"><ref bean="medicalIns2"/></property>
+        <property name="dentalInsurance"><ref bean="dentalIns2"/></property>
+        <property name="phoneNumbers">
+               <map>
+                <entry key="home"><value>2222</value></entry>
+                <entry key="work"><value>123456-2</value></entry>
+            </map>
+           </property>
+        <property name="department"><ref bean="dept1"/></property>
+        <property name="fundingDept"><ref bean="dept1"/></property>
+        <property name="mentor"><ref bean="emp3"/></property>
+        <property name="protege"><ref bean="emp1"/></property>
+        <property name="hradvisor"><ref bean="emp5"/></property>
+        <property name="projects">
+            <set>
+                <ref local="proj1"/>
+                <ref local="proj2"/>
+            </set>
+        </property>
+        <property name="team">
+            <set>
+                <ref local="emp1"/>
+                <ref local="emp3"/>
+                <ref local="emp4"/>
+                <ref local="emp5"/>
+            </set>
+        </property>
+    </bean>
+    <bean id="emp3" factory-bean="companyFactory" 
factory-method="newPartTimeEmployee">
+        <constructor-arg index="0" 
type="long"><value>3</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>emp3First</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.lang.String"><value>emp3Last</value></constructor-arg>
+        <constructor-arg index="3" 
type="java.lang.String"><value>emp3Middle</value></constructor-arg>
+        <constructor-arg index="4" 
type="java.util.Date"><value>5/Sep/1972</value></constructor-arg>
+        <constructor-arg index="5" 
type="org.apache.jdo.tck.pc.company.IAddress"><ref 
local="addr3"/></constructor-arg>
+        <constructor-arg index="6" 
type="java.util.Date"><value>15/Aug/2002</value></constructor-arg>
+        <constructor-arg index="7" 
type="double"><value>15</value></constructor-arg>
+        <property name="weeklyhours"><value>19</value></property>
+        <property name="medicalInsurance"><ref bean="medicalIns3"/></property>
+        <property name="dentalInsurance"><ref bean="dentalIns3"/></property>
+        <property name="phoneNumbers">
+               <map>
+                <entry key="home"><value>3333</value></entry>
+                <entry key="work"><value>123456-3</value></entry>
+            </map>
+           </property>
+        <property name="department"><ref bean="dept1"/></property>
+        <property name="fundingDept"><ref bean="dept1"/></property>
+        <property name="manager"><ref bean="emp2"/></property>
+        <property name="mentor"><ref bean="emp4"/></property>
+        <property name="protege"><ref bean="emp2"/></property>
+        <property name="hradvisor"><ref bean="emp5"/></property>
+        <property name="projects">
+            <set>
+                <ref local="proj1"/>
+                <ref local="proj2"/>
+            </set>
+        </property>
+    </bean>
+    <bean id="emp4" factory-bean="companyFactory" 
factory-method="newPartTimeEmployee">
+        <constructor-arg index="0" 
type="long"><value>4</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>emp4First</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.lang.String"><value>emp4Last</value></constructor-arg>
+        <constructor-arg index="3" 
type="java.lang.String"><value>emp4Middle</value></constructor-arg>
+        <constructor-arg index="4" 
type="java.util.Date"><value>6/Sep/1973</value></constructor-arg>
+        <constructor-arg index="5" 
type="org.apache.jdo.tck.pc.company.IAddress"><ref 
local="addr3"/></constructor-arg>
+        <constructor-arg index="6" 
type="java.util.Date"><value>15/Apr/2001</value></constructor-arg>
+        <constructor-arg index="7" 
type="double"><value>13</value></constructor-arg>
+        <property name="medicalInsurance"><ref bean="medicalIns4"/></property>
+        <property name="dentalInsurance"><ref bean="dentalIns4"/></property>
+        <property name="phoneNumbers">
+               <map>
+                <entry key="home"><value>3343</value></entry>
+                <entry key="work"><value>124456-3</value></entry>
+            </map>
+           </property>
+        <property name="department"><ref bean="dept2"/></property>
+        <property name="fundingDept"><ref bean="dept2"/></property>
+        <property name="manager"><ref bean="emp2"/></property>
+        <property name="mentor"><ref bean="emp5"/></property>
+        <property name="protege"><ref bean="emp3"/></property>
+        <property name="hradvisor"><ref bean="emp5"/></property>
+        <property name="projects">
+            <set>
+                <ref local="proj3"/>
+            </set>
+        </property>
+        <property name="reviewedProjects">
+            <set>
+                <ref local="proj2"/>
+            </set>
+        </property>
+    </bean>
+    <bean id="emp5" factory-bean="companyFactory" 
factory-method="newFullTimeEmployee">
+        <constructor-arg index="0" 
type="long"><value>5</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>emp5First</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.lang.String"><value>emp5Last</value></constructor-arg>
+        <constructor-arg index="3" 
type="java.lang.String"><value>emp5Middle</value></constructor-arg>
+        <constructor-arg index="4" 
type="java.util.Date"><value>5/Jul/1962</value></constructor-arg>
+        <constructor-arg index="5" 
type="org.apache.jdo.tck.pc.company.IAddress"><ref 
local="addr3"/></constructor-arg>
+        <constructor-arg index="6" 
type="java.util.Date"><value>15/Aug/1998</value></constructor-arg>
+        <constructor-arg index="7" 
type="double"><value>45000</value></constructor-arg>
+        <property name="medicalInsurance"><ref bean="medicalIns5"/></property>
+        <property name="dentalInsurance"><ref bean="dentalIns5"/></property>
+        <property name="phoneNumbers">
+               <map>
+                <entry key="home"><value>3363</value></entry>
+                <entry key="work"><value>126456-3</value></entry>
+            </map>
+           </property>
+        <property name="department"><ref bean="dept2"/></property>
+        <property name="fundingDept"><ref bean="dept2"/></property>
+        <property name="manager"><ref bean="emp2"/></property>
+        <property name="mentor"><ref bean="emp1"/></property>
+        <property name="protege"><ref bean="emp4"/></property>
+        <property name="projects">
+            <set>
+                <ref local="proj3"/>
+            </set>
+        </property>
+        <property name="reviewedProjects">
+            <set>
+                <ref local="proj2"/>
+            </set>
+        </property>
+        <property name="hradvisees">
+            <set>
+                <ref local="emp1"/>
+                <ref local="emp2"/>
+                <ref local="emp3"/>
+                <ref local="emp4"/>
+            </set>
+        </property>
+    </bean>
+
+    <bean id="addr1" factory-bean="companyFactory" factory-method="newAddress">
+        <constructor-arg index="0" 
type="long"><value>1</value></constructor-arg>
+        <constructor-arg index="1" type="java.lang.String"><value>Unter den 
Linden 1</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.lang.String"><value>Berlin</value></constructor-arg>
+        <constructor-arg index="3" type="java.lang.String"><value>  
</value></constructor-arg>
+        <constructor-arg index="4" 
type="java.lang.String"><value>12345</value></constructor-arg>
+        <constructor-arg index="5" 
type="java.lang.String"><value>Germany</value></constructor-arg>
+    </bean>
+    <bean id="addr2" factory-bean="companyFactory" factory-method="newAddress">
+        <constructor-arg index="0" 
type="long"><value>2</value></constructor-arg>
+        <constructor-arg index="1" type="java.lang.String"><value>Broadway 
1</value></constructor-arg>
+        <constructor-arg index="2" type="java.lang.String"><value>New 
York</value></constructor-arg>
+        <constructor-arg index="3" 
type="java.lang.String"><value>NY</value></constructor-arg>
+        <constructor-arg index="4" 
type="java.lang.String"><value>10000</value></constructor-arg>
+        <constructor-arg index="5" 
type="java.lang.String"><value>USA</value></constructor-arg>
+    </bean>
+    <bean id="addr3" factory-bean="companyFactory" factory-method="newAddress">
+        <constructor-arg index="0" 
type="long"><value>3</value></constructor-arg>
+        <constructor-arg index="1" type="java.lang.String"><value>Market 
St.</value></constructor-arg>
+        <constructor-arg index="2" type="java.lang.String"><value>San 
Francisco</value></constructor-arg>
+        <constructor-arg index="3" 
type="java.lang.String"><value>CA</value></constructor-arg>
+        <constructor-arg index="4" 
type="java.lang.String"><value>94102</value></constructor-arg>
+        <constructor-arg index="5" 
type="java.lang.String"><value>USA</value></constructor-arg>
+    </bean>
+
+    <bean id="medicalIns1" factory-bean="companyFactory" 
factory-method="newMedicalInsurance">
+        <constructor-arg index="0" 
type="long"><value>1</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>Carrier1</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.lang.String"><value>PPO</value></constructor-arg>
+        <property name="employee"><ref bean="emp1"/></property>
+    </bean>
+
+    <bean id="medicalIns2" factory-bean="companyFactory" 
factory-method="newMedicalInsurance">
+        <constructor-arg index="0" 
type="long"><value>2</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>Carrier2</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.lang.String"><value>HMO</value></constructor-arg>
+        <property name="employee"><ref bean="emp2"/></property>
+    </bean>
+
+    <bean id="medicalIns3" factory-bean="companyFactory" 
factory-method="newMedicalInsurance">
+        <constructor-arg index="0" 
type="long"><value>3</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>Carrier3</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.lang.String"><value>HMO</value></constructor-arg>
+        <property name="employee"><ref bean="emp3"/></property>
+    </bean>
+
+    <bean id="medicalIns4" factory-bean="companyFactory" 
factory-method="newMedicalInsurance">
+        <constructor-arg index="0" 
type="long"><value>4</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>Carrier4</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.lang.String"><value>HMO</value></constructor-arg>
+        <property name="employee"><ref bean="emp4"/></property>
+    </bean>
+
+    <bean id="medicalIns5" factory-bean="companyFactory" 
factory-method="newMedicalInsurance">
+        <constructor-arg index="0" 
type="long"><value>5</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>Carrier5</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.lang.String"><value>HMO</value></constructor-arg>
+        <property name="employee"><ref bean="emp5"/></property>
+    </bean>
+
+    <bean id="dentalIns1" factory-bean="companyFactory" 
factory-method="newDentalInsurance">
+        <constructor-arg index="0" 
type="long"><value>11</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>Carrier1</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
+        <property name="employee"><ref bean="emp1"/></property>
+    </bean>
+
+    <bean id="dentalIns2" factory-bean="companyFactory" 
factory-method="newDentalInsurance">
+        <constructor-arg index="0" 
type="long"><value>12</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>Carrier2</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
+        <property name="employee"><ref bean="emp2"/></property>
+    </bean>
+
+    <bean id="dentalIns3" factory-bean="companyFactory" 
factory-method="newDentalInsurance">
+        <constructor-arg index="0" 
type="long"><value>13</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>Carrier3</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
+        <property name="employee"><ref bean="emp3"/></property>
+    </bean>
+
+    <bean id="dentalIns4" factory-bean="companyFactory" 
factory-method="newDentalInsurance">
+        <constructor-arg index="0" 
type="long"><value>14</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>Carrier4</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
+        <property name="employee"><ref bean="emp4"/></property>
+    </bean>
+
+    <bean id="dentalIns5" factory-bean="companyFactory" 
factory-method="newDentalInsurance">
+        <constructor-arg index="0" 
type="long"><value>15</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>Carrier5</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
+        <property name="employee"><ref bean="emp5"/></property>
+    </bean>
+
+    <bean id="proj1" factory-bean="companyFactory" factory-method="newProject">
+        <constructor-arg index="0" 
type="long"><value>1</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>orange</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.math.BigDecimal"><value>2500000.99</value></constructor-arg>
+        <property name="members">
+            <set>
+                <ref local="emp1"/>
+                <ref local="emp2"/>
+                <ref local="emp3"/>
+            </set>
+        </property>
+    </bean>
+    <bean id="proj2" factory-bean="companyFactory" factory-method="newProject">
+        <constructor-arg index="0" 
type="long"><value>2</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>blue</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.math.BigDecimal"><value>50000.00</value></constructor-arg>
+        <property name="reviewers">
+            <set>
+                <ref local="emp4"/>
+                <ref local="emp5"/>
+            </set>
+        </property>
+        <property name="members">
+            <set>
+                <ref local="emp2"/>
+                <ref local="emp3"/>
+            </set>
+        </property>
+    </bean>
+    <bean id="proj3" factory-bean="companyFactory" factory-method="newProject">
+        <constructor-arg index="0" 
type="long"><value>3</value></constructor-arg>
+        <constructor-arg index="1" 
type="java.lang.String"><value>green</value></constructor-arg>
+        <constructor-arg index="2" 
type="java.math.BigDecimal"><value>2000.99</value></constructor-arg>
+        <property name="reviewers">
+            <set>
+                <ref local="emp1"/>
+            </set>
+        </property>
+        <property name="members">
+            <set>
+                <ref local="emp4"/>
+                <ref local="emp5"/>
+            </set>
+        </property>
+    </bean>
+</beans>
+
Index: pom.xml
===================================================================
--- pom.xml     (revision 1095936)
+++ pom.xml     (working copy)
@@ -43,8 +43,8 @@
                             </execution>
                         </executions>
                         <configuration>
-                            <doInstallSchema>true</doInstallSchema>
-                            <doEnhance>true</doEnhance>
+                            <doInstallSchema>false</doInstallSchema>
+                            <doEnhance>false</doEnhance>
                             <doRunTCK>true</doRunTCK>
                             <impl>jdori</impl>
                             <pmfProperties>jdori-pmf.properties</pmfProperties>
@@ -56,6 +56,8 @@
                             
<dbproperties>-Dderby.system.home=${basedir}/target/database/derby</dbproperties>
                             
<signaturefile>${basedir}/src/conf/jdo-3_1-signatures.txt</signaturefile>
                             <cfgs>
+                                <cfg>typesafeQueries.conf</cfg>
+                           <!--  
                                 <cfg>company1-1Relationships.conf</cfg>
                                 <cfg>company1-MRelationships.conf</cfg>
                                 <cfg>companyAllRelationships.conf</cfg>
@@ -113,6 +115,7 @@
                                 <cfg>schemaAttributePackage.conf</cfg>
                                 <cfg>security.conf</cfg>
                                 <cfg>transactions.conf</cfg>
+                           -->
                             </cfgs>
                         </configuration>
                     </plugin>
@@ -249,10 +252,12 @@
         </resources>
         <plugins>
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.3.2</version>
                 <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
+                    <source>1.6</source>
+                    <target>1.6</target>
                 </configuration>
             </plugin>
             <plugin>
@@ -266,8 +271,8 @@
             <plugin>
                 <artifactId>maven-javadoc-plugin</artifactId>
                 <configuration>
-                    <doctitle>${pom.name} ${pom.currentVersion}</doctitle>
-                    <windowtitle>${pom.name} 
${pom.currentVersion}</windowtitle>
+                    <doctitle>${project.name} ${pom.currentVersion}</doctitle>
+                    <windowtitle>${project.name} 
${pom.currentVersion}</windowtitle>
                 </configuration>
             </plugin>
         </plugins>
@@ -277,7 +282,22 @@
             <groupId>javax.jdo</groupId>
             <artifactId>jdo-api</artifactId>
         </dependency>
+       <dependency>
+            <groupId>org.datanucleus</groupId>
+            <artifactId>datanucleus-core</artifactId>
+            <version>3.0.0-m3</version>
+        </dependency>
         <dependency>
+            <groupId>org.datanucleus</groupId>
+            <artifactId>datanucleus-jdo-query</artifactId>
+            <version>3.0.0-m1</version>
+        </dependency>
+      <dependency>
+        <groupId>org.datanucleus</groupId>
+        <artifactId>datanucleus-api-jdo</artifactId>
+        <version>3.0.0-m3</version>
+      </dependency>
+        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
         </dependency>
@@ -309,13 +329,17 @@
     <reporting>
         <plugins>
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-changes-plugin</artifactId>
+                <version>2.4</version>
                 <configuration>
                     <xmlPath>${basedir}/xdocs/changes.xml</xmlPath>
                 </configuration>
             </plugin>
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
+                <version>2.6</version>
                 <configuration>
                     
<configLocation>${basedir}/../jdo_checks.xml</configLocation>
                     <headerLocation>${basedir}/../LICENSE.txt</headerLocation>

Reply via email to