Andreas Willich created AVRO-4077:
-------------------------------------
Summary: Namespace mapping is applied to internal Schema string
Key: AVRO-4077
URL: https://issues.apache.org/jira/browse/AVRO-4077
Project: Apache Avro
Issue Type: Bug
Components: csharp
Affects Versions: 1.12.0
Reporter: Andreas Willich
When I use the .NET avrogen CLI tool to generate the .NET classes and use a
namespace mapping, not only is the .NET Namespace changed, but also the schema
string in the generated code.
*Avro Type:*
{code:java}
{
"namespace": "some.namespace",
"type": "record",
"name": "ATypeInNamespace",
"fields": [
{
"name": "property",
"type": "string"
}
]
} {code}
*Cmd (Windows)*
{code:java}
dotnet avrogen -s .\type.avro .\output --namespace
some.namespace:A.DotNET.Namespace {code}
*Generated Code:*
{code:java}
//
------------------------------------------------------------------------------
// <auto-generated>
// Generated by avrogen, version
1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e
// Changes to this file may cause incorrect behavior and will be lost if code
// is regenerated
// </auto-generated>
//
------------------------------------------------------------------------------
namespace A.DotNET.Namespace
{
using System;
using System.Collections.Generic;
using System.Text;
using global::Avro;
using global::Avro.Specific;
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("avrogen",
"1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e")]
public partial class ATypeInNamespace :
global::Avro.Specific.ISpecificRecord
{
public static global::Avro.Schema _SCHEMA =
global::Avro.Schema.Parse("{\"type\":\"record\",\"name\":\"ATypeInNamespace\",\"namespace\":\"A.DotNET.Namespace\",\"fiel"
+
"ds\":[{\"name\":\"property\",\"type\":\"string\"}]}");
private string _property;
public virtual global::Avro.Schema Schema
{
get
{
return ATypeInNamespace._SCHEMA;
}
}
//removed to keep it small
}
} {code}
As you can see, the namespace property is now "A.DotNET.Namespace" and not
"some.namespace" anymore.
Repository with example to reproduce:
[https://github.com/AndreasWillichXXXLutz/AvroIssueNamespaceMapping]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)