Re: problem with ExtendedType in Cayenne 4.2
Andrus Adamchik <[email protected]>
| Newsgroups | gmane.comp.java.cayenne.user |
|---|---|
| Message-ID | <[email protected]> |
Here is another random idea - could you verify that your adapter is in use? Andrus > On Jun 29, 2020, at 11:27 AM, Andrea Biasillo <[email protected]> wrote: > > Hi Andrus and thank you! > > I tried to override configureExtendedTypes but still the method materializeObject is not inoked. > > Regards, > Andrea > > On 2020/06/29 08:19:15, Andrus Adamchik <[email protected]> wrote: >> Hi Andrea, >> >> "materializeObject" method should still be called of course. When registering custom types within the adapter, I'd usually override "configureExtendedTypes": >> >> @Override >> protected void configureExtendedTypes(ExtendedTypeMap map) { >> super.configureExtendedTypes(map); >> map.registerType(new SourceIdType()); >> } >> >> I suspect it might make a difference, considering somewhat complicated type override rules in the adapter. >> >> Andrus >> >> >>> On Jun 29, 2020, at 11:04 AM, Andrea Biasillo <[email protected]> wrote: >>> >>> Hi! >>> >>> We are migrating from 4.0.2 to 4.2. We have a class that implements ExtendedType. >>> In 4.0.2 the method: >>> >>> public SourceId materializeObject(ResultSet rs, int index, int type) throws Exception >>> >>> was invoked, but not in 4.2. >>> >>> We register our class in this way: >>> >>> public class DataloyOracleAdapter extends OracleAdapter { >>> >>> public DataloyOracleAdapter(@Inject RuntimeProperties runtimeProperties, >>> @Inject(Constants.SERVER_DEFAULT_TYPES_LIST) List<ExtendedType> defaultExtendedTypes, >>> @Inject(Constants.SERVER_USER_TYPES_LIST) List<ExtendedType> userExtendedTypes, >>> @Inject(Constants.SERVER_TYPE_FACTORIES_LIST) List<ExtendedTypeFactory> extendedTypeFactories, >>> @Inject(Constants.SERVER_RESOURCE_LOCATOR) ResourceLocator resourceLocator, >>> @Inject ValueObjectTypeRegistry valueObjectTypeRegistry) { >>> super(runtimeProperties, defaultExtendedTypes, userExtendedTypes, extendedTypeFactories, resourceLocator, >>> valueObjectTypeRegistry); >>> setSupportsGeneratedKeys(false); >>> //super.setPkGenerator(new DataloyPkGenerator()); >>> >>> setSupportsBatchUpdates(false); >>> this.extendedTypes.registerType(new SourceIdType()); >>> } >>> >>> >>> } >>> >>> >>> What is wrong? What should be changed? >>> >>> Many regards, >>> Andrea >> >>