Package org.mule.module.db.internal.domain.param

Examples of org.mule.module.db.internal.domain.param.QueryParam


                    throw new QueryTemplateParsingException("Invalid Mule expression: " + sqlText.substring(tokenStart));
                }

                tokenEnd++;
                String value = sqlText.substring(tokenStart, tokenEnd);
                QueryParam inputParam = new DefaultInputQueryParam(paramIndex++, UnknownDbType.getInstance(), value);
                parameterList.add(inputParam);
                sqlToUse = sqlToUse + "?";
                tokenStart = tokenEnd;
            }
            else if (currentChar == ':')
            {
                String parameter;

                while (tokenEnd < sqlTextChars.length && !isParameterSeparator(sqlTextChars[tokenEnd]))
                {
                    tokenEnd++;
                }
                if (tokenEnd - tokenStart > 1)
                {
                    sqlToUse = sqlToUse + "?";
                    parameter = sqlText.substring(tokenStart + 1, tokenEnd);
                    QueryParam inputParam = new DefaultInputQueryParam(paramIndex++, UnknownDbType.getInstance(), null, parameter);
                    parameterList.add(inputParam);
                }
                tokenStart = tokenEnd;
            }
            else if (isParamChar(currentChar))
            {
                QueryParam inputParam = new DefaultInputQueryParam(paramIndex++, UnknownDbType.getInstance(), null);
                parameterList.add(inputParam);
                tokenStart++;
                sqlToUse = sqlToUse + currentChar;
            }
            else
View Full Code Here


        List<QueryParam> resolvedParams = new LinkedList<QueryParam>();

        for (QueryParam templateParam : queryTemplate.getParams())
        {
            QueryParam param = findOverriddenParam(templateParam.getName(), queryParams);

            if (param == null)
            {
                resolvedParams.add(templateParam);
            }
View Full Code Here

        return new QueryTemplate(queryTemplate.getSqlText(), queryTemplate.getType(), resolvedParams);
    }

    private QueryParam overrideParam(QueryParam templateParam, QueryParam queryParam)
    {
        QueryParam overriddenParam;
        DbType paramType = templateParam.getType();
        if (!(queryParam.getType() instanceof UnknownDbType))
        {
           paramType = queryParam.getType();
        }
View Full Code Here

        List<QueryParam> newParams = new ArrayList<QueryParam>();

        for (QueryParam originalParam : queryTemplate.getParams())
        {
            DbType type = paramTypes.get((originalParam).getIndex());
            QueryParam newParam;

            if (originalParam instanceof InOutQueryParam)
            {
                newParam = new DefaultInOutQueryParam(originalParam.getIndex(), type, originalParam.getName(), ((InOutQueryParam) originalParam).getValue());
            }
View Full Code Here

        assertThat(queryTemplate.getType(), equalTo(QueryType.STORE_PROCEDURE_CALL));
        assertThat(queryTemplate.getSqlText(), equalTo("{ ? = call getTestRecords() }"));
        assertThat(queryTemplate.getParams().size(), equalTo(1));

        QueryParam param1 = queryTemplate.getParams().get(0);
        assertThat(param1.getName(), equalTo("out"));
        assertThat(param1.getType(), equalTo(UnknownDbType.getInstance()));
    }
View Full Code Here

        doOutputParamOverrideTest(UnknownDbType.getInstance(), JdbcTypes.INTEGER_DB_TYPE, JdbcTypes.INTEGER_DB_TYPE);
    }

    private void doInputParamOverrideTest(DbType templateParamType, DbType overriddenParamType, DbType expectedParamType) throws Exception
    {
        QueryParam overriddenParam = new DefaultInputQueryParam(2, overriddenParamType, OVERRIDDEN_PARAM_VALUE, POSITION_PARAM_NAME);

        QueryTemplate createdQueryTemplate = doOverriddenParamTest(templateParamType, overriddenParam);

        assertThat(createdQueryTemplate.getParams().size(), equalTo(1));
        InputQueryParam inputQueryParam = createdQueryTemplate.getInputParams().get(0);
View Full Code Here

        assertThat(inputQueryParam.getValue(), IsEqual.<Object>equalTo(OVERRIDDEN_PARAM_VALUE));
    }

    private void doInOutParamOverrideTest(DbType templateParamType, DbType overriddenParamType, DbType expectedParamType) throws Exception
    {
        QueryParam overriddenParam = new DefaultInOutQueryParam(2, overriddenParamType, POSITION_PARAM_NAME, OVERRIDDEN_PARAM_VALUE);

        QueryTemplate createdQueryTemplate = doOverriddenParamTest(templateParamType, overriddenParam);

        assertThat(createdQueryTemplate.getParams().size(), equalTo(1));
        InOutQueryParam queryParam = (InOutQueryParam) createdQueryTemplate.getParams().get(0);
View Full Code Here

        return factoryBean.getObject();
    }

    private void doOutputParamOverrideTest(DbType templateParamType, DbType overriddenParamType, DbType expectedParamType) throws Exception
    {
        QueryParam overriddenParam = new DefaultOutputQueryParam(2, overriddenParamType, POSITION_PARAM_NAME);

        List<QueryParam> defaultParams = Collections.<QueryParam>singletonList(new DefaultInputQueryParam(1, templateParamType, TEMPLATE_PARAM_VALUE, POSITION_PARAM_NAME));
        QueryTemplate queryTemplate = new QueryTemplate(PARSED_PARAMETERIZED_QUERY, QueryType.SELECT, defaultParams);

        QueryTemplateParser queryParser = mock(QueryTemplateParser.class);
View Full Code Here

    @Test
    public void usesCustomType() throws Exception
    {
        QueryTemplate parameterizedQueryTemplate = muleContext.getRegistry().lookupObject("parameterizedQuery");
        QueryParam queryParam = parameterizedQueryTemplate.getParams().get(0);

        assertThat(queryParam.getType().getName(), equalTo("CUSTOM_TYPE1"));
    }
View Full Code Here

    {
        int valueIndex = 0;

        for (int paramIndex = 1, inputParamsSize = queryTemplate.getParams().size(); paramIndex <= inputParamsSize; paramIndex++)
        {
            QueryParam queryParam = queryTemplate.getParams().get(paramIndex - 1);
            if (queryParam instanceof InputQueryParam)
            {
                QueryParamValue param = paramValues.get(valueIndex);

                queryLogger.addParameter(queryTemplate.getInputParams().get(valueIndex), param.getValue());

                processInputParam(statement, paramIndex, param.getValue(), queryParam.getType());
                valueIndex++;
            }

            if (queryParam instanceof OutputQueryParam)
            {
                processOutputParam((CallableStatement) statement, paramIndex, queryParam.getType());
            }
        }
    }
View Full Code Here

TOP

Related Classes of org.mule.module.db.internal.domain.param.QueryParam

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.