Re: problem with ExtendedType in Cayenne 4.2

Andrea Biasillo <[email protected]>
Newsgroups gmane.comp.java.cayenne.user
Message-ID <pony-eb26d4b97ed24d27e0f8f8afa0aa2a0ef7145fb7-e8961d1b9ac4446d0152d5a5342a23e23f67c5ed@user.cayenne.apache.org>
Hi Andrus!

I think our DataloyOracleAdapter  is in use, at startup in the Wildfly log we get this:

 [org.apache.cayenne.log.JdbcEventLogger] (ServerService Thread Pool -- 87) Detected and installed adapter: com.dataloy.platform.DataloyOracleAdapter

Also another thing is the the method setJdbcObject is invoked, but not materializeObject

Regards,
Andrea

On 2020/06/29 08:35:05, Andrus Adamchik <[email protected]> wrote: 
> 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
> >> 
> >> 
> 
>
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.