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 > >> > >> > >