Examples of PLSQLStoredProcedureCall


Examples of org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall

                        isPLSQLStoredProc = true;
                        break;
                    }
                }
               
                PLSQLStoredProcedureCall call;
                if (storedProcedure.isFunction()) {
                    if (procOpModel.getDbStoredFunctionReturnType() != null) {
                        call = new PLSQLStoredFunctionCall(procOpModel.getDbStoredFunctionReturnType());
                    } else {
                        call = new PLSQLStoredFunctionCall();
                    }
                } else {
                    call = new PLSQLStoredProcedureCall();
                }
               
                if (isPLSQLStoredProc) {
                    String catalogPrefix = null;
                    String cat = storedProcedure.getCatalog();
                    if (cat == null | cat.length() == 0) {
                        catalogPrefix = "";
                    }
                    else {
                        catalogPrefix = cat + ".";
                    }
                    call.setProcedureName(catalogPrefix + storedProcedure.getName());
                    DatabaseQuery dq = null;
                    DbStoredProcedureNameAndModel nameAndModel =
                        dbStoredProcedure2QueryName.get(storedProcedure);
                    String returnType = nameAndModel.procOpModel.getReturnType();
                    boolean hasResponse = returnType != null;
                    String typ = null;
                    ClassDescriptor xdesc = null;
                    if (hasResponse) {
                        int idx = 0;
                        int colonIdx = returnType.indexOf(":");
                        if (colonIdx == -1) {
                            idx = returnType.indexOf("}");
                        }
                        else {
                            idx = colonIdx;
                        }
                        if (idx > 0) {
                            typ = returnType.substring(idx+1);
                            for (XMLDescriptor xd : (List<XMLDescriptor>)(List)oxProject.getOrderedDescriptors()) {
                                if (xd.getSchemaReference() != null) {
                                    String context = xd.getSchemaReference().getSchemaContext();
                                    if (context.substring(1).equals(typ)) {
                                        xdesc = xd;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    if (hasResponse) {
                        if (nameAndModel.procOpModel.isCollection) {
                            dq = new DataReadQuery();
                        }
                        else {
                            dq = new ValueReadQuery();
                        }
                    }
                    else {
                        dq = new ValueReadQuery();
                    }
                    dq.bindAllParameters();
                    dq.setName(nameAndModel.name);
                    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());
                            }
View Full Code Here

Examples of org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall

    /**
     * Define the query arguments based on the procedure call.
     */
    protected static void applyArguments(StoredProcedureCall call, DatabaseQuery query) {
        if (call instanceof PLSQLStoredProcedureCall) {
            PLSQLStoredProcedureCall plsqlCall = (PLSQLStoredProcedureCall)call;
            for (int index = 0; index < plsqlCall.getArguments().size(); index++) {
                PLSQLargument argument = plsqlCall.getArguments().get(index);
                int type = argument.direction;
                if ((type == StoredProcedureCall.IN) || (type == StoredProcedureCall.INOUT)) {
                    if (call.hasOptionalArguments()) {
                        query.addArgument(argument.name, Object.class, call.getOptionalArguments().contains(new DatabaseField(argument.name)));
                    } else {
View Full Code Here

Examples of org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall

     * INTERNAL:
     */
    @Override
    public void process(AbstractSession session, ClassLoader loader) {
        // Build the stored procedure call.
        PLSQLStoredProcedureCall call = new PLSQLStoredProcedureCall();
       
        // Process the stored procedure parameters.
        for (PLSQLParameterMetadata parameter : m_parameters) {
            parameter.process(call, false);
        }
       
        // Process the procedure name.
        call.setProcedureName(m_procedureName);
               
        // Process the query hints.
        Map<String, Object> hints = processQueryHints(session);
       
        // Process the result class.
View Full Code Here

Examples of org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall

     * INTERNAL:
     */
    @Override
    public void process(AbstractSession session, ClassLoader loader, MetadataProject project) {
        // Build the stored procedure call.
        PLSQLStoredProcedureCall call = new PLSQLStoredProcedureCall();
       
        // Process the stored procedure parameters.
        for (PLSQLParameterMetadata parameter : m_parameters) {
            parameter.process(call, project, false);
        }
       
        // Process the procedure name.
        call.setProcedureName(m_procedureName);
               
        // Process the query hints.
        Map<String, Object> hints = processQueryHints(session);
       
        // Process the result class.
View Full Code Here

Examples of org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall

    /**
     * Define the query arguments based on the procedure call.
     */
    protected static void applyArguments(StoredProcedureCall call, DatabaseQuery query) {
        if (call instanceof PLSQLStoredProcedureCall) {
            PLSQLStoredProcedureCall plsqlCall = (PLSQLStoredProcedureCall)call;
            for (int index = 0; index < plsqlCall.getArguments().size(); index++) {
                PLSQLargument argument = plsqlCall.getArguments().get(index);
                int type = argument.direction;
                if ((type == StoredProcedureCall.IN) || (type == StoredProcedureCall.INOUT)) {
                    if (call.hasOptionalArguments()) {
                        query.addArgument(argument.name, Object.class, call.getOptionalArguments().contains(new DatabaseField(argument.name)));
                    } else {
View Full Code Here

Examples of org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall

                        isPLSQLStoredProc = true;
                        break;
                    }
                }
               
                PLSQLStoredProcedureCall call;
                if (storedProcedure.isFunction()) {
                    if (procOpModel.getDbStoredFunctionReturnType() != null) {
                        call = new PLSQLStoredFunctionCall(procOpModel.getDbStoredFunctionReturnType());
                    } else {
                        call = new PLSQLStoredFunctionCall();
                    }
                } else {
                    call = new PLSQLStoredProcedureCall();
                }
               
                if (isPLSQLStoredProc) {
                    String catalogPrefix = null;
                    String cat = storedProcedure.getCatalog();
                    if (cat == null | cat.length() == 0) {
                        catalogPrefix = "";
                    }
                    else {
                        catalogPrefix = cat + ".";
                    }
                    call.setProcedureName(catalogPrefix + storedProcedure.getName());
                    DatabaseQuery dq = null;
                    DbStoredProcedureNameAndModel nameAndModel =
                        dbStoredProcedure2QueryName.get(storedProcedure);
                    String returnType = nameAndModel.procOpModel.getReturnType();
                    boolean hasResponse = returnType != null;
                    String typ = null;
                    ClassDescriptor xdesc = null;
                    if (hasResponse) {
                        int idx = 0;
                        int colonIdx = returnType.indexOf(":");
                        if (colonIdx == -1) {
                            idx = returnType.indexOf("}");
                        }
                        else {
                            idx = colonIdx;
                        }
                        if (idx > 0) {
                            typ = returnType.substring(idx+1);
                            for (XMLDescriptor xd : (List<XMLDescriptor>)(List)oxProject.getOrderedDescriptors()) {
                                if (xd.getSchemaReference() != null) {
                                    String context = xd.getSchemaReference().getSchemaContext();
                                    if (context.substring(1).equals(typ)) {
                                        xdesc = xd;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    if (hasResponse) {
                        if (nameAndModel.procOpModel.isCollection) {
                            dq = new DataReadQuery();
                        }
                        else {
                            dq = new ValueReadQuery();
                        }
                    }
                    else {
                        dq = new ValueReadQuery();
                    }
                    dq.bindAllParameters();
                    dq.setName(nameAndModel.name);
                    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());
                            }
View Full Code Here

Examples of org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall

        dept2.setDepartmentName("utrecht");
        dept2.setLocationId(1700L);
        dept2.setManagerId(100L);
        dept.add(dept2);

        PLSQLStoredProcedureCall call = new PLSQLStoredProcedureCall();
        call.addNamedArgument("P_RECORDS",
                              DepartmentUtils.departmentCollection(),
                              JDBCTypes.ARRAY_TYPE.getSqlCode());
        call.setProcedureName("HR_DEPARTMENTS.INSERTDEPARTMENTS");

        DataReadQuery databaseQuery = new DataReadQuery();
        databaseQuery.addArgument("P_RECORDS",ArrayList.class);
        databaseQuery.setCall(call);
        Vector args=new Vector();
View Full Code Here

Examples of org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall

        dept1.setDepartmentId(505L);
        dept1.setDepartmentName("amersfoort");
        dept1.setManagerId(200L);
        dept1.setLocationId(1700L);

        PLSQLStoredProcedureCall call = new PLSQLStoredProcedureCall();
        call.addNamedArgument("P_RECORD", DepartmentUtils.departmentRecord());
        call.setProcedureName("HR_DEPARTMENTS.INSERTDEPARTMENT");

        DataReadQuery databaseQuery = new DataReadQuery();
        databaseQuery.addArgument("P_RECORD");
        databaseQuery.setCall(call);
        Vector args = new Vector();
View Full Code Here

Examples of org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall

     * INTERNAL:
     */
    @Override
    public void process(AbstractSession session, ClassLoader loader, MetadataProject project) {
        // Build the stored procedure call.
        PLSQLStoredProcedureCall call = new PLSQLStoredProcedureCall();
       
        // Process the stored procedure parameters.
        for (PLSQLParameterMetadata parameter : m_parameters) {
            parameter.process(call, project, false);
        }
       
        // Process the procedure name.
        call.setProcedureName(m_procedureName);
               
        // Process the query hints.
        Map<String, Object> hints = processQueryHints(session);
       
        // Process the result class.
View Full Code Here

Examples of org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall

    /**
     * Define the query arguments based on the procedure call.
     */
    protected static void applyArguments(StoredProcedureCall call, DatabaseQuery query) {
        if (call instanceof PLSQLStoredProcedureCall) {
            PLSQLStoredProcedureCall plsqlCall = (PLSQLStoredProcedureCall)call;
            for (int index = 0; index < plsqlCall.getArguments().size(); index++) {
                PLSQLargument argument = plsqlCall.getArguments().get(index);
                int type = argument.direction;
                if ((type == StoredProcedureCall.IN) || (type == StoredProcedureCall.INOUT)) {
                    if (call.hasOptionalArguments()) {
                        query.addArgument(argument.name, Object.class, call.getOptionalArguments().contains(new DatabaseField(argument.name)));
                    } else {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.