Community
Participate
Working Groups
>int index = query.getArguments().indexOf(name); >should be moved to a smaller scope in protected void setParameterInternal(String name, Object value, boolean isIndex) { DatabaseQuery query = getDatabaseQueryInternal(); > int index = query.getArguments().indexOf(name); if (query.getQueryMechanism().isJPQLCallQueryMechanism()) { // only non native queries if (index == -1) { if (isIndex) { throw new IllegalArgumentException(ExceptionLocalization.buildMessage("ejb30-wrong-argument-index", new Object[] { name, query.getEJBQLString() })); } else { throw new IllegalArgumentException(ExceptionLocalization.buildMessage("ejb30-wrong-argument-name", new Object[] { name, query.getEJBQLString() })); } } Class type = query.getArgumentTypes().get(index); if (!isValidActualParameter(value, type)) { throw new IllegalArgumentException(ExceptionLocalization.buildMessage("ejb30-incorrect-parameter-type", new Object[] { name, value.getClass(), query.getArgumentTypes().get(index), query.getEJBQLString() })); } } this.parameterValues.put(name, value); } >should be protected void setParameterInternal(String name, Object value, boolean isIndex) { DatabaseQuery query = getDatabaseQueryInternal(); if (query.getQueryMechanism().isJPQLCallQueryMechanism()) { // only non native queries > int index = query.getArguments().indexOf(name); if (index == -1) { if (isIndex) { throw new IllegalArgumentException(ExceptionLocalization.buildMessage("ejb30-wrong-argument-index", new Object[] { name, query.getEJBQLString() })); } else { throw new IllegalArgumentException(ExceptionLocalization.buildMessage("ejb30-wrong-argument-name", new Object[] { name, query.getEJBQLString() })); } } Class type = query.getArgumentTypes().get(index); if (!isValidActualParameter(value, type)) { throw new IllegalArgumentException(ExceptionLocalization.buildMessage("ejb30-incorrect-parameter-type", new Object[] { name, value.getClass(), query.getArgumentTypes().get(index), query.getEJBQLString() })); } } this.parameterValues.put(name, value); }
Created attachment 182073 [details] 329989 Performance fix for EJBQueryImpl.setParameterInternal()
>scope reduction in SVN TXN # 8494 https://fisheye2.atlassian.com/changelog/eclipselink/?cs=8494
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink