0 Replies Latest reply on Jun 15, 2010 12:40 PM by Maynard Witten

    Are there standard components or framework for datamodel and provider

    Maynard Witten Newbie



      as far as understand - one should  write his or her own DataModel and DataProvider clases that inhert or extend SerializableDataModel or CalendarDataModel for use in RichFaces ExtendedDataTable or RichFaces Calendar. As I understand, then DataModel is like in-memory dataset that caches data and DataProvider ir more like Query or Command component in .NET or other technologies. I guess - there can be plenty that can be repeated in those componets/classes - e.g. in other frameworks one should provide only SQL command to dataprovider (query component) and then the remaining is done by component itself (e.g. component knows what collection to use for data storage, when to retreive additional data, if nedded; instead - in Java one is required to choose his own collection, his own caching and write all this down etc). So - clearly - there can be some framework for DataModels and DataProviders that can use generic extensively. Are there any such frameworks available in open source? Maybe there is work in progress already?


      So - some ideas can be - if query/command components in other frameworks receive SQL commands, then RichFaces DataModel and Provider components could receive entities as type parameters (if implemented using generics), even more - there can be standard implementation of DataModelItem with all the infrastructure of surrogate keys already in place (that is needed for RichFaces components only for taking selectio and so on) and the nececssary extension points where the specific entities could be attached, etc.


      Even more - I guess - there can be visual components that acts as DataModel or DataAdapter and as far as understand then data controls in Oracle Fusion Framework is bold step in this direction, isn't it?


      There can be at least good practice regarding the implementatio nof those components mentioned docuemted.