[JBoss JIRA] (IPROTO-13) Proto parser does not detect duplicate enum constant names
by Pedro Zapata Fernandez (Jira)
[ https://issues.redhat.com/browse/IPROTO-13?page=com.atlassian.jira.plugin... ]
Pedro Zapata Fernandez updated IPROTO-13:
-----------------------------------------
Sprint: DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37, DataGrid Sprint #38 (was: DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37)
> Proto parser does not detect duplicate enum constant names
> ----------------------------------------------------------
>
> Key: IPROTO-13
> URL: https://issues.redhat.com/browse/IPROTO-13
> Project: Infinispan ProtoStream
> Issue Type: Bug
> Affects Versions: 3.0.5.Final
> Reporter: Nistor Adrian
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.0.0.Alpha6, 4.0.0.Final
>
>
> This should generate an error:
> {code}
> enum E {
> A = 1;
> A = 2;
> }
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 4 months
[JBoss JIRA] (IPROTO-20) Should not be able to use the numbers 19000 though 19999 for fields
by Pedro Zapata Fernandez (Jira)
[ https://issues.redhat.com/browse/IPROTO-20?page=com.atlassian.jira.plugin... ]
Pedro Zapata Fernandez updated IPROTO-20:
-----------------------------------------
Sprint: DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37, DataGrid Sprint #38 (was: DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37)
> Should not be able to use the numbers 19000 though 19999 for fields
> -------------------------------------------------------------------
>
> Key: IPROTO-20
> URL: https://issues.redhat.com/browse/IPROTO-20
> Project: Infinispan ProtoStream
> Issue Type: Bug
> Reporter: Nistor Adrian
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha9, 4.3.0.Final
>
>
> See Assigning Tags in https://developers.google.com/protocol-buffers/docs/proto
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 4 months
[JBoss JIRA] (IPROTO-97) Generated code should track missing fields using a bitset simulated in a long/int rather than individual boolean flags
by Pedro Zapata Fernandez (Jira)
[ https://issues.redhat.com/browse/IPROTO-97?page=com.atlassian.jira.plugin... ]
Pedro Zapata Fernandez updated IPROTO-97:
-----------------------------------------
Sprint: DataGrid Sprint #30, DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37, DataGrid Sprint #38 (was: DataGrid Sprint #30, DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37)
> Generated code should track missing fields using a bitset simulated in a long/int rather than individual boolean flags
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: IPROTO-97
> URL: https://issues.redhat.com/browse/IPROTO-97
> Project: Infinispan ProtoStream
> Issue Type: Enhancement
> Reporter: Nistor Adrian
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha8, 4.3.0.Final
>
>
> This should ensure a lower number of local vars in the generated method with less chances of hitting the limit.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 4 months
[JBoss JIRA] (IPROTO-6) Allow repetable protobuf doc comment annotations
by Pedro Zapata Fernandez (Jira)
[ https://issues.redhat.com/browse/IPROTO-6?page=com.atlassian.jira.plugin.... ]
Pedro Zapata Fernandez updated IPROTO-6:
----------------------------------------
Sprint: DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37, DataGrid Sprint #38 (was: DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37)
> Allow repetable protobuf doc comment annotations
> ------------------------------------------------
>
> Key: IPROTO-6
> URL: https://issues.redhat.com/browse/IPROTO-6
> Project: Infinispan ProtoStream
> Issue Type: Enhancement
> Reporter: Nistor Adrian
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.0.0.Alpha6, 4.0.0.Final
>
>
> Similarly to java 8 (see example here: https://github.com/shekhargulati/java8-the-missing-tutorial/blob/master/1...), we should allow repeatable protobuf doc comment annotations.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 4 months
[JBoss JIRA] (IPROTO-101) Enum values with same name in different classes clash
by Pedro Zapata Fernandez (Jira)
[ https://issues.redhat.com/browse/IPROTO-101?page=com.atlassian.jira.plugi... ]
Pedro Zapata Fernandez updated IPROTO-101:
------------------------------------------
Sprint: DataGrid Sprint #30, DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37, DataGrid Sprint #38 (was: DataGrid Sprint #30, DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37)
> Enum values with same name in different classes clash
> -----------------------------------------------------
>
> Key: IPROTO-101
> URL: https://issues.redhat.com/browse/IPROTO-101
> Project: Infinispan ProtoStream
> Issue Type: Bug
> Affects Versions: 4.3.0.Alpha6
> Reporter: Ryan Emerson
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha10
>
>
> {code:java}
> @ProtoName("TakeSiteOfflineResponse")
> public enum TakeSiteOfflineResponse {
> @ProtoEnumValue(number = 1)
> NO_SUCH_SITE,
> @ProtoEnumValue(number = 2)
> ALREADY_OFFLINE,
> @ProtoEnumValue(number = 3)
> TAKEN_OFFLINE
> }
> @ProtoName("BringSiteOnlineResponse")
> public enum BringSiteOnlineResponse {
> @ProtoEnumValue(number = 1)
> NO_SUCH_SITE,
> @ProtoEnumValue(number = 2)
> ALREADY_ONLINE,
> @ProtoEnumValue(number = 3)
> BROUGHT_ONLINE
> }
> {code}
> Results in:
> {code:java}
> Enum value org.infinispan.test.TakeSiteOfflineResponse.NO_SUCH_SITE clashes with enum value org.infinispan.test.BringSiteOnlineResponse.NO_SUCH_SITE
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 4 months
[JBoss JIRA] (IPROTO-115) Processor unable to use Pojos that have WrappedMessage fields
by Pedro Zapata Fernandez (Jira)
[ https://issues.redhat.com/browse/IPROTO-115?page=com.atlassian.jira.plugi... ]
Pedro Zapata Fernandez updated IPROTO-115:
------------------------------------------
Sprint: DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37, DataGrid Sprint #38 (was: DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37)
> Processor unable to use Pojos that have WrappedMessage fields
> -------------------------------------------------------------
>
> Key: IPROTO-115
> URL: https://issues.redhat.com/browse/IPROTO-115
> Project: Infinispan ProtoStream
> Issue Type: Bug
> Affects Versions: 4.3.0.Alpha11
> Reporter: Ryan Emerson
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha12
>
>
> {code:java}
> class ComplexKey {
> @ProtoField(number = 1)
> String id;
> @ProtoField(number = 2, defaultValue = "0")
> Float ratio;
> @ProtoField(number = 3)
> WrappedMessage example;
> ComplexKey(String id, Float ratio) {
> this.id = id;
> this.ratio = ratio;
> }
> @ProtoFactory
> public ComplexKey(String id, Float ratio, WrappedMessage example) {
> this.id = id;
> this.ratio = ratio;
> this.example = example;
> }
> @Override
> public boolean equals(Object o) {
> if (this == o) return true;
> if (o == null || getClass() != o.getClass()) return false;
> ComplexKey that = (ComplexKey) o;
> return Objects.equals(id, that.id) &&
> Objects.equals(ratio, that.ratio);
> }
> @Override
> public int hashCode() {
> return Objects.hash(id, ratio);
> }
> }
> {code}
> Results in the following compile-time error:
> {code}
> [ERROR] /home/remerson/workspace/RedHat/infinispan/infinispan-alt/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/transcoding/DataFormatTest.java:[325,4] org.infinispan.protostream.annotations.ProtoSchemaBuilderException: The class org.infinispan.protostream.WrappedMessage must be instantiable using an accessible no-argument constructor.
> [ERROR] at org.infinispan.protostream.annotations.impl.ProtoMessageTypeMetadata.checkInstantiability(ProtoMessageTypeMetadata.java:279)
> [ERROR] at org.infinispan.protostream.annotations.impl.ProtoMessageTypeMetadata.<init>(ProtoMessageTypeMetadata.java:70)
> [ERROR] at org.infinispan.protostream.annotations.impl.BaseProtoSchemaGenerator.makeProtoTypeMetadata(BaseProtoSchemaGenerator.java:250)
> [ERROR] at org.infinispan.protostream.annotations.impl.BaseProtoSchemaGenerator.scanAnnotations(BaseProtoSchemaGenerator.java:236)
> [ERROR] at org.infinispan.protostream.annotations.impl.ProtoMessageTypeMetadata.getProtobufType(ProtoMessageTypeMetadata.java:816)
> [ERROR] at org.infinispan.protostream.annotations.impl.ProtoMessageTypeMetadata.discoverFields(ProtoMessageTypeMetadata.java:346)
> [ERROR] at org.infinispan.protostream.annotations.impl.ProtoMessageTypeMetadata.scanMemberAnnotations(ProtoMessageTypeMetadata.java:178)
> [ERROR] at org.infinispan.protostream.annotations.impl.BaseProtoSchemaGenerator.generateAndRegister(BaseProtoSchemaGenerator.java:116)
> [ERROR] at org.infinispan.protostream.annotations.impl.processor.AutoProtoSchemaBuilderAnnotationProcessor.processClass(AutoProtoSchemaBuilderAnnotationProcessor.java:304)
> [ERROR] at org.infinispan.protostream.annotations.impl.processor.AutoProtoSchemaBuilderAnnotationProcessor.processElement(AutoProtoSchemaBuilderAnnotationProcessor.java:235)
> [ERROR] at org.infinispan.protostream.annotations.impl.processor.AutoProtoSchemaBuilderAnnotationProcessor.process(AutoProtoSchemaBuilderAnnotationProcessor.java:181)
> [ERROR] at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:980)
> [ERROR] at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:896)
> [ERROR] at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1222)
> [ERROR] at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1334)
> [ERROR] at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1258)
> [ERROR] at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:936)
> [ERROR] at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104)
> [ERROR] at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:147)
> [ERROR] at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
> [ERROR] at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)
> [ERROR] at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:126)
> [ERROR] at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:174)
> [ERROR] at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1129)
> [ERROR] at org.apache.maven.plugin.compiler.TestCompilerMojo.execute(TestCompilerMojo.java:181)
> [ERROR] at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
> [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
> [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
> [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
> [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
> [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
> [ERROR] at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
> [ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
> [ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
> [ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
> [ERROR] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
> [ERROR] at org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)
> [ERROR] at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
> [ERROR] at org.apache.maven.cli.MavenCli.main(MavenCli.java:192)
> [ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> [ERROR] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [ERROR] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
> [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
> [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
> [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
> [ERROR]
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 4 months
[JBoss JIRA] (IPROTO-113) Generated marshallers for Interface enums don't compile
by Pedro Zapata Fernandez (Jira)
[ https://issues.redhat.com/browse/IPROTO-113?page=com.atlassian.jira.plugi... ]
Pedro Zapata Fernandez updated IPROTO-113:
------------------------------------------
Sprint: DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37, DataGrid Sprint #38 (was: DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37)
> Generated marshallers for Interface enums don't compile
> -------------------------------------------------------
>
> Key: IPROTO-113
> URL: https://issues.redhat.com/browse/IPROTO-113
> Project: Infinispan ProtoStream
> Issue Type: Bug
> Affects Versions: 4.3.0.Alpha11
> Reporter: Ryan Emerson
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha12
>
>
> For example:
> {code:java}
> public interface User {
> enum Gender {
> @ProtoEnumValue(number = 1)
> MALE,
> @ProtoEnumValue(number = 2)
> FEMALE
> }
> }
> {code}
> The generated marshaller does not compile as it tries to access Gender via '$' instead of '.'.
> {code:java}
> public final class Gender$___Marshaller_50930fab395a4317bcf1c7a7787bb360b5248d1517560bce47017d9c5477c52a implements org.infinispan.protostream.EnumMarshaller<org.infinispan.query.dsl.embedded.testdomain.User.Gender> {
> @Override
> public Class<org.infinispan.query.dsl.embedded.testdomain.User.Gender> getJavaClass() { return org.infinispan.query.dsl.embedded.testdomain.User.Gender.class; }
>
> @Override
> public String getTypeName() { return "org.infinispan.test.query.Gender"; }
>
> @Override
> public org.infinispan.query.dsl.embedded.testdomain.User.Gender decode(int $1) {
> switch ($1) {
> case 1: return org.infinispan.query.dsl.embedded.testdomain.User$Gender.MALE;
> case 2: return org.infinispan.query.dsl.embedded.testdomain.User$Gender.FEMALE;
> default: return null;
> }
> }
>
> @Override
> public int encode(org.infinispan.query.dsl.embedded.testdomain.User.Gender $1) throws IllegalArgumentException {
> switch ($1.ordinal()) {
> case 0: return 1;
> case 1: return 2;
> default: throw new IllegalArgumentException("Unexpected org.infinispan.query.dsl.embedded.testdomain.User.Gender enum value : " + $1.name());
> }
> }
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 4 months
[JBoss JIRA] (IPROTO-116) Reserve the 0..65535 TypeId range for internal Protostream and Infinispan use only
by Pedro Zapata Fernandez (Jira)
[ https://issues.redhat.com/browse/IPROTO-116?page=com.atlassian.jira.plugi... ]
Pedro Zapata Fernandez updated IPROTO-116:
------------------------------------------
Sprint: DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37, DataGrid Sprint #38 (was: DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37)
> Reserve the 0..65535 TypeId range for internal Protostream and Infinispan use only
> ----------------------------------------------------------------------------------
>
> Key: IPROTO-116
> URL: https://issues.redhat.com/browse/IPROTO-116
> Project: Infinispan ProtoStream
> Issue Type: Enhancement
> Reporter: Nistor Adrian
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha12
>
>
> We previously reserved values above 1000000 for this purpose but we'll change that to lower the size of Infinispan messages.
> Also, for WrappedMessage we'll use the TypeId 0.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 4 months