mirror of https://github.com/apache/openjpa.git
OPENJPA-1700 FindBugs - Inefficient use of keySet iterator instead of entrySet iterator
git-svn-id: https://svn.apache.org/repos/asf/openjpa/trunk@956939 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2747862d5f
commit
d5fc007b70
|
@ -25,6 +25,7 @@ import java.util.Collections;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.openjpa.jdbc.meta.ClassMapping;
|
||||
import org.apache.openjpa.jdbc.meta.FieldMapping;
|
||||
|
@ -318,11 +319,13 @@ public class PreparedQueryImpl implements PreparedQuery {
|
|||
}
|
||||
Map<Integer, Object> result = new HashMap<Integer, Object>(_template);
|
||||
|
||||
for (Object key : user.keySet()) {
|
||||
Set<Map.Entry<Object,Object>> userSet = user.entrySet();
|
||||
for (Map.Entry<Object,Object> userEntry : userSet) {
|
||||
Object key = userEntry.getKey();
|
||||
int[] indices = _userParamPositions.get(key);
|
||||
if (indices == null || indices.length == 0)
|
||||
throw new UserException(_loc.get("uparam-no-pos", key, this));
|
||||
Object val = user.get(key);
|
||||
Object val = userEntry.getValue();
|
||||
if (ImplHelper.isManageable(val)) {
|
||||
setPersistenceCapableParameter(result, val, indices, broker);
|
||||
} else if (val instanceof Collection) {
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.sql.PreparedStatement;
|
|||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.openjpa.jdbc.kernel.exps.ExpContext;
|
||||
import org.apache.openjpa.jdbc.kernel.exps.QueryExpressionsState;
|
||||
|
@ -153,9 +154,11 @@ public class PreparedSQLStoreQuery extends SQLStoreQuery {
|
|||
*/
|
||||
public Object[] toParameterArray(StoreQuery q, Map userParams) {
|
||||
Object[] array = new Object[userParams.size()];
|
||||
for (Object key : userParams.keySet()) {
|
||||
int idx = ((Integer)key).intValue();
|
||||
array[idx] = userParams.get(key);
|
||||
|
||||
Set<Map.Entry<Object,Object>> userSet = userParams.entrySet();
|
||||
for (Map.Entry<Object,Object> userEntry : userSet) {
|
||||
int idx = ((Integer)userEntry.getKey()).intValue();
|
||||
array[idx] = userEntry.getValue();
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
|
|
@ -91,10 +91,13 @@ public class VersionMappingInfo
|
|||
}
|
||||
MappingDefaults def = vers.getMappingRepository().getMappingDefaults();
|
||||
List<Column> result = new ArrayList<Column>();
|
||||
for (Table table : assign.keySet()) {
|
||||
List<Column> cols = assign.get(table);
|
||||
Column[] partTemplates = cols.toArray(new Column[cols.size()]);
|
||||
def.populateColumns(vers, table, partTemplates);
|
||||
|
||||
Set<Map.Entry<Table,List<Column>>> assignSet = assign.entrySet();
|
||||
for (Map.Entry<Table,List<Column>> assignEntry : assignSet) {
|
||||
Table table = assignEntry.getKey();
|
||||
List<Column> cols = assignEntry.getValue();
|
||||
Column[] partTemplates = cols.toArray(new Column[cols.size()]);
|
||||
def.populateColumns(vers, table, partTemplates);
|
||||
result.addAll(Arrays.asList(createColumns(vers, null, partTemplates,
|
||||
table, adapt)));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue