You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Anton Vinogradov (JIRA)" <ji...@apache.org> on 2016/06/03 15:55:59 UTC

[jira] [Comment Edited] (IGNITE-3235) Failed to initialize primitive boolean cache property of superclass

    [ https://issues.apache.org/jira/browse/IGNITE-3235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15314220#comment-15314220 ] 

Anton Vinogradov edited comment on IGNITE-3235 at 6/3/16 3:55 PM:
------------------------------------------------------------------

Sergey, 

Seems that every field defined at superclass cause same issue.
Did you check that Boolean works?


was (Author: avinogradov):
Sergey, 

Did you check that Boolean works?

> Failed to initialize primitive boolean cache property of superclass
> -------------------------------------------------------------------
>
>                 Key: IGNITE-3235
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3235
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 1.5.0.final
>            Reporter: Sergey Lemekhov
>            Assignee: Anton Vinogradov
>            Priority: Minor
>             Fix For: 1.7
>
>
> When a superclass of a cache class contains a primitive boolean field marked with {{@QuerySqlField}} annotation the cache initialization fails with an exception:
> {{org.apache.ignite.IgniteCheckedException: Failed to initialize property '<propertyName>' for key class '<key class>' and value class 'value class'. Make sure that one of these classes contains respective getter method or field.}}
> For example:
> {code}
> public class Base {
>        @QuerySqlField
>         private boolean flag;
>         public boolean isFlag() {
>             return flag;
>         }
>         public void setFlag(boolean flag) {
>             this.flag = flag;
>         }
>     }
> public class Derived extends Base {
>         private String field;
>         public String getField() {
>             return field;
>         }
>         public void setField(String field) {
>             this.field = field;
>         }
>     }
> {code}
> This related to method {{org.apache.ignite.internal.processors.query.GridQueryProcessor#buildClassProperty(boolean, java.lang.Class<?>, java.lang.String, java.lang.Class<?>, java.util.Map<java.lang.String,java.lang.String>, org.apache.ignite.internal.processors.cache.CacheObjectContext)}}.
> Method expects that all fields accessors start with "get" but for primitive boolean fields usually the "is" prefix is used.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)