protected String getParameterNumber(int rowIndex, ProcedureParameter parameter) { boolean hasReturnValue = parameter.getProcedure().isReturningValue(); if (hasReturnValue) { return (rowIndex == 0) ? "R" : "" + rowIndex; } else { return "" + (rowIndex + 1); } }
/** * Creates an SQL String for the stored procedure call. */ protected String createSqlString() { Procedure procedure = getProcedure(); StringBuffer buf = new StringBuffer(); int totalParams = callParams.size(); // check if procedure returns values if (procedure.isReturningValue()) { totalParams--; buf.append("{? = call "); } else { buf.append("{call "); } buf.append(procedure.getFullyQualifiedName()); if (totalParams > 0) { // unroll the loop buf.append("(?"); for (int i = 1; i < totalParams; i++) { buf.append(", ?"); } buf.append(")"); } buf.append("}"); return buf.toString(); }
/** * Creates an SQL String for the stored procedure call. */ protected String createSqlString() { Procedure procedure = getProcedure(); StringBuilder buf = new StringBuilder(); int totalParams = callParams.size(); // check if procedure returns values if (procedure.isReturningValue()) { totalParams--; buf.append("{? = call "); } else { buf.append("{call "); } buf.append(procedure.getFullyQualifiedName()); if (totalParams > 0) { // unroll the loop buf.append("(?"); for (int i = 1; i < totalParams; i++) { buf.append(", ?"); } buf.append(")"); } buf.append("}"); return buf.toString(); }
if (procedure.isReturningValue()) { totalParams--;
if (procedure.isReturningValue()) { totalParams--;
void validate(Procedure procedure, ValidationResult validationResult) { validateName(procedure, validationResult); // check that return value is present if (procedure.isReturningValue()) { List<ProcedureParameter> parameters = procedure.getCallParameters(); if (parameters.isEmpty()) { addFailure( validationResult, procedure, "Procedure '%s' returns a value, but has no parameters", procedure.getName()); } } }
public void validateObject(ProjectPath treeNodePath, Validator validator) { Procedure procedure = (Procedure) treeNodePath.getObject(); validateName(procedure, treeNodePath, validator); // check that return value is present if (procedure.isReturningValue()) { List parameters = procedure.getCallParameters(); if (parameters.size() == 0) { validator.registerWarning( "Procedure returns a value, but has no parameters.", treeNodePath); } } }
/** * Invoked when currently selected Procedure object is changed. */ public void currentProcedureChanged(ProcedureDisplayEvent e) { Procedure procedure = e.getProcedure(); if (procedure == null || !e.isProcedureChanged()) { return; } name.setText(procedure.getName()); schema.setText(procedure.getSchema()); catalog.setText(procedure.getCatalog()); ignoreChange = true; returnsValue.setSelected(procedure.isReturningValue()); ignoreChange = false; }
/** * Prints itself as XML to the provided XMLEncoder. * * @since 1.1 */ public void encodeAsXML(XMLEncoder encoder) { encoder.print("<procedure name=\""); encoder.print(Util.encodeXmlAttribute(getName())); encoder.print('\"'); if (getSchema() != null && getSchema().trim().length() > 0) { encoder.print(" schema=\""); encoder.print(getSchema().trim()); encoder.print('\"'); } if (getCatalog() != null && getCatalog().trim().length() > 0) { encoder.print(" catalog=\""); encoder.print(getCatalog().trim()); encoder.print('\"'); } if (isReturningValue()) { encoder.print(" returningValue=\"true\""); } encoder.println('>'); encoder.indent(1); encoder.print(getCallParameters()); encoder.indent(-1); encoder.println("</procedure>"); }
/** * Prints itself as XML to the provided XMLEncoder. * * @since 1.1 */ public void encodeAsXML(XMLEncoder encoder) { encoder.print("<procedure name=\""); encoder.print(Util.encodeXmlAttribute(getName())); encoder.print('\"'); if (getSchema() != null && getSchema().trim().length() > 0) { encoder.print(" schema=\""); encoder.print(getSchema().trim()); encoder.print('\"'); } if (getCatalog() != null && getCatalog().trim().length() > 0) { encoder.print(" catalog=\""); encoder.print(getCatalog().trim()); encoder.print('\"'); } if (isReturningValue()) { encoder.print(" returningValue=\"true\""); } encoder.println('>'); encoder.indent(1); encoder.print(getCallParameters()); encoder.indent(-1); encoder.println("</procedure>"); }