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