{
ApiAdapter api = om.getApiAdapter();
if (parameters.size() != parameterTypesByName.size())
{
// Number of explicit parameters doesn't match the number of parameter values
throw new JPOXQueryInvalidParametersException(LOCALISER.msg("021025",
"" + parameterTypesByName.size(), "" + parameters.size()));
}
for (Iterator it = parameterTypesByName.entrySet().iterator(); it.hasNext(); )
{
Map.Entry entry = (Entry) it.next();
Object key = entry.getKey();
Object value = parameters.get(key);
if (value == null)
{
// primitive parameter can't be null
if (((Class)entry.getValue()).isPrimitive())
{
throw new JPOXQueryInvalidParametersException(LOCALISER.msg("021026",
entry.getKey(), ((Class)entry.getValue()).getName()));
}
}
else
{