Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclipselink-dev] Need to externalize concrete classes resolution to get clean extension

I have been fixing/extending TopLink source code, which look exactly the same than EclipseLink, for over 2 years. In my previous life I had also been extending MFC a framework from Microsoft. In both cases, the main problem for clean modifications without changing directly existing class is to get a handle on the instantiation of the concrete classes to swap mine, which often extend from the original.

 

EclipseLink should be extensible. To achieve this, all concrete classes’ instantiations should be customizable. Different degrees of customization are conceivable. The simpler approach is that if a property file is found in the classpath it is used to choose the concrete classes. The more complex implementation will probably end-up looking like Spring.

 

The following classes all need some modifications to get them working gracefully in my enterprise-grade application:

  • UnitOfWorkImpl
  • SessionBroker
  • ObjectBuilder
  • SequencingManager
  • DeferredChangeDetectionPolicy
  • XMLSessionConfigLoader
  • WebSphere_6_1_Platform
  • SessionsFactory
  • SessionManager
  • Oracle10Platform
  • MergeManager
  • MergeChangeSetCommand
  • VersionLockingPolicy
  • And others

 

Let me know what you think.


Back to the top