StringHelper encloseInParens check boolean is incorrect

Description

The parsing check for whether parameters need parens surrounding or not is broken. I have a query like:

"description in :descriptions ))"

and the way it is written, it thinks it doesn't need to surround ":descriptions" with parens because the first non whitespace char after ":descriptions" is a ). Here is a link to the code on github, and below is the code and what it should be fixed to (I forked it on Git and have included the pull request on this issue). Cheers and thanks!

https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/main/java/org/hibernate/internal/util/StringHelper.java#L175

boolean encloseInParens =
actuallyReplace &&
encloseInParensIfNecessary &&
! ( getLastNonWhitespaceCharacter( beforePlaceholder ) == '(' ) &&
! ( getFirstNonWhitespaceCharacter( afterPlaceholder ) == ')' );

Should be

boolean encloseInParens =
actuallyReplace &&
encloseInParensIfNecessary &&
! (
( getLastNonWhitespaceCharacter( beforePlaceholder ) == '(' ) &&
( getFirstNonWhitespaceCharacter( afterPlaceholder ) == ')' )
);

Environment

None

Activity

Show:
Steve Ebersole
October 27, 2015, 7:16 PM

This bug report does not indicate that the reported issue affects version 5.x. Versions prior to 5.x are no longer maintained. It would be a great help to the Hibernate team and community for someone to verify that the reported issue still affects version 5.x. If so, please add the 5.x version that you verified with to the list of affected-versions and attach the (preferably SSCCE) test case you used to do the verification to the report; from there the issues will be looked at during our triage meetings.

For details, see http://in.relation.to/2015/10/27/great-jira-cleanup-2015/

Steve Ebersole
October 28, 2015, 3:25 AM

As part of verifying that this issue affects 5.0, please just set the "Affects version". Leave the "verify-affects-5.0" label and leave the issue in "Awaiting Response" status; these are critical for us to be able to track these verifications and triage them. Thanks.

Assignee

Gail Badner

Reporter

Amy

Fix versions

None

backPortable

None

Suitable for new contributors

Yes, likely

Requires Release Note

None

backportDecision

None

Components

Affects versions

Priority

Major
Configure