Package org.apache.cayenne.map

Examples of org.apache.cayenne.map.ProcedureParameter


        if (values != null && values.size() > 0) {
            List params = getProcedure().getCallParameters();

            int len = values.size();
            for (int i = 0; i < len; i++) {
                ProcedureParameter param = (ProcedureParameter) params.get(i);

                // !Stored procedure parameter can be both in and out
                // at the same time
                if (param.isOutParam()) {
                    setOutParam(stmt, param, i + 1);
                }

                if (param.isInParameter()) {
                    setInParam(stmt, param, values.get(i), i + 1);
                }
            }
        }
    }
View Full Code Here


        // make an assumption that a missing value is NULL
        // Any reason why this is bad?

        Iterator it = callParams.iterator();
        while (it.hasNext()) {
            ProcedureParameter param = (ProcedureParameter) it.next();

            if (param.getDirection() == ProcedureParameter.OUT_PARAMETER) {
                values.add(OUT_PARAM);
            }
            else {
                values.add(queryValues.get(param.getName()));
            }
        }
    }
View Full Code Here

        // build result row...
        Map result = null;
        List parameters = getProcedure().getCallParameters();
        for (int i = 0; i < parameters.size(); i++) {
            ProcedureParameter parameter = (ProcedureParameter) parameters.get(i);

            if (!parameter.isOutParam()) {
                continue;
            }

            if (result == null) {
                result = new HashMap();
View Full Code Here

        if (values != null && values.size() > 0) {
            List params = getProcedure().getCallParameters();

            int len = values.size();
            for (int i = 0; i < len; i++) {
                ProcedureParameter param = (ProcedureParameter) params.get(i);

                // !Stored procedure parameter can be both in and out
                // at the same time
                if (param.isOutParam()) {
                    setOutParam(stmt, param, i + 1);
                }

                if (param.isInParameter()) {
                    setInParam(stmt, param, values.get(i), i + 1);
                }
            }
        }
    }
View Full Code Here

        // make an assumption that a missing value is NULL
        // Any reason why this is bad?

        Iterator it = callParams.iterator();
        while (it.hasNext()) {
            ProcedureParameter param = (ProcedureParameter) it.next();

            if (param.getDirection() == ProcedureParameter.OUT_PARAMETER) {
                values.add(OUT_PARAM);
            }
            else {
                values.add(queryValues.get(param.getName()));
            }
        }
    }
View Full Code Here

        protected String nameBase() {
            return "UntitledProcedureParameter";
        }

        protected Object create(String name, Object namingContext) {
            return new ProcedureParameter(name);
        }
View Full Code Here

            // a duplicate name.. parameters are positional anyway..
            // still try to use unique names for visual consistency
            Procedure procedure = (Procedure) namingContext;
            Iterator it = procedure.getCallParameters().iterator();
            while (it.hasNext()) {
                ProcedureParameter parameter = (ProcedureParameter) it.next();
                if (name.equals(parameter.getName())) {
                    return true;
                }
            }

            return false;
View Full Code Here

                            + "."
                            + columnName);
                    continue;
                }

                ProcedureParameter column = new ProcedureParameter(columnName);

                if (columnName == null) {
                    if (type == DatabaseMetaData.procedureColumnReturn) {
                        logObj.debug("null column name, assuming result column: " + key);
                        column.setName("_return_value");
                    }
                    else {
                        logObj.info("invalid null column name, skipping column : " + key);
                        continue;
                    }
                }

                int columnType = columnsRS.getInt("DATA_TYPE");
                int columnSize = columnsRS.getInt("LENGTH");

                // ignore precision of non-decimal columns
                int decimalDigits = -1;
                if (TypesMapping.isDecimal(columnType)) {
                    decimalDigits = columnsRS.getShort("SCALE");
                    if (columnsRS.wasNull()) {
                        decimalDigits = -1;
                    }
                }

                switch (type) {
                    case DatabaseMetaData.procedureColumnIn:
                        column.setDirection(ProcedureParameter.IN_PARAMETER);
                        break;
                    case DatabaseMetaData.procedureColumnInOut:
                        column.setDirection(ProcedureParameter.IN_OUT_PARAMETER);
                        break;
                    case DatabaseMetaData.procedureColumnOut:
                        column.setDirection(ProcedureParameter.OUT_PARAMETER);
                        break;
                    case DatabaseMetaData.procedureColumnReturn:
                        procedure.setReturningValue(true);
                        break;
                }

                column.setMaxLength(columnSize);
                column.setPrecision(decimalDigits);
                column.setProcedure(procedure);
                column.setType(columnType);
                procedure.addCallParameter(column);
            }
        }
        finally {
            columnsRS.close();
View Full Code Here

        protected String nameBase() {
            return "UntitledProcedureParameter";
        }

        protected Object create(String name, Object namingContext) {
            return new ProcedureParameter(name);
        }
View Full Code Here

            // a duplicate name.. parameters are positional anyway..
            // still try to use unique names for visual consistency
            Procedure procedure = (Procedure) namingContext;
            Iterator it = procedure.getCallParameters().iterator();
            while (it.hasNext()) {
                ProcedureParameter parameter = (ProcedureParameter) it.next();
                if (name.equals(parameter.getName())) {
                    return true;
                }
            }

            return false;
View Full Code Here

TOP

Related Classes of org.apache.cayenne.map.ProcedureParameter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.