Project

General

Profile

Bug #4977

Updated by Greg Shah over 3 years ago

There are some issues when trying to pass a temp-table as parameter if it contains at least one P.L.O field in it. The ASM class loader used for each instance can't find the @object@ class.

The getter/setter for the field in table definition looks ok (object<? extends _BaseObject_>), however while assigning a value to the field does use the setter method when I want to access the field value it goes through the @FieldReference.getValue@ method which returns a @BaseDataType@ so it fails to compile. Maybe the P.L.O support in temp-tables is not yet complete.

The stack trace below, tried to isolate that in a simple test - table/parameter/test_plo.p.
<pre>
Caused by: java.lang.NoClassDefFoundError: object<? extends _BaseObject_>
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetPublicMethods(Class.java:2902)
at java.lang.Class.getMethods(Class.java:1615)
at com.goldencode.p2j.persist.orm.DmoMeta.<init>(DmoMeta.java:272)
at com.goldencode.p2j.persist.orm.DmoMetadataManager.registerDmo(DmoMetadataManager.java:195)
at com.goldencode.p2j.persist.DynamicTablesHelper.createDynamicDMO(DynamicTablesHelper.java:679)
at com.goldencode.p2j.persist.TempTableBuilder.tempTablePrepareImpl(TempTableBuilder.java:2372)
at com.goldencode.p2j.persist.TempTableBuilder.tempTablePrepare(TempTableBuilder.java:2264)
at com.goldencode.p2j.persist.TempTableBuilder.tempTablePrepare(TempTableBuilder.java:2440)
at com.goldencode.p2j.persist.AbstractTempTable.copyTempTable(AbstractTempTable.java:383)
at com.goldencode.p2j.persist.AbstractTempTable.copyTempTable(AbstractTempTable.java:330)
at com.goldencode.p2j.persist.TemporaryBuffer.createDynamicTable(TemporaryBuffer.java:2169)
at com.goldencode.p2j.persist.TemporaryBuffer.createDynamicTable(TemporaryBuffer.java:2095)
</pre>

Back