Re: problem with ExtendedType in Cayenne 4.2

Andrea Biasillo <[email protected]>
Newsgroups gmane.comp.java.cayenne.user
Message-ID <pony-eb26d4b97ed24d27e0f8f8afa0aa2a0ef7145fb7-fd19fefb0029a369c08d10a450d1fa34e77dfd43@user.cayenne.apache.org>
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
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.