avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiaolu Ye (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AVRO-759) Field alias not working due to Schema.getFieldAlias return null for fields not aliased
Date Fri, 11 Feb 2011 22:02:57 GMT

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

Xiaolu Ye commented on AVRO-759:
--------------------------------

Hi Doug,

Were you able to reproduce the problem? Please let me know if you have any issue with it.

Thanks,

Xiaolu

> Field alias not working due to Schema.getFieldAlias return null for fields not aliased
> --------------------------------------------------------------------------------------
>
>                 Key: AVRO-759
>                 URL: https://issues.apache.org/jira/browse/AVRO-759
>             Project: Avro
>          Issue Type: Bug
>          Components: java
>    Affects Versions: 1.4.1
>            Reporter: Xiaolu Ye
>         Attachments: AvroAliasTest.java, aliased-reader.avpr, reader.avpr
>
>
> When field alias is used, I get NullPointerException in Schema.Field.hashCode() because
Field.name is null. This is because Schema.getFieldAlias return null for non-aliased field.
Currently the code is as below:
> private static String getFieldAlias(Name record, String field,
>         Map<Name, Map<String, String>> fieldAliases) {
>         Map<String, String> recordAliases = fieldAliases.get(record);
>         if(recordAliases == null) {
>             return field;
>         }
>         return recordAliases.get(field);
> }
> Given recordAliases only has aliases, it should return field itself if it's not in recordAliases
as below:
> private static String getFieldAlias(Name record, String field,
>         Map<Name, Map<String, String>> fieldAliases) {
>         Map<String, String> recordAliases = fieldAliases.get(record);
>         if(recordAliases == null) {
>             return field;
>         }
>         String ret = recordAliases.get(field);
>         if (ret == null) ret = field;
>         return ret;
> }

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message