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)