Uploaded image for project: 'OJB'
  1. OJB
  2. OJB-10

New Proxy Generation API's

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.1 CVS
    • 1.1 CVS
    • PB-API
    • None

    Description

      This is a patch to add a plugable interface for ProxyGeneration.This code has been built against HEAD, and is current with all other merges as of 3/30/05.

      This is the first pass at the code. It has been unit tested, and field tested. It is now ready for code review and comments. Assuming it is acceptable by the community, I can continue to make any fixes or suggestion that anyone has. Once the changes have been approved, and the pattern is finalized, I will update the documentation to reflect the changes.

      Summary of changes:
      -------------------------------

      • ProxyFactory has been changed to an interface with an abstract implementation, and 2 specific implementations: a CGLIB and JDK. The JDK version is OJB 1.0 compatible and is meant for use in transitioning. CGLIB is set as the default, and adds the most amount of flexibility.
      • IndirectionHandlerDefaultImpl has been changed to AbstractIndirectionHandler and 2 implementations are now provided: IndirectionHandlerJDKImpl and IndirectionHandlerCGLIBImpl. The difference between the two implementations and the Abstract class is purely the interfaces they implement to be compliant with the proxy generation API's.
      • 2 new libraries are added: CGLIB and ASM. Both seem to have compatible licenses. (CGLIB is Apache 2.0 and ASM is a BSD license).
      • ProxyHelper has been removed, and all code has been refactored into ProxyFactory. All places that used ProxyHelper have been refactored to use the ProxyFactory from their PB instances. Only 2 spots needed to have API changes to accommodate: StatementForClass and PersistentField. Both now are given a reference to ProxyFactory at creation.

      There are three files that are part of this patch: 1) the patch itself (Proxy.patch), 2) cglib-2.1.jar and 3)asm.jar.

      NOTE: JIRA is not configured right now to allow attachments for new issues. Please let me now how to get the files to the appropriate person.

      Attachments

        1. asm.jar
          26 kB
          Andrew Clute
        2. cglib-2.1.jar
          275 kB
          Andrew Clute
        3. Proxy.patch
          228 kB
          Andrew Clute

        Activity

          People

            tomdz Thomas Dudziak
            aclute Andrew Clute
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment