@Override public String apply(Parameter parameter) { return parameter.getName(); } }));
@Override public String apply(Parameter parameter) { return parameter.getName(); } }));
private ParameterResolver(SavedQuery savedQuery, MultivaluedMap<String, String> queryParameters) { final ImmutableMap.Builder<String, Parameter> builder = ImmutableMap.builder(); for (Parameter parameter : savedQuery.getParameters()) { builder.put(parameter.getName(), parameter); } parameterMap = builder.build(); this.savedQuery = savedQuery; this.queryParameters = SavedQueryHelper.getDefaultParameterValues(savedQuery); this.queryParameters.putAll(queryParameters); }
private ParameterResolver(SavedQuery savedQuery, MultivaluedMap<String, String> queryParameters) { final ImmutableMap.Builder<String, Parameter> builder = ImmutableMap.builder(); for (Parameter parameter : savedQuery.getParameters()) { builder.put(parameter.getName(), parameter); } parameterMap = builder.build(); this.savedQuery = savedQuery; this.queryParameters = SavedQueryHelper.getDefaultParameterValues(savedQuery); this.queryParameters.putAll(queryParameters); }
/** * Extracts the default parameter values from the saved query * * @param query * @return multivalued map of parameter values */ public static MultivaluedMap<String, String> getDefaultParameterValues(SavedQuery query) { final MultivaluedMap<String, String> defaults = new MultivaluedHashMap<>(); for(Parameter parameter: query.getParameters()) { String[] defaultValues = parameter.getDefaultValue(); if (defaultValues != null && defaultValues.length !=0) { defaults.addAll(parameter.getName(), defaultValues); } } return defaults; }
/** * Extracts the default parameter values from the saved query * * @param query * @return multivalued map of parameter values */ public static MultivaluedMap<String, String> getDefaultParameterValues(SavedQuery query) { final MultivaluedMap<String, String> defaults = new MultivaluedHashMap<>(); for(Parameter parameter: query.getParameters()) { String[] defaultValues = parameter.getDefaultValue(); if (defaultValues != null && defaultValues.length !=0) { defaults.addAll(parameter.getName(), defaultValues); } } return defaults; }
@Test(enabled = false) //TODO : Enable this once LENS-1341 is fixed public void getSavedQueryParameters() throws Exception { String query = "cube select id,name from sample_dim where id = :value"; ParameterParserResponse res = savedQueryResourceHelper.getSavedQueryParameter(query, sessionHandleString); ImmutableSet<Parameter> paramList = res.getParameters(); Assert.assertEquals(paramList.size(), 1); Assert.assertEquals(paramList.iterator().next().getName(), "value"); }
/** * Given a saved query, this method extrapolates the parameter values (using the parameter definition) * and returns it as a multivalued map * * @param savedQuery * @return multivalued map containing parameter values */ private static MultivaluedMap<String, String> extrapolateSampleParamValues(SavedQuery savedQuery) { final MultivaluedHashMap<String, String> paramValues = new MultivaluedHashMap<>(); for(Parameter parameter : savedQuery.getParameters()) { final String sampleValue = ParameterDataTypeEncoder.valueOf(parameter.getDataType().toString()).getSampleValue(); if (parameter.getCollectionType() == ParameterCollectionType.SINGLE) { paramValues.putSingle( parameter.getName(), sampleValue ); } else if (parameter.getCollectionType() == ParameterCollectionType.MULTIPLE) { paramValues.put( parameter.getName(), Lists.newArrayList(sampleValue, sampleValue) ); } } return paramValues; }
/** * Given a saved query, this method extrapolates the parameter values (using the parameter definition) * and returns it as a multivalued map * * @param savedQuery * @return multivalued map containing parameter values */ private static MultivaluedMap<String, String> extrapolateSampleParamValues(SavedQuery savedQuery) { final MultivaluedHashMap<String, String> paramValues = new MultivaluedHashMap<>(); for(Parameter parameter : savedQuery.getParameters()) { final String sampleValue = ParameterDataTypeEncoder.valueOf(parameter.getDataType().toString()).getSampleValue(); if (parameter.getCollectionType() == ParameterCollectionType.SINGLE) { paramValues.putSingle( parameter.getName(), sampleValue ); } else if (parameter.getCollectionType() == ParameterCollectionType.MULTIPLE) { paramValues.put( parameter.getName(), Lists.newArrayList(sampleValue, sampleValue) ); } } return paramValues; }