{"action":"created","issue":{"url":"https://api.github.com/repos/jcabi/jcabi-aspects/issues/194","labels_url":"https://api.github.com/repos/jcabi/jcabi-aspects/issues/194/labels{/name}","comments_url":"https://api.github.com/repos/jcabi/jcabi-aspects/issues/194/comments","events_url":"https://api.github.com/repos/jcabi/jcabi-aspects/issues/194/events","html_url":"https://github.com/jcabi/jcabi-aspects/issues/194","id":115238091,"number":194,"title":"Validation exception when altering message of NotNull","user":{"login":"krzyk","id":105730,"avatar_url":"https://avatars.githubusercontent.com/u/105730?v=3","gravatar_id":"","url":"https://api.github.com/users/krzyk","html_url":"https://github.com/krzyk","followers_url":"https://api.github.com/users/krzyk/followers","following_url":"https://api.github.com/users/krzyk/following{/other_user}","gists_url":"https://api.github.com/users/krzyk/gists{/gist_id}","starred_url":"https://api.github.com/users/krzyk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krzyk/subscriptions","organizations_url":"https://api.github.com/users/krzyk/orgs","repos_url":"https://api.github.com/users/krzyk/repos","events_url":"https://api.github.com/users/krzyk/events{/privacy}","received_events_url":"https://api.github.com/users/krzyk/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jcabi/jcabi-aspects/labels/30%20mins","name":"30 mins","color":"eb6421"},{"url":"https://api.github.com/repos/jcabi/jcabi-aspects/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/jcabi/jcabi-aspects/labels/DEV","name":"DEV","color":"bfd4f3"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":15,"created_at":"2015-11-05T09:05:19Z","updated_at":"2016-01-01T21:20:23Z","closed_at":null,"body":"Following test will fail if using jcabi-aspects 0.22.2 (and 0.22.1), but works on 0.21.1:\r\n\r\n```\r\nimport javax.validation.constraints.NotNull;\r\nimport org.junit.Test;\r\n\r\npublic final class FooTest {\r\n    @Test\r\n    public void test() {\r\n        new Bar().test(\"\");\r\n    }\r\n}\r\n\r\ninterface Foo {\r\n    void test(@NotNull(message = \"foo\") String value);\r\n}\r\n\r\nclass Bar implements Foo {\r\n    @Override\r\n    public void test(@NotNull final String value) {\r\n        System.out.println(value);\r\n    }\r\n}\r\n```\r\n\r\ndependencies:\r\n```\r\n        <dependency>                                                            \r\n            <groupId>com.jcabi</groupId>                                        \r\n            <artifactId>jcabi-aspects</artifactId>                              \r\n            <version>0.22.2</version>                                           \r\n        </dependency>                                                           \r\n        <dependency>                                                            \r\n            <groupId>javax.validation</groupId>                                 \r\n            <artifactId>validation-api</artifactId>                             \r\n            <version>1.1.0.Final</version>                                      \r\n        </dependency>                                                           \r\n        <dependency>                                                            \r\n            <groupId>org.hibernate</groupId>                                    \r\n            <artifactId>hibernate-validator</artifactId>                        \r\n            <version>5.2.1.Final</version>                                      \r\n        </dependency>                                                           \r\n        <dependency>                                                            \r\n            <groupId>javax.el</groupId>                                         \r\n            <artifactId>javax.el-api</artifactId>                               \r\n            <version>3.0.1-b04</version>                                        \r\n        </dependency>                                  \r\n```\r\n\r\nbuild plugin:\r\n```\r\n            <plugin>                                                            \r\n                <groupId>com.jcabi</groupId>                                    \r\n                <artifactId>jcabi-maven-plugin</artifactId>                     \r\n                <executions>                                                    \r\n                    <execution>                                                 \r\n                        <id>jcabi-ajc-compile</id>                              \r\n                        <phase>process-classes</phase>                          \r\n                        <goals>                                                 \r\n                            <goal>ajc</goal>                                    \r\n                        </goals>                                                \r\n                        <configuration>                                         \r\n                            <tempDirectory>${project.build.directory}/jcabi-ajc</tempDirectory>\r\n                            <classesDirectory>${project.build.outputDirectory}</classesDirectory>\r\n                            <aspectsDirectories>                                \r\n                                <directory>${project.basedir}/src/main/aspect</directory>\r\n                            </aspectsDirectories>                               \r\n                        </configuration>                                        \r\n                    </execution>                                                \r\n                    <execution>                                                 \r\n                        <id>jcabi-ajc-test-compile</id>                         \r\n                        <phase>process-test-classes</phase>                     \r\n                        <goals>                                                 \r\n                            <goal>ajc</goal>                                    \r\n                        </goals>                                                \r\n                        <configuration>                                         \r\n                            <tempDirectory>${project.build.directory}/jcabi-ajc-test</tempDirectory>\r\n                            <classesDirectory>${project.build.testOutputDirectory}</classesDirectory>\r\n                            <aspectsDirectories>                                \r\n                                <directory>${project.basedir}/src/main/aspect</directory>\r\n                                <directory>${project.basedir}/src/test/aspect</directory>\r\n                            </aspectsDirectories>                               \r\n                            <scopes>                                            \r\n                                <scope>compile</scope>                          \r\n                                <scope>provided</scope>                         \r\n                                <scope>system</scope>                           \r\n                                <scope>runtime</scope>                          \r\n                                <scope>test</scope>                             \r\n                            </scopes>                                           \r\n                        </configuration>                                        \r\n                    </execution>                                                \r\n                </executions>                                                   \r\n                <dependencies>                                                  \r\n                <dependency>                                                    \r\n                    <groupId>org.hibernate</groupId>                            \r\n                    <artifactId>hibernate-validator</artifactId>                \r\n                    <version>5.2.2.Final</version>                              \r\n                    <scope>runtime</scope>                                      \r\n                </dependency>                                                   \r\n            </dependencies>                                                                                                                                                                   \r\n            </plugin>\r\n```\r\n\r\nwith\r\n```\r\n HV000151: A method overriding another method must not alter the parameter constraint configuration, but method public void com.sabre.tripcase.tcp.Bar.test(java.lang.String) changes the configuration of public abstract void com.sabre.tripcase.tcp.Foo.test(java.lang.String).\r\n```\r\n\r\nOverriding message in inheriting classes is very popular (e.g. guava does that in few places) so please remove this constraint."},"comment":{"url":"https://api.github.com/repos/jcabi/jcabi-aspects/issues/comments/168338039","html_url":"https://github.com/jcabi/jcabi-aspects/issues/194#issuecomment-168338039","issue_url":"https://api.github.com/repos/jcabi/jcabi-aspects/issues/194","id":168338039,"user":{"login":"krzyk","id":105730,"avatar_url":"https://avatars.githubusercontent.com/u/105730?v=3","gravatar_id":"","url":"https://api.github.com/users/krzyk","html_url":"https://github.com/krzyk","followers_url":"https://api.github.com/users/krzyk/followers","following_url":"https://api.github.com/users/krzyk/following{/other_user}","gists_url":"https://api.github.com/users/krzyk/gists{/gist_id}","starred_url":"https://api.github.com/users/krzyk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krzyk/subscriptions","organizations_url":"https://api.github.com/users/krzyk/orgs","repos_url":"https://api.github.com/users/krzyk/repos","events_url":"https://api.github.com/users/krzyk/events{/privacy}","received_events_url":"https://api.github.com/users/krzyk/received_events","type":"User","site_admin":false},"created_at":"2016-01-01T21:20:23Z","updated_at":"2016-01-01T21:20:23Z","body":"@pinaf but it is not assigned to me and I'm not architect here so why would @dmarkov listen to me? :)"}}