Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2012 the original author or authors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package org.springframework.data.gemfire.repository.query;
 
 
GemfireRepositoryQuery backed by a org.springframework.data.repository.query.parser.PartTree and thus, deriving an OQL query from the backing query method's name.

Author(s):
Oliver Gierke
 
 
 	private final GemfireQueryMethod method;
 	private final PartTree tree;
 	private final GemfireTemplate template;

Creates a new PartTreeGemfireRepositoryQuery using the given GemfireQueryMethod and org.springframework.data.gemfire.GemfireTemplate.

Parameters:
method must not be null.
template must not be null.
 
 
 		super(method);
 
 		Class<?> domainClass = method.getEntityInformation().getJavaType();
 
 		this. = new PartTree(method.getName(), domainClass);
 		this. = method;
 		this. = template;
 	}
 
 	/* 
 	 * (non-Javadoc)
 	 * @see org.springframework.data.repository.query.RepositoryQuery#execute(java.lang.Object[])
 	 */
 	public Object execute(Object[] parameters) {
 
 		ParametersParameterAccessor parameterAccessor = new ParametersParameterAccessor(.getParameters(), parameters);
 				.getSort());
 
 
 		return repositoryQuery.execute(prepareStringParameters(parameters));
 	}
 
 	private Object[] prepareStringParameters(Object[] parameters) {
 
 		Iterator<Partiterator = .getParts().iterator();
 		Object[] result = new Object[parameters.length];
 
 		for (int i = 0; i < parameters.lengthi++) {
 			Object parameter = parameters[i];
 
 			if (parameter == null) {
 				result[i] = parameter;
 				continue;
 			}
 
 			Type type = iterator.next().getType();
 
 			switch (type) {
 			case :
 				result[i] = String.format("%%%s%%"parameter.toString());
 				break;
 			case :
 				result[i] = String.format("%s%%"parameter.toString());
 				break;
 			case :
 				result[i] = String.format("%%%s"parameter.toString());
 				break;
 			default:
 				result[i] = parameter;
			}
		}
		return result;
	}
New to GrepCode? Check out our FAQ X