Sébastien Launay created AVRO-1214:
--------------------------------------
Summary: Generated protocol's method should return void instead of
Void like one-way message
Key: AVRO-1214
URL: https://issues.apache.org/jira/browse/AVRO-1214
Project: Avro
Issue Type: Improvement
Components: java
Affects Versions: 1.7.2
Reporter: Sébastien Launay
Priority: Minor
Using the following IDL:
{noformat}
@namespace("org.apache.avro.test")
protocol Simple {
error TestError {
string message;
}
string hello(string greeting);
void `error`() throws TestError;
void ping() oneway;
}
{noformat}
Will produce the interface:
{code:java}
package org.apache.avro.test;
public interface Simple {
public static final org.apache.avro.Protocol PROTOCOL =
org.apache.avro.Protocol.parse("...");
java.lang.CharSequence hello(java.lang.CharSequence greeting) throws
org.apache.avro.AvroRemoteException;
java.lang.Void error() throws org.apache.avro.AvroRemoteException,
org.apache.avro.test.TestError;
void ping();
public interface Callback extends Simple {
public static final org.apache.avro.Protocol PROTOCOL =
org.apache.avro.test.Simple.PROTOCOL;
void hello(java.lang.CharSequence greeting,
org.apache.avro.ipc.Callback<java.lang.CharSequence> callback) throws
java.io.IOException;
void error(org.apache.avro.ipc.Callback<java.lang.Void> callback) throws
java.io.IOException;
}
}
{code}
Then one is forced to add {{return null;}} statement(s) in the interface
implementation for the {{error()}} method which can be a bit cumbersome and
that's not the case for the oneway {{ping()}} method.
This is fine on the Callback though because the developer can just ignore the
callback argument.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira