[ 
https://issues.apache.org/jira/browse/AVRO-2548?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Woodham updated AVRO-2548:
--------------------------------
    Description: 
I have the avro maven plugin configured like this:


{code:xml}
            <plugin>
                <groupId>org.apache.avro</groupId>
                <artifactId>avro-maven-plugin</artifactId>
                <version>${avro.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>schema</goal>
                        </goals>
                        <configuration>
                            <stringType>String</stringType>
                            <createSetters>false</createSetters>
                            
<enableDecimalLogicalType>true</enableDecimalLogicalType>
                            <fieldVisibility>private</fieldVisibility>
                            <customConversions>
                                <conversion>
                                    org.apache.avro.Conversions$UUIDConversion
                                </conversion>
                            </customConversions>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
{code}



With the intention of using the provided {{UUIDConversion}} class on string 
fields set with the {{logicalType}} {{uuid}}. However, it seems like having 
{{stringType}} specified as {{String}} means the converter is ignored.

If I comment out the line {{<stringType>String</stringType>}} then the 
converter is used as expected and the java classes have {{UUID}} types for 
those fields, but obviously all normal strings are now {{CharSequence}} objects.
 

  was:
I have the avro maven plugin configured like this:

 
```
            <plugin>
                <groupId>org.apache.avro</groupId>
                <artifactId>avro-maven-plugin</artifactId>
                <version>${avro.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>schema</goal>
                        </goals>
                        <configuration>
                            <stringType>String</stringType>
                            <createSetters>false</createSetters>
                            
<enableDecimalLogicalType>true</enableDecimalLogicalType>
                            <fieldVisibility>private</fieldVisibility>
                            <customConversions>
                                <conversion>
                                    org.apache.avro.Conversions$UUIDConversion
                                </conversion>
                            </customConversions>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
```

With the intention of using the provided `UUIDConversion` class on string 
fields set with the logicalType `uuid`. However, it seems like having 
`stringType` specified as 'String' means the converter is ignored.

If I comment out the line `<stringType>String</stringType>` then the converter 
is used as expected and the java classes have `UUID` types for those fields, 
but obviously all normal strings are now `CharSequence` objects.
 


> StringType of "String" causes logicalType converters to be ignored for field
> ----------------------------------------------------------------------------
>
>                 Key: AVRO-2548
>                 URL: https://issues.apache.org/jira/browse/AVRO-2548
>             Project: Apache Avro
>          Issue Type: Bug
>          Components: java, logical types
>    Affects Versions: 1.9.0
>            Reporter: Chris Woodham
>            Priority: Major
>
> I have the avro maven plugin configured like this:
> {code:xml}
>             <plugin>
>                 <groupId>org.apache.avro</groupId>
>                 <artifactId>avro-maven-plugin</artifactId>
>                 <version>${avro.version}</version>
>                 <executions>
>                     <execution>
>                         <goals>
>                             <goal>schema</goal>
>                         </goals>
>                         <configuration>
>                             <stringType>String</stringType>
>                             <createSetters>false</createSetters>
>                             
> <enableDecimalLogicalType>true</enableDecimalLogicalType>
>                             <fieldVisibility>private</fieldVisibility>
>                             <customConversions>
>                                 <conversion>
>                                     org.apache.avro.Conversions$UUIDConversion
>                                 </conversion>
>                             </customConversions>
>                         </configuration>
>                     </execution>
>                 </executions>
>             </plugin>
> {code}
> With the intention of using the provided {{UUIDConversion}} class on string 
> fields set with the {{logicalType}} {{uuid}}. However, it seems like having 
> {{stringType}} specified as {{String}} means the converter is ignored.
> If I comment out the line {{<stringType>String</stringType>}} then the 
> converter is used as expected and the java classes have {{UUID}} types for 
> those fields, but obviously all normal strings are now {{CharSequence}} 
> objects.
>  



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to