Hi,
I am new to protobufers and I have some issues with the generated java code.
I am successfully generating a java class from the following .proto file :
////////////////////////////////////////////////////////////////////////////////////////////////////////
option java_package = "org.myname.hbase.Coprocessor.autogenerated";
option java_outer_classname = "Sum";
option java_generic_services = true;
option java_generate_equals_and_hash = true;
option optimize_for = SPEED;
message SumRequest {
required string family = 1;
required string column = 2;
}
message SumResponse {
required int64 sum = 1 [default = 0];
}
service SumService {
rpc getSum(SumRequest)
returns (SumResponse);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
However the generated code has error in SumResquest and SumResponse
generated class :
The auto generated method : HashCode( ) use an int "memoizedHashCode" as if
it was an instance attribute but it is never declared.
In SumRequest :
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptorForType().hashCode();
if (hasFamily()) {
hash = (37 * hash) + FAMILY_FIELD_NUMBER;
hash = (53 * hash) + getFamily().hashCode();
}
if (hasColumn()) {
hash = (37 * hash) + COLUMN_FIELD_NUMBER;
hash = (53 * hash) + getColumn().hashCode();
}
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
In SumResponse I have an extra error : The method hashLong(long) is
undefined for the type Internal
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptorForType().hashCode();
if (hasSum()) {
hash = (37 * hash) + SUM_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
getSum());
}
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
}
As we are not supposed to edit the code. Do you have any idea what the
solution could be ?
Should I add the missing attribute on my own, at what level and visibility
? How to solve my second issue ?
Is there any risk to add directly "getSum( ) ?
Thx
--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.