Package com.scooterframework.orm.sqldataexpress.vendor

Examples of com.scooterframework.orm.sqldataexpress.vendor.DBAdapter


     * execute with output filter
     */
    public OmniDTO execute(UserDatabaseConnection udc, Map<String, Object> inputs, Map<String, String> outputFilters)
    throws BaseSQLException {
      Connection connection = udc.getConnection();
      DBAdapter dba = DBAdapterFactory.getInstance().getAdapter(udc.getConnectionName());
     
        OmniDTO returnTO = new OmniDTO();
        CallableStatement cstmt = null;
       
        try {
View Full Code Here


     * execute with output filter
     */
    public OmniDTO execute(UserDatabaseConnection udc, Map<String, Object> inputs, Map<String, String> outputFilters)
    throws BaseSQLException {
      Connection connection = udc.getConnection();
      DBAdapter dba = DBAdapterFactory.getInstance().getAdapter(udc.getConnectionName());
     
        OmniDTO returnTO = new OmniDTO();
        PreparedStatement pstmt = null;
        ResultSet rs = null;
       
        try {
            String stName = st.getName();
            autoFill(udc, inputs);
           
            JdbcStatement jstat = st;
            String originalSql = st.getOriginalJdbcStatementString();
            if(checkPagination(inputs)) {
              String pagedSql = dba.preparePaginationSql(originalSql, inputs, outputFilters);
              jstat = SqlExpressUtil.createJdbcStatementDirect(pagedSql);
            }
           
            String executableSql = jstat.getExecutableJdbcStatementString();
            executableSql = autoReplace(executableSql, inputs);
           
            log.debug("execute - parsed expecutable sql: " + executableSql);
            log.debug("execute - parsed inputs: " + inputs);
            log.debug("execute - outputFilters: " + outputFilters);
           
            boolean supportsGetGeneratedKeys = supportsGetGeneratedKeys();
            if (supportsGetGeneratedKeys && !jstat.isSelectStatement()) {
                pstmt = connection.prepareStatement(executableSql, Statement.RETURN_GENERATED_KEYS);
            }
            else {
                pstmt = connection.prepareStatement(executableSql);
            }
           
            // check if need to load parameter properties
//            if (supportParameterMetaData()) {
//                if (!jstat.hasLoadedParameterMetaData()) {
//                    //get parameter meta data if it has not been loaded
//                    ParameterMetaData pmd = pstmt.getParameterMetaData();
//                    ParameterMetaDataLoader pmdl = new ParameterMetaDataLoader(pmd, jstat);
//                    pmdl.loadParameterMetaData();
//                }
//            }
//            else {
                if (!jstat.hasLoadedParameterProperties()) {
                  synchronized(jstat) {
                    if (!jstat.hasLoadedParameterProperties()) {
                            JdbcStatementParser parser = new JdbcStatementParser(udc, jstat);
                            parser.parse();
                    }
                  }
                }
//            }
           
            Collection<Parameter> parameters = jstat.getParameters();
            log.debug("execute - parameters: " + parameters);
            Iterator<Parameter> pit = parameters.iterator();
            while(pit.hasNext()) {
                Parameter p = pit.next();
               
                String key = p.getName();
                if (!inputs.containsKey(key)) {
                  throw new Exception("There " +
                    "must be a key/value pair corresponding to key named " + key +
                    " in input parameters: " + inputs.keySet());
                }
               
                if (Parameter.MODE_IN.equals(p.getMode())) {
                    Object obj = inputs.get(key);
                    if (obj == null ||
                        "".equals(obj.toString().trim()) &&
                        p.getSqlDataType() != Types.CHAR &&
                        p.getSqlDataType() != Types.VARCHAR &&
                        p.getSqlDataType() != Types.LONGVARCHAR) {
                        setNull(pstmt, p.getIndex(), p.getSqlDataType());
                    }
                    else {
                        if(!dba.vendorSpecificSetObject(pstmt, obj, p, inputs)) {
                            if (Parameter.UNKNOWN_SQL_DATA_TYPE != p.getSqlDataType()) {
                                setObject(pstmt, obj, p);
                            }
                            else {
                                //It is up to JDBC driver's PreparedStatement implementation
View Full Code Here

TOP

Related Classes of com.scooterframework.orm.sqldataexpress.vendor.DBAdapter

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.