dq.setCall(call);
DatabaseType[] typesForMethod = procOpModel.getArgumentTypes().get(i);
for (int j=0, len=typesForMethod.length; j<len; j++) {
DbStoredArgument arg = storedProcedure.getArguments().get(j);
DatabaseType databaseType = typesForMethod[j];
InOut direction = arg.getInOut();
if (direction == OUT) {
call.addNamedOutputArgument(arg.getName(), databaseType);
}
else if (direction == IN) {
call.addNamedArgument(arg.getName(), databaseType);
}
else {
call.addNamedInOutputArgument(arg.getName(), databaseType);
}
if (direction == IN | direction == INOUT) {
if (xdesc != null) {
dq.addArgumentByTypeName(arg.getName(), xdesc.getJavaClassName());
}
else {
if (databaseType instanceof PLSQLCollection) {
dq.addArgument(arg.getName(), Array.class);
}
else if (databaseType instanceof PLSQLrecord) {
dq.addArgument(arg.getName(), Struct.class);
}
else {
dq.addArgument(arg.getName(),
JDBCTypes.getClassForCode(databaseType.getConversionCode()));
}
}
}
}
orProject.getQueries().add(dq);