Hello, Pavel.

Thanks, for the feedback

> We can create a derived class so that existing _registerSameJavaType logic 
> works.

For now, BinaryBasicNameMapper#GetTypeName is not virtual.
So we can’t override it.

And if we make GetTypeName virtual then any user can make extension of 
BinaryBasicNameMapper and use it.
I thought we want to avoid this.

Anyway, I’m OK with the built-in extension of BinaryBasicNameMapper.
Will do those changes.

> 13 февр. 2021 г., в 13:07, Pavel Tupitsyn <[email protected]> написал(а):
> 
> Nikolay,
> 
> 1) What about the org./com. prefix that is present in all Java package names, 
> e.g:
> Java: org.apache.ignite.foo.Bar
> .NET: Apache.Ignite.Foo.Bar
> 
> I think we should handle this too.
> 
> 2) Can we create a separate name mapper instead of adding a property to the 
> existing one?
> We can create a derived class so that existing _registerSameJavaType logic 
> works.
> 
> On Fri, Feb 12, 2021 at 7:33 PM Nikolay Izhikov <[email protected]> wrote:
> Hello, Igniters.
> 
> Currently, BasicBinaryNameMapper[isSimpleName=false] assumes that type names 
> equals both in Java and .Net.
> 
>         • Java type - ru.company.Model
>         • .Net type - ‘ru.company.Model`
> 
> However, .net naming conventions [1] differs from java [2]
> So, if a user follows both conventions then names will be
> 
>         • Java type - ru.company.Model
>         • .Net type - 'Ru.Company.Model`
> 
> User can implement this behaviour in custom name mapper, but custom name 
> mapper will disable RegisterSameJavaType mode.
> 
> To solve this issue I prepared a PR[3] and ticked [4].
> PR introduces new BasicBinaryNameMapper#ForceJavaNamingConventions flag that 
> enables mapping from .Net style to the java naming style.
> 
> WDYT?
> 
> [1] 
> https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/names-of-namespaces
> [2] 
> https://www.oracle.com/java/technologies/javase/codeconventions-namingconventions.html
> [3] https://github.com/apache/ignite/pull/8795
> [4] https://issues.apache.org/jira/browse/IGNITE-14169
> 

Reply via email to