[jira] [Assigned] (IGNITE-10075) .NET: Avoid binary configurations of Ignite Java service params and result when calling it from Ignite.NET

2020-11-24 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov reassigned IGNITE-10075:


Assignee: Nikolay Izhikov  (was: Alexey Kukushkin)

> .NET: Avoid binary configurations of Ignite Java service params and result 
> when calling it from Ignite.NET
> --
>
> Key: IGNITE-10075
> URL: https://issues.apache.org/jira/browse/IGNITE-10075
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms
>Affects Versions: 2.9
>Reporter: Alexey Kukushkin
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: IGNITE-10075-from-2.9.0.patch, MyTest.cs
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Presently if there is an Ignite Java service taking parameters of complex 
> (composite) types and returning a result of complex type then all the complex 
> types must be explicitly specified in the binary configuration.
> We need to enhance Ignite not to require binary configuration assuming that 
> we use the same type, package/namespace and field/property names on both the 
> .NET and Java sides (or provide a custom name mapper for relaxed naming 
> conventions).
> h2. Reproducer
> [https://github.com/kukushal/apache-ignite-issue10075.git]
> h3. ICalculator.java
> {code:java}
> package Apache.Ignite.Issue10075;
> public interface ICalculator {
> Result Calculate(Parameter p);
> }
> {code}
> h3. Parameter.java
> {code:java}
> package Apache.Ignite.Issue10075;
> public final class Parameter {
> private int id;
> private double val;
> public int getId() {
> return id;
> }
> public Parameter setId(int id) {
> this.id = id;
> return this;
> }
> public double getValue() {
> return val;
> }
> public Parameter setValue(double val) {
> this.val = val;
> return this;
> }
> }
> {code}
> h3. Result .java
> {code:java}
> package Apache.Ignite.Issue10075;
> public final class Result {
> private int id;
> private double value;
> public int getId() {
> return id;
> }
> public Result setId(int id) {
> this.id = id;
> return this;
> }
> public double getValue() {
> return value;
> }
> public Result setValue(double val) {
> this.value = val;
> return this;
> }
> }
> {code}
> h3. IgniteCalculatorService.java
> {code:java}
> package Apache.Ignite.Issue10075;
> import org.apache.ignite.services.Service;
> import org.apache.ignite.services.ServiceContext;
> public final class IgniteCalculatorService implements Service, ICalculator {
> @Override public Result Calculate(Parameter p) {
> return new Result().setId(p.getId()).setValue(p.getValue() * 
> p.getValue());
> }
> @Override public void cancel(ServiceContext ctx) {
> }
> @Override public void init(ServiceContext ctx) {
> }
> @Override public void execute(ServiceContext ctx) {
> }
> }
> {code}
> h3. build.gradle
> {code:groovy}
> plugins {
> id 'java'
> }
> group 'apache.ignite.issue10075'
> version '1.0.0-SNAPSHOT'
> sourceCompatibility = 1.8
> repositories {
> mavenLocal()
> mavenCentral()
> }
> def igniteVer='2.9.0'
> dependencies {
> compile group: 'org.apache.ignite', name: 'ignite-core', version: 
> igniteVer
> testCompile group: 'junit', name: 'junit', version: '4.12'
> }
> {code}
> h3. Apache.Ignite.Issue10075/ignite-config.xml
> {code:xml}
> 
> http://www.springframework.org/schema/beans;
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
>xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd;>
>  class="org.apache.ignite.configuration.IgniteConfiguration">
> 
> 
> 
> 
> 
> 
> 
>  class="Apache.Ignite.Issue10075.IgniteCalculatorService"/>
> 
> 
> 
> 
> 
> 
> 
>  class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
> 
> 
> 127.0.0.1:47500
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> h3. Apache.Ignite.Issue10075/ICalculator.cs
> {code:c#}
> namespace Apache.Ignite.Issue10075
> {
> public interface ICalculator
> {
> Result Calculate(Parameter p);
> }
> }
> {code}
> 

[jira] [Assigned] (IGNITE-10075) .NET: Avoid binary configurations of Ignite Java service params and result when calling it from Ignite.NET

2020-11-18 Thread Alexey Kukushkin (Jira)


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

Alexey Kukushkin reassigned IGNITE-10075:
-

Assignee: Alexey Kukushkin  (was: Nikolai Kulagin)

> .NET: Avoid binary configurations of Ignite Java service params and result 
> when calling it from Ignite.NET
> --
>
> Key: IGNITE-10075
> URL: https://issues.apache.org/jira/browse/IGNITE-10075
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms
>Affects Versions: 2.6
>Reporter: Alexey Kukushkin
>Assignee: Alexey Kukushkin
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: MyTest.cs, ignite-10075-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Presently if there is an Ignite Java service taking parameters of complex 
> (composite) types and returning a result of complex type then all the complex 
> types must be explicitly specified in the binary configuration.
> We need to enhance Ignite not to require binary configuration assuming that 
> we use the same type, package/namespace and field/property names on both the 
> .NET and Java sides (or provide a custom name mapper for relaxed naming 
> conventions).
> h2. Reproducer
> h3. ICalculator.java
> {code:java}
> package Sandbox.Net;
> public interface ICalculator {
> Result Calculate(Parameter p);
> }
> {code}
> h3. Parameter.java
> {code:java}
> package Sandbox.Net;
> public class Parameter {
> private int id;
> private double val;
> public int getId() {
> return id;
> }
> public Parameter setId(int id) {
> this.id = id;
> return this;
> }
> public double getValue() {
> return val;
> }
> public Parameter setValue(double val) {
> this.val = val;
> return this;
> }
> }
> {code}
> h3. Result .java
> {code:java}
> package Sandbox.Net;
> public class Result {
> private int id;
> private double value;
> public int getId() {
> return id;
> }
> public Result setId(int id) {
> this.id = id;
> return this;
> }
> public double getValue() {
> return value;
> }
> public Result setValue(double val) {
> this.value = val;
> return this;
> }
> }
> {code}
> h3. IgniteCalculatorService.java
> {code:java}
> package Sandbox.Net;
> import org.apache.ignite.services.Service;
> import org.apache.ignite.services.ServiceContext;
> public class IgniteCalculatorService implements Service, ICalculator {
> @Override public Result Calculate(Parameter p) {
> return new Result().setId(p.getId()).setValue(p.getValue() * 
> p.getValue());
> }
> @Override public void cancel(ServiceContext ctx) {
> }
> @Override public void init(ServiceContext ctx) {
> }
> @Override public void execute(ServiceContext ctx) {
> }
> }
> {code}
> h3. build.gradle
> {code:groovy}
> plugins {
> id 'java'
> }
> group 'sandbox.net'
> version '1.0-SNAPSHOT'
> sourceCompatibility = 1.8
> repositories {
> mavenLocal()
> mavenCentral()
> }
> def igniteVer='2.8.0'
> dependencies {
> compile group: 'org.apache.ignite', name: 'ignite-core', version: 
> igniteVer
> testCompile group: 'junit', name: 'junit', version: '4.12'
> }
> {code}
> h3. ignite-config.xml
> {code:xml}
> 
> http://www.springframework.org/schema/beans;
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
>xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd;>
>  class="org.apache.ignite.configuration.IgniteConfiguration">
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
>  class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
> 
> 
> 127.0.0.1:47500
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> h3. ICalculator.cs
> {code:c#}
> namespace Sandbox.Net
> {
> public interface ICalculator
> {
> Result Calculate(Parameter p);
> }
> }
> {code}
> h3. Parameter.cs
> {code:c#}
> namespace Sandbox.Net
> {
> public class Parameter
> {
> public int Id { get; set; }
> public double Value { get; set; }
> }
> }
> {code}
> h3. Result.cs
> {code:c#}
> namespace Sandbox.Net
> {
> public class 

[jira] [Assigned] (IGNITE-10075) .NET: Avoid binary configurations of Ignite Java service params and result when calling it from Ignite.NET

2020-05-22 Thread Nikolai Kulagin (Jira)


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

Nikolai Kulagin reassigned IGNITE-10075:


Assignee: Nikolai Kulagin  (was: Pavel Tupitsyn)

> .NET: Avoid binary configurations of Ignite Java service params and result 
> when calling it from Ignite.NET
> --
>
> Key: IGNITE-10075
> URL: https://issues.apache.org/jira/browse/IGNITE-10075
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms
>Affects Versions: 2.6
>Reporter: Alexey Kukushkin
>Assignee: Nikolai Kulagin
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: MyTest.cs, ignite-10075-vs-2.8.patch
>
>
> Presently if there is an Ignite Java service taking parameters of complex 
> (composite) types and returning a result of complex type then all the complex 
> types must be explicitly specified in the binary configuration.
> We need to enhance Ignite not to require binary configuration assuming that 
> we use the same type, package/namespace and field/property names on both the 
> .NET and Java sides (or provide a custom name mapper for relaxed naming 
> conventions).
> h2. Reproducer
> h3. ICalculator.java
> {code:java}
> package Sandbox.Net;
> public interface ICalculator {
> Result Calculate(Parameter p);
> }
> {code}
> h3. Parameter.java
> {code:java}
> package Sandbox.Net;
> public class Parameter {
> private int id;
> private double val;
> public int getId() {
> return id;
> }
> public Parameter setId(int id) {
> this.id = id;
> return this;
> }
> public double getValue() {
> return val;
> }
> public Parameter setValue(double val) {
> this.val = val;
> return this;
> }
> }
> {code}
> h3. Result .java
> {code:java}
> package Sandbox.Net;
> public class Result {
> private int id;
> private double value;
> public int getId() {
> return id;
> }
> public Result setId(int id) {
> this.id = id;
> return this;
> }
> public double getValue() {
> return value;
> }
> public Result setValue(double val) {
> this.value = val;
> return this;
> }
> }
> {code}
> h3. IgniteCalculatorService.java
> {code:java}
> package Sandbox.Net;
> import org.apache.ignite.services.Service;
> import org.apache.ignite.services.ServiceContext;
> public class IgniteCalculatorService implements Service, ICalculator {
> @Override public Result Calculate(Parameter p) {
> return new Result().setId(p.getId()).setValue(p.getValue() * 
> p.getValue());
> }
> @Override public void cancel(ServiceContext ctx) {
> }
> @Override public void init(ServiceContext ctx) {
> }
> @Override public void execute(ServiceContext ctx) {
> }
> }
> {code}
> h3. build.gradle
> {code:groovy}
> plugins {
> id 'java'
> }
> group 'sandbox.net'
> version '1.0-SNAPSHOT'
> sourceCompatibility = 1.8
> repositories {
> mavenLocal()
> mavenCentral()
> }
> def igniteVer='2.8.0'
> dependencies {
> compile group: 'org.apache.ignite', name: 'ignite-core', version: 
> igniteVer
> testCompile group: 'junit', name: 'junit', version: '4.12'
> }
> {code}
> h3. ignite-config.xml
> {code:xml}
> 
> http://www.springframework.org/schema/beans;
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
>xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd;>
>  class="org.apache.ignite.configuration.IgniteConfiguration">
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
>  class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
> 
> 
> 127.0.0.1:47500
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> h3. ICalculator.cs
> {code:c#}
> namespace Sandbox.Net
> {
> public interface ICalculator
> {
> Result Calculate(Parameter p);
> }
> }
> {code}
> h3. Parameter.cs
> {code:c#}
> namespace Sandbox.Net
> {
> public class Parameter
> {
> public int Id { get; set; }
> public double Value { get; set; }
> }
> }
> {code}
> h3. Result.cs
> {code:c#}
> namespace Sandbox.Net
> {
> public class Result
> {
> public int Id { get; set; }
>

[jira] [Assigned] (IGNITE-10075) .NET: Avoid binary configurations of Ignite Java service params and result when calling it from Ignite.NET

2020-04-02 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn reassigned IGNITE-10075:
---

Assignee: Pavel Tupitsyn  (was: Alexey Kukushkin)

> .NET: Avoid binary configurations of Ignite Java service params and result 
> when calling it from Ignite.NET
> --
>
> Key: IGNITE-10075
> URL: https://issues.apache.org/jira/browse/IGNITE-10075
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms
>Affects Versions: 2.6
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-10075-vs-2.8.patch
>
>
> Presently if there is an Ignite Java service taking parameters of complex 
> (composite) types and returning a result of complex type then all the complex 
> types must be explicitly specified in the binary configuration.
> We need to enhance Ignite not to require binary configuration assuming that 
> we use the same type, package/namespace and field/property names on both the 
> .NET and Java sides (or provide a custom name mapper for relaxed naming 
> conventions).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)