================================================================================ Merge Diffs: /ade/ailitche_toplink_main/tldev/source/essentials/oracle/toplink/essentials/internal/descriptors/ObjectBuilder.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/ailitche/ailitche_ri_5470091_060816/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.25 Report generated at Wed Aug 16 15:18:13 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/ailitche/ailitche_ri_5470091_060816/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.25 Wed Aug 16 14:55:22 2006 --- /ade/ailitche_toplink_main/tldev/source/essentials/oracle/toplink/essentials/internal/descriptors/ObjectBuilder.java Wed Aug 16 15:18:12 2006 *************** *** 2175,2181 **** } // Check if already unwrapped. ! if ((getDescriptor().getJavaClass() == proxy.getClass()) || (getDescriptor().hasWrapperPolicy() && (!getDescriptor().getWrapperPolicy().isWrapped(proxy)))) { return proxy; } --- 2175,2181 ---- } // Check if already unwrapped. ! if ((getDescriptor().getJavaClass() == proxy.getClass()) || !getDescriptor().hasWrapperPolicy() || !getDescriptor().getWrapperPolicy().isWrapped(proxy)) { return proxy; } *************** *** 2276,2294 **** } // Check if already wrapped. ! if (getDescriptor().hasWrapperPolicy() && getDescriptor().getWrapperPolicy().isWrapped(implementation)) { return implementation; } // Allow for inheritance, the concrete wrapper must always be used. ! if (getDescriptor().hasInheritance() && (implementation.getClass() != getDescriptor().getJavaClass())) { ! return session.getDescriptor(implementation).getObjectBuilder().wrapObject(implementation, session); ! } else { ! if (getDescriptor().hasWrapperPolicy()) { ! return getDescriptor().getWrapperPolicy().wrapObject(implementation, session); ! } else { ! return implementation; } } } } --- 2276,2297 ---- } // Check if already wrapped. ! if (!getDescriptor().hasWrapperPolicy() || getDescriptor().getWrapperPolicy().isWrapped(implementation)) { return implementation; } // Allow for inheritance, the concrete wrapper must always be used. ! if (getDescriptor().hasInheritance() && getDescriptor().getInheritancePolicy().hasChildren() && (implementation.getClass() != getDescriptor().getJavaClass())) { ! ClassDescriptor descriptor = session.getDescriptor(implementation); ! if(descriptor != getDescriptor()) { ! return descriptor.getObjectBuilder().wrapObject(implementation, session); } } + if (getDescriptor().hasWrapperPolicy()) { + return getDescriptor().getWrapperPolicy().wrapObject(implementation, session); + } else { + return implementation; + } } } + ================================================================================ Merge Diffs: /ade/ailitche_toplink_main/tldev/source/essentials/oracle/toplink/essentials/internal/descriptors/ObjectBuilder.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/ailitche/ailitche_ri_5470091_060816/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.25 Report generated at Wed Aug 16 15:18:49 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/ailitche/ailitche_ri_5470091_060816/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.25 Wed Aug 16 14:55:22 2006 --- /ade/ailitche_toplink_main/tldev/source/essentials/oracle/toplink/essentials/internal/descriptors/ObjectBuilder.java Wed Aug 16 15:18:12 2006 *************** *** 2175,2181 **** } // Check if already unwrapped. ! if ((getDescriptor().getJavaClass() == proxy.getClass()) || (getDescriptor().hasWrapperPolicy() && (!getDescriptor().getWrapperPolicy().isWrapped(proxy)))) { return proxy; } --- 2175,2181 ---- } // Check if already unwrapped. ! if ((getDescriptor().getJavaClass() == proxy.getClass()) || !getDescriptor().hasWrapperPolicy() || !getDescriptor().getWrapperPolicy().isWrapped(proxy)) { return proxy; } *************** *** 2276,2294 **** } // Check if already wrapped. ! if (getDescriptor().hasWrapperPolicy() && getDescriptor().getWrapperPolicy().isWrapped(implementation)) { return implementation; } // Allow for inheritance, the concrete wrapper must always be used. ! if (getDescriptor().hasInheritance() && (implementation.getClass() != getDescriptor().getJavaClass())) { ! return session.getDescriptor(implementation).getObjectBuilder().wrapObject(implementation, session); ! } else { ! if (getDescriptor().hasWrapperPolicy()) { ! return getDescriptor().getWrapperPolicy().wrapObject(implementation, session); ! } else { ! return implementation; } } } } --- 2276,2297 ---- } // Check if already wrapped. ! if (!getDescriptor().hasWrapperPolicy() || getDescriptor().getWrapperPolicy().isWrapped(implementation)) { return implementation; } // Allow for inheritance, the concrete wrapper must always be used. ! if (getDescriptor().hasInheritance() && getDescriptor().getInheritancePolicy().hasChildren() && (implementation.getClass() != getDescriptor().getJavaClass())) { ! ClassDescriptor descriptor = session.getDescriptor(implementation); ! if(descriptor != getDescriptor()) { ! return descriptor.getObjectBuilder().wrapObject(implementation, session); } } + if (getDescriptor().hasWrapperPolicy()) { + return getDescriptor().getWrapperPolicy().wrapObject(implementation, session); + } else { + return implementation; + } } } +