Re: problem with ExtendedType in Cayenne 4.2
Andrus Adamchik <[email protected]>
| Newsgroups | gmane.comp.java.cayenne.user |
|---|---|
| Message-ID | <[email protected]> |
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