Index: src/java/org/apache/jdo/tck/pc/company/CompanyFactoryAbstractImpl.java =================================================================== --- src/java/org/apache/jdo/tck/pc/company/CompanyFactoryAbstractImpl.java (revision 553288) +++ src/java/org/apache/jdo/tck/pc/company/CompanyFactoryAbstractImpl.java (working copy) @@ -43,7 +43,10 @@ public CompanyFactoryAbstractImpl(PersistenceManager pm) { this.pm = pm; } - + + /** Creates a new instance of CompanyFactoryAbstractImpl */ + public CompanyFactoryAbstractImpl() {} + /** * String indicating the type of identity used for the current test case. * The value is either "applicationidentity" or "datastoreidentity". @@ -52,7 +55,7 @@ System.getProperty("jdo.tck.identitytype"); boolean isAppIdentity = "applicationidentity".equals(identitytype); - abstract public IAddress newAddress(); + abstract public Object newAddress(); abstract public ICompany newCompany(); abstract public IDentalInsurance newDentalInsurance(); abstract public IDepartment newDepartment(); @@ -61,19 +64,19 @@ abstract public IPartTimeEmployee newPartTimeEmployee(); abstract public IProject newProject(); - public IAddress newAddress(long addrid, String street, String city, - String state, String zipcode, String country) { - IAddress result = newAddress(); - if (debug) logger.debug("newAddress returned" + result); - result.setAddrid(addrid); - result.setStreet(street); - result.setCity(city); - result.setState(state); - result.setZipcode(zipcode); - result.setCountry(country); - return result; - } - +// public IAddress newAddress(long addrid, String street, String city, +// String state, String zipcode, String country) { +// IAddress result = newAddress(); +// if (debug) logger.debug("newAddress returned" + result); +// result.setAddrid(addrid); +// result.setStreet(street); +// result.setCity(city); +// result.setState(state); +// result.setZipcode(zipcode); +// result.setCountry(country); +// return result; +// } +// public ICompany newCompany(long companyid, String name, java.util.Date founded) { ICompany result = newCompany(); Index: src/java/org/apache/jdo/tck/pc/company/CompanyFactoryConcreteClass.java =================================================================== --- src/java/org/apache/jdo/tck/pc/company/CompanyFactoryConcreteClass.java (revision 553288) +++ src/java/org/apache/jdo/tck/pc/company/CompanyFactoryConcreteClass.java (working copy) @@ -27,7 +27,8 @@ * This class is the company factory that uses constructors of the * concrete classes. */ -public class CompanyFactoryConcreteClass implements CompanyFactory { +public class CompanyFactoryConcreteClass + extends CompanyFactoryAbstractImpl implements CompanyFactory { /** */ public static final Class[] tearDownClasses = new Class[] { @@ -52,7 +53,7 @@ return new Company(companyid, name, founded, addr); } - public IAddress newAddress(long addrid, + public Object newAddress(long addrid, String street, String city, String state, String zipcode, String country) { return new Address(addrid, street, city, state, zipcode, country); @@ -143,4 +144,28 @@ public Class[] getTearDownClasses() { return tearDownClasses; } + public Object newAddress() { + return new Address(); + } + public ICompany newCompany() { + return new Company(); + } + public IDentalInsurance newDentalInsurance() { + return new DentalInsurance(); + } + public IDepartment newDepartment() { + return new Department(); + } + public IFullTimeEmployee newFullTimeEmployee() { + return new FullTimeEmployee(); + } + public IMedicalInsurance newMedicalInsurance() { + return new MedicalInsurance(); + } + public IPartTimeEmployee newPartTimeEmployee() { + return new PartTimeEmployee(); + } + public IProject newProject() { + return new Project(); + } } Index: src/java/org/apache/jdo/tck/pc/company/CompanyFactoryAnnotatedPMInterface.java =================================================================== --- src/java/org/apache/jdo/tck/pc/company/CompanyFactoryAnnotatedPMInterface.java (revision 553288) +++ src/java/org/apache/jdo/tck/pc/company/CompanyFactoryAnnotatedPMInterface.java (working copy) @@ -89,8 +89,8 @@ } } - public IAddress newAddress() { - return (IAddress)pm.newInstance(addressClass); + public Object newAddress() { + return pm.newInstance(addressClass); } public ICompany newCompany() { Index: src/java/org/apache/jdo/tck/pc/company/CompanyFactoryPMClass.java =================================================================== --- src/java/org/apache/jdo/tck/pc/company/CompanyFactoryPMClass.java (revision 553288) +++ src/java/org/apache/jdo/tck/pc/company/CompanyFactoryPMClass.java (working copy) @@ -42,8 +42,8 @@ super(pm); } - public IAddress newAddress() { - return (IAddress)pm.newInstance(Address.class); + public Object newAddress() { + return pm.newInstance(Address.class); } public ICompany newCompany() { Index: src/java/org/apache/jdo/tck/pc/company/CompanyFactoryPMInterface.java =================================================================== --- src/java/org/apache/jdo/tck/pc/company/CompanyFactoryPMInterface.java (revision 553288) +++ src/java/org/apache/jdo/tck/pc/company/CompanyFactoryPMInterface.java (working copy) @@ -42,8 +42,8 @@ super(pm); } - public IAddress newAddress() { - return (IAddress)pm.newInstance(IAddress.class); + public Object newAddress() { + return pm.newInstance(IAddress.class); } public ICompany newCompany() { Index: src/java/org/apache/jdo/tck/pc/company/CompanyFactoryAnnotatedPMFieldClass.java =================================================================== --- src/java/org/apache/jdo/tck/pc/company/CompanyFactoryAnnotatedPMFieldClass.java (revision 553288) +++ src/java/org/apache/jdo/tck/pc/company/CompanyFactoryAnnotatedPMFieldClass.java (working copy) @@ -92,8 +92,8 @@ }; } - public IAddress newAddress() { - return (IAddress)pm.newInstance(addressClass); + public Object newAddress() { + return pm.newInstance(addressClass); } public ICompany newCompany() { Index: src/java/org/apache/jdo/tck/pc/company/CompanyFactory.java =================================================================== --- src/java/org/apache/jdo/tck/pc/company/CompanyFactory.java (revision 553288) +++ src/java/org/apache/jdo/tck/pc/company/CompanyFactory.java (working copy) @@ -32,37 +32,45 @@ * CompanyFactoryRegistry. */ public interface CompanyFactory { - ICompany newCompany(long companyid, String name, Date founded); - ICompany newCompany(long companyid, String name, Date founded, + Object newCompany(long companyid, String name, Date founded); + Object newCompany(long companyid, String name, Date founded, IAddress addr); - IAddress newAddress(long addrid, String street, String city, - String state, String zipcode, String country); - IDentalInsurance newDentalInsurance(long insid, String carrier, +// Object newAddress(long addrid, String street, String city, +// String state, String zipcode, String country); + Object newDentalInsurance(long insid, String carrier, BigDecimal lifetimeOrthoBenefit); - IDentalInsurance newDentalInsurance(long insid, String carrier, + Object newDentalInsurance(long insid, String carrier, IEmployee employee, BigDecimal lifetimeOrthoBenefit); - IDepartment newDepartment(long deptid, String name); - IDepartment newDepartment(long deptid, + Object newDepartment(long deptid, String name); + Object newDepartment(long deptid, String name, ICompany company); - IDepartment newDepartment(long deptid, + Object newDepartment(long deptid, String name, ICompany company, IEmployee employeeOfTheMonth); - IFullTimeEmployee newFullTimeEmployee(long personid, + Object newFullTimeEmployee(long personid, String first, String last, String middle, Date born, IAddress addr, Date hired, double sal); - IFullTimeEmployee newFullTimeEmployee(long personid, + Object newFullTimeEmployee(long personid, String first, String last, String middle, Date born, Date hired, double sal); - IMedicalInsurance newMedicalInsurance(long insid, String carrier, + Object newMedicalInsurance(long insid, String carrier, String planType); - IMedicalInsurance newMedicalInsurance(long insid, String carrier, + Object newMedicalInsurance(long insid, String carrier, IEmployee employee, String planType); - IPartTimeEmployee newPartTimeEmployee(long personid, + Object newPartTimeEmployee(long personid, String first, String last, String middle, Date born, Date hired, double wage); - IPartTimeEmployee newPartTimeEmployee(long personid, + Object newPartTimeEmployee(long personid, String first, String last, String middle, Date born, IAddress addr, Date hired, double wage); - IProject newProject(long projid, String name, BigDecimal budget); + Object newProject(long projid, String name, BigDecimal budget); + Object newCompany(); + Object newAddress(); + Object newDentalInsurance(); + Object newDepartment(); + Object newFullTimeEmployee(); + Object newMedicalInsurance(); + Object newPartTimeEmployee(); + Object newProject(); Class[] getTearDownClasses(); } Index: src/testdata/org/apache/jdo/tck/pc/company/companyAllRelationships.xml =================================================================== --- src/testdata/org/apache/jdo/tck/pc/company/companyAllRelationships.xml (revision 553288) +++ src/testdata/org/apache/jdo/tck/pc/company/companyAllRelationships.xml (working copy) @@ -260,28 +260,28 @@ - 1 - Unter den Linden 1 - Berlin - - 12345 - Germany + 1 + Unter den Linden 1 + Berlin + + 12345 + Germany - 2 - Broadway 1 - New York - NY - 10000 - USA + 2 + Broadway 1 + New York + NY + 10000 + USA - 3 - Market St. - San Francisco - CA - 94102 - USA + 3 + Market St. + San Francisco + CA + 94102 + USA