[ https://issues.apache.org/jira/browse/IGNITE-1965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15022033#comment-15022033 ]
ASF GitHub Bot commented on IGNITE-1965: ---------------------------------------- GitHub user ptupitsyn opened a pull request: https://github.com/apache/ignite/pull/254 IGNITE-1965 .NET: Introduce wrapper for enums, similar to "IBinaryObject". You can merge this pull request into a Git repository by running: $ git pull https://github.com/ptupitsyn/ignite ignite-1965 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/254.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #254 ---- commit 55a6bf25d0a5f48e0b9b571f3e16a8d7cac8cb69 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T12:44:11Z IGNITE-1964 .NET: Write enum type ID if possible. commit 18353b540dabad20fea88dbef60f13f0281334e5 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T13:18:50Z wip tests commit 12dd21846034c29a01037c4aa1ef3d927443bcfb Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T13:23:18Z wip tests commit a962331c210511454f8c6e739e9a6e4cdbf52963 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T13:30:25Z Test created commit 43839176408021519616929af81c323e094953b0 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T13:41:20Z Merge remote-tracking branch 'remotes/upstream/ignite-1282' into ignite-1964 commit bae0304659dda4fe98ec141394ba1affd45ab95e Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T13:54:12Z Fix test commit 04fa262089e825fbb1831088b30e85fc6692ced8 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T14:02:47Z Cleanup commit 6cba694b13326cc4ad84a42bf7c68425cd49c261 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T14:56:06Z IGNITE-1965 .NET: Introduce wrapper for enums, similar to "IBinaryObject". commit 20be963f4efdd9e6b9c840fc2a9b41d13634164f Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T15:13:40Z refactor system type logic commit 6f2184daf666bedb0a56d8347ebf5858f432bd7c Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T15:53:22Z IGNITE-1965 .NET: Introduce wrapper for enums, similar to "IBinaryObject". commit 49d134d40a91839d95cd3fcb9c5b8e76cf60483d Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T15:59:21Z Fix tests commit ec00ba4ed6fa57ed54007bf1b3614978c6bef241 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T16:07:30Z wip commit 3ec8c668116203959777e2d95fc556a84bda7ad1 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T16:15:41Z wip commit 3363fbb0fe5f93789fe51a0d1db560f7329627bc Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T16:27:23Z wip commit 005a7a2d11eea1e62f49d0b90b4b127f2142ca46 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T17:04:19Z wip broken test commit 1446c994e3a3dc29bde12bd560d4631243d605d5 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T17:06:52Z wip commit ddaa253b099616c6f321db94c59ce5f18efd1cd2 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T17:27:58Z Fix enum arrays commit e6adb9cab99290019648776807874642fab3140c Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T17:37:00Z Fix tests commit 4fce68ade828aad107ddab330e7efc7620762f05 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-20T17:38:07Z Merge branch 'ignite-1964' into ignite-1965 commit f559a331d646680a662c33966dda62aedcda7380 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-23T07:11:12Z Merge remote-tracking branch 'remotes/upstream/ignite-1282' into ignite-1965 commit 71d7a36856e1af13f9053c60a2bf824e6777015b Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-23T08:49:26Z wip IBinaryEnum commit 1116501ddebf8ba5c1142b6c18b10112267f3834 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-23T09:07:03Z Merge remote-tracking branch 'remotes/upstream/ignite-1.5' into ignite-1965 commit b6d502cc93fff89f8ac480ac374cf1a469113a22 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-23T09:39:47Z Impl done commit 8302b2ca1da9a80974669c6efeaa7ff4d5728a59 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-23T09:41:48Z Fixing tests commit e560fd20c154ad57a68e613dfd5c7f3069ae9592 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-23T09:57:14Z wip tests commit bd2393d78cf932a5d4907bd5b30d6fbe698f4c35 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-23T10:07:17Z Wip tests commit a98be04c8ea2c167c6d4b6975e2971962fd848a5 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-23T10:10:14Z wip commit 00f8df99339d4df1d1bd04b4c197e5af8879b6a9 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-23T11:30:10Z wip commit b7f012b72ae2abce69bc1c4e20015f54226da9f3 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-23T11:33:03Z wip tests commit 7349071d3e059b9009cf30713f203abba5e133c8 Author: Pavel Tupitsyn <ptupit...@gridgain.com> Date: 2015-11-23T11:42:42Z Broken composite array test ---- > .NET: Introduce wrapper for enums, similar to "IBinaryObject". > -------------------------------------------------------------- > > Key: IGNITE-1965 > URL: https://issues.apache.org/jira/browse/IGNITE-1965 > Project: Ignite > Issue Type: Sub-task > Components: interop > Affects Versions: ignite-1.4 > Reporter: Vladimir Ozerov > Assignee: Pavel Tupitsyn > Fix For: 1.5 > > > *Problem* > User tries to get a field from an object. If field is an object, we return > IBinaryObject which is correct. If field is enum we always try to deserialize > it which is wrong because there could be no matching type in runtime. > *Proposed solution* > 1) Introduce "BinaryEnum" class with the following methods: > - int TypeId() - get type ID > - int Ordinal() - get ordinal > - T deserialize() - deserialize using type ID -> class lookup. > - T deserialize(Type) - deserialize using provided Type. If (typeId != -1 && > typeid(Type) != typeId), throw an exception. -- This message was sent by Atlassian JIRA (v6.3.4#6332)