Hi Craig, Michelle, > The problem is that if you declare the PI* address property in > PICompany as > PIAddress getAddress() > void setAddress(PIAddress) > > then it doesn't implement ICompany any more, since you also need > these from the ICompany interface: > IAddress getAddress() > void setAddress(IAddress) > > And of course these are the methods that the e.g. FC classes > implement by casting the input IAddress to FCAddress. Which is what > we want the generated PICompanyImpl to do because we specify that the > type of the field is PIAddress.
There are still places where there is no "types" (annotations) or "field-type" (XML) specified on overridden interface fields. I'll start from the one that "companyPMInterface.conf" complains about PIInsurance has no <property field-type="..."> on field "employee". PIDSInsurance has no @Persistent(types=) on field "employee". Fix those and re-run, you then get the error on PIEmployee "dentalInsurance", "medicalInsurance", "department", "fundingDept", ... PIDSEmployee etc When those are fixed there are likely some others. Only when *all* of these are added can we address if JPOX can cope with that structure or not. As it is currently there are persistent properties that are not persistent. Maybe JPOX will cope ? PS. Let's face it, the persistent-interface structure is an artificially constructed case that is no longer representative of the real world, and staring at it for several minutes causes madness to set in ... -- Andy (Java Persistent Objects - http://www.jpox.org)
