Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-5135

fix ojb proxies for classes with protected setters

    Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0-m5, 2.0
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Similar issues:
      KULRICE-2125Fix ContextClassLoader proxy issues in KEWHttpInvokerServiceExporter
      KULRICE-6577KRAD Infrastructure not handling null OJB proxies?
      KULRICE-7704AttributeDefinition missing setter for dependancy constraints
      KULRICE-2674UiDocumentService OJB proxy handling
      KULRICE-2572proxy="true" on EntityPrivacyPreferences causes OJB errors
      KULRICE-11417Fix the mixing of OJB and JPA in KEW Rule Maintenance
      KULRICE-3643Make private methods in document-related classes protected to improve overridability
      KULRICE-11664DocumentBase JPA versus OJB change regarding saving/restoring documentHeader
      KULRICE-4532Make all private members protected for framework base classes
      KULRICE-7020No setter property for ojbSuperFieldInternal
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required

      Description

      Groovy BOs generate setter methods that are protected. This chokes ojb (see error below). The fix is the call method.setAccessible(true) in the AbstractIndirectionHandler class in ojb.

      Caused by: org.apache.ojb.broker.PersistenceBrokerException: Error invoking method $getStaticMetaClass
      at org.apache.ojb.broker.core.proxy.AbstractIndirectionHandler.invoke(AbstractIndirectionHandler.java:363)
      at org.kuali.rice.krms.impl.repository.AgendaItemBo$$EnhancerByCGLIB$$dd9bd8b6.$getStaticMetaClass(<generated>)
      at org.kuali.rice.krms.impl.repository.AgendaItemBo.<init>(AgendaItemBo.groovy)
      at org.kuali.rice.krms.impl.repository.AgendaItemBo$$EnhancerByCGLIB$$dd9bd8b6.<init>(<generated>)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      at net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:228)
      ... 84 more
      Caused by: java.lang.IllegalAccessException: Class org.apache.ojb.broker.core.proxy.AbstractIndirectionHandler can not access a member of class org.kuali.rice.krms.impl.repository.AgendaItemBo with modifiers "protected"
      at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
      at java.lang.reflect.Method.invoke(Method.java:588)
      at org.apache.ojb.broker.core.proxy.AbstractIndirectionHandler.invoke(AbstractIndirectionHandler.java:353)
      ... 92 more

        Activity

          People

          • Assignee:
            Travis Schneeberger
            Reporter:
            Travis Schneeberger
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Structure Helper Panel