Hi!

the method sortDbEntities of our EntitySorter  is not invoked with 4.2.

We register the EntitySorter in this way:



public class DataloyOracleModule implements Module {

        @Inject AdhocObjectFactory objFac;
        
        @Override
        public void configure(Binder binder) {
                ServerModule.contributeAdapterDetectors(binder).add(new 
DataloyOracleSniffer());
                ServerModule.useExternalTransactions(binder, true);
                
                
binder.bind(EntitySorter.class).to(DataloyEntitySorter.class).withoutScope();
                binder.bind(PkGenerator.class).to(DataloyPkGenerator.class);
                
binder.bind(BatchTranslatorFactory.class).to(DataloyQueryBuilderFactory.class);

        }

}





On 2020/06/29 11:17:34, Andrea Biasillo <a...@dataloy.com> wrote: 
> Hi Andrus!
> 
> I think the problem is related to our EntitySorter implementation. Something 
> has been changed  in 4.2 with EntitySorter.
> 
> Many regards,
> Andrea
> 
> On 2020/06/29 09:45:03, Andrea Biasillo <a...@dataloy.com> wrote: 
> > Hi Andrus!
> > 
> > I will provide the code soon as possible.
> > 
> > Many thanks 
> > 
> > On 2020/06/29 09:23:27, Andrus Adamchik <and...@objectstyle.org> wrote: 
> > > Could you send a Cayenne query example where this happens? 
> > > 
> > > Andrus
> > > 
> > > 
> > > > On Jun 29, 2020, at 12:20 PM, Andrea Biasillo <a...@dataloy.com> wrote:
> > > > 
> > > > 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 <and...@objectstyle.org> 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 <a...@dataloy.com> 
> > > >>> 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 <and...@objectstyle.org> 
> > > >>> 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 <a...@dataloy.com> 
> > > >>>>> 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
> > > >>>> 
> > > >>>> 
> > > >> 
> > > >> 
> > > 
> > > 
> > 
> 

Reply via email to