You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "xiaojian zhou (JIRA)" <ji...@apache.org> on 2019/03/06 18:08:00 UTC
[jira] [Resolved] (GEODE-6481) Inner class will be rejected by
AutoSerializableManager in ReflectionBasedAutoSerializer.toData()
[ https://issues.apache.org/jira/browse/GEODE-6481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
xiaojian zhou resolved GEODE-6481.
----------------------------------
Resolution: Fixed
> Inner class will be rejected by AutoSerializableManager in ReflectionBasedAutoSerializer.toData()
> -------------------------------------------------------------------------------------------------
>
> Key: GEODE-6481
> URL: https://issues.apache.org/jira/browse/GEODE-6481
> Project: Geode
> Issue Type: Bug
> Reporter: xiaojian zhou
> Assignee: xiaojian zhou
> Priority: Major
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> Add 2 test cases here:
> 1) when using numeric fields in domain class, create mapping and describe mapping should get correct fieldMapping between field and column, such as:
> PDX Field | PDX Type | JDBC Column | JDBC Type | Nullable
> --------- | -------- | ----------- | --------- | --------
> income | FLOAT | INCOME | REAL | true
> id | STRING | ID | VARCHAR | false
> refid | LONG | REFID | BIGINT | true
> name | STRING | NAME | VARCHAR | true
> age | INT | AGE | INTEGER | true
> It should NOT be:
> PDX Field | PDX Type | JDBC Column | JDBC Type | Nullable
> --------- | -------- | ----------- | ----------- | --------
> income | OBJECT | income | REAL | true
> name | STRING | name | LONGVARCHAR | true
> id | OBJECT | id | BIGINT | false
> 2) since we enforce the --pdx-name should be a PdxSerializable. We also support to convert a regular class into PdxSerializable using AutoSerializableManager.
> However, an inner class, whose className like A$B will be rejected by AutoSerializableManager.
> The reason is: A$B in pattern will treat "$" as special char in regular express. So pattern("A$B").matcher("A$B") will return false.
> The fix is to tell the pattern for className to treat "$" in className as a normal char.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)