Skip to content

Commit

Permalink
JIPI-32 org.jboss.as.jpa.hibernate4.management.QueryName should consu…
Browse files Browse the repository at this point in the history
…me less cpu
  • Loading branch information
scottmarlow committed Jul 7, 2014
1 parent 688243d commit 74cc62a
Show file tree
Hide file tree
Showing 2 changed files with 110 additions and 66 deletions.
Expand Up @@ -153,40 +153,61 @@ private String displayable(String query) {
query.length() == 0) {
return query;
}
StringBuilder buff = new StringBuilder(query);

// handle two character transforms first
query = query.replace(SQL_NE, NOT_EQUAL__);
query = query.replace(NE_BANG, BANG_NOT_EQUAL__);
query = query.replace(NE_HAT, HAT_NOT_EQUAL__);
query = query.replace(LE, LESS_THAN_EQUAL__);
query = query.replace(GE, GREATER_THAN_EQUAL__);
query = query.replace(CONCAT, CONCAT__);
query = query.replace(LT, LESS_THAN__);
query = query.replace(EQ, EQUAL__);
query = query.replace(GT, GREATER__);
query = query.replace(OPEN, LEFT_PAREN__);
query = query.replace(CLOSE, RIGHT_PAREN__);
query = query.replace(OPEN_BRACKET, LEFT_BRACKET__);
query = query.replace(CLOSE_BRACKET, RIGHT_BRACKET__);
query = query.replace(PLUS, PLUS__);
query = query.replace(MINUS, MINUS__);
query = query.replace(STAR, STAR__);
query = query.replace(DIV, DIVIDE__);
query = query.replace(MOD, MODULUS__);
query = query.replace(COLON, COLON__);
query = query.replace(PARAM, PARAM__);
query = query.replace(COMMA, COMMA__);
query = query.replace(SPACE, SPACE__);
query = query.replace(TAB, TAB__);
query = query.replace(NEWLINE, NEWLINE__);
query = query.replace(LINEFEED, LINEFEED__);
query = query.replace(QUOTE, QUOTE__);
query = query.replace(DQUOTE, DQUOTE__);
query = query.replace(TICK, TICK__);
query = query.replace(OPEN_BRACE, OPEN_BRACE__);
query = query.replace(CLOSE_BRACE, CLOSE_BRACE__);
query = query.replace(HAT, HAT__);
query = query.replace(AMPERSAND, AMPERSAND__);
return query;
subst(buff, SQL_NE, NOT_EQUAL__);
subst(buff, NE_BANG, BANG_NOT_EQUAL__);
subst(buff, NE_HAT, HAT_NOT_EQUAL__);
subst(buff, LE, LESS_THAN_EQUAL__);
subst(buff, GE, GREATER_THAN_EQUAL__);
subst(buff, CONCAT, CONCAT__);
subst(buff, LT, LESS_THAN__);
subst(buff, EQ, EQUAL__);
subst(buff, GT, GREATER__);
subst(buff, OPEN, LEFT_PAREN__);
subst(buff, CLOSE, RIGHT_PAREN__);
subst(buff, OPEN_BRACKET, LEFT_BRACKET__);
subst(buff, CLOSE_BRACKET, RIGHT_BRACKET__);
subst(buff, PLUS, PLUS__);
subst(buff, MINUS, MINUS__);
subst(buff, STAR, STAR__);
subst(buff, DIV, DIVIDE__);
subst(buff, MOD, MODULUS__);
subst(buff, COLON, COLON__);
subst(buff, PARAM, PARAM__);
subst(buff, COMMA, COMMA__);
subst(buff, SPACE, SPACE__);
subst(buff, TAB, TAB__);
subst(buff, NEWLINE, NEWLINE__);
subst(buff, LINEFEED, LINEFEED__);
subst(buff, QUOTE, QUOTE__);
subst(buff, DQUOTE, DQUOTE__);
subst(buff, TICK, TICK__);
subst(buff, OPEN_BRACE, OPEN_BRACE__);
subst(buff, CLOSE_BRACE, CLOSE_BRACE__);
subst(buff, HAT, HAT__);
subst(buff, AMPERSAND, AMPERSAND__);
return buff.toString();
}

/**
* Substitute sub-strings inside of a string.
*
* @param stringBuilder String buffer to use for substitution (buffer is not reset)
* @param from String to substitute from
* @param to String to substitute to
*/
private static void subst(final StringBuilder stringBuilder, final String from, final String to) {
int begin = 0, end = 0;

while ((end = stringBuilder.indexOf(from, end)) != -1) {
stringBuilder.delete(end, end + from.length());
stringBuilder.insert(end, to);

// update positions
begin = end + to.length();
end = begin;
}
}
}
Expand Up @@ -153,40 +153,63 @@ private String displayable(String query) {
query.length() == 0) {
return query;
}

StringBuilder buff = new StringBuilder(query);

// handle two character transforms first
query = query.replace(SQL_NE, NOT_EQUAL__);
query = query.replace(NE_BANG, BANG_NOT_EQUAL__);
query = query.replace(NE_HAT, HAT_NOT_EQUAL__);
query = query.replace(LE, LESS_THAN_EQUAL__);
query = query.replace(GE, GREATER_THAN_EQUAL__);
query = query.replace(CONCAT, CONCAT__);
query = query.replace(LT, LESS_THAN__);
query = query.replace(EQ, EQUAL__);
query = query.replace(GT, GREATER__);
query = query.replace(OPEN, LEFT_PAREN__);
query = query.replace(CLOSE, RIGHT_PAREN__);
query = query.replace(OPEN_BRACKET, LEFT_BRACKET__);
query = query.replace(CLOSE_BRACKET, RIGHT_BRACKET__);
query = query.replace(PLUS, PLUS__);
query = query.replace(MINUS, MINUS__);
query = query.replace(STAR, STAR__);
query = query.replace(DIV, DIVIDE__);
query = query.replace(MOD, MODULUS__);
query = query.replace(COLON, COLON__);
query = query.replace(PARAM, PARAM__);
query = query.replace(COMMA, COMMA__);
query = query.replace(SPACE, SPACE__);
query = query.replace(TAB, TAB__);
query = query.replace(NEWLINE, NEWLINE__);
query = query.replace(LINEFEED, LINEFEED__);
query = query.replace(QUOTE, QUOTE__);
query = query.replace(DQUOTE, DQUOTE__);
query = query.replace(TICK, TICK__);
query = query.replace(OPEN_BRACE, OPEN_BRACE__);
query = query.replace(CLOSE_BRACE, CLOSE_BRACE__);
query = query.replace(HAT, HAT__);
query = query.replace(AMPERSAND, AMPERSAND__);
return query;
subst(buff, SQL_NE, NOT_EQUAL__);
subst(buff, NE_BANG, BANG_NOT_EQUAL__);
subst(buff, NE_HAT, HAT_NOT_EQUAL__);
subst(buff, LE, LESS_THAN_EQUAL__);
subst(buff, GE, GREATER_THAN_EQUAL__);
subst(buff, CONCAT, CONCAT__);
subst(buff, LT, LESS_THAN__);
subst(buff, EQ, EQUAL__);
subst(buff, GT, GREATER__);
subst(buff, OPEN, LEFT_PAREN__);
subst(buff, CLOSE, RIGHT_PAREN__);
subst(buff, OPEN_BRACKET, LEFT_BRACKET__);
subst(buff, CLOSE_BRACKET, RIGHT_BRACKET__);
subst(buff, PLUS, PLUS__);
subst(buff, MINUS, MINUS__);
subst(buff, STAR, STAR__);
subst(buff, DIV, DIVIDE__);
subst(buff, MOD, MODULUS__);
subst(buff, COLON, COLON__);
subst(buff, PARAM, PARAM__);
subst(buff, COMMA, COMMA__);
subst(buff, SPACE, SPACE__);
subst(buff, TAB, TAB__);
subst(buff, NEWLINE, NEWLINE__);
subst(buff, LINEFEED, LINEFEED__);
subst(buff, QUOTE, QUOTE__);
subst(buff, DQUOTE, DQUOTE__);
subst(buff, TICK, TICK__);
subst(buff, OPEN_BRACE, OPEN_BRACE__);
subst(buff, CLOSE_BRACE, CLOSE_BRACE__);
subst(buff, HAT, HAT__);
subst(buff, AMPERSAND, AMPERSAND__);
return buff.toString();
}

/**
* Substitute sub-strings inside of a string.
*
* @param stringBuilder String buffer to use for substitution (buffer is not reset)
* @param from String to substitute from
* @param to String to substitute to
*/
private static void subst(final StringBuilder stringBuilder, final String from, final String to) {
int begin = 0, end = 0;

while ((end = stringBuilder.indexOf(from, end)) != -1) {
stringBuilder.delete(end, end + from.length());
stringBuilder.insert(end, to);

// update positions
begin = end + to.length();
end = begin;
}
}

}

0 comments on commit 74cc62a

Please sign in to comment.