Hi Wensheng,
I have had a look at your patchs and have 3 things for you to consider.
1. OID.getSuperClassNames() gets only used at your patch. If this method would return a List instead of an array the required check at LockEngine.TypeInfo.aquire() would be a bit simpler as we would only need to call oid.getSuperClassNames().contains(...). In addition we could change _superClassNames property of OID to List also. This would also make OID constructor simpler. Apart of this improvement your patch works and is absolutely reasonable.
2. The tests of cpactf which had been migrated from our previous test framework have numbers without any meaning. Tests added later usually get the number of the jira issue they had been added with. I would therefore suggest to rename everything of the test to 'test3065' instead of 'test1159'.
3. Could you please setup checkstyle. If you do this you will see that your patch contains 2 violations of our codeing conventions. Having said that you will also see a lot of other violations. You do not have to fix all of them but we like no new ones to be introduced. See http://eclipse-cs.sourceforge.net/downloads.html
Regards
Ralf
I think the error is caused by the acquire method int the TypeInfo class (originating from LockEngine class). When it judges whether it can fing a base class in cache, it should judge all the superclasses.
A small patch for this (see attachment load_extended_object_error_patch.txt).