public List<UriParameter> getParameters() { return this.uriResourceFunction.getParameters(); }
public List<UriParameter> getParameters() { return this.uriResourceFunction.getParameters(); }
@SuppressWarnings("unchecked") @Override public <T> List<T> executeFunctionQuery(final List<UriResource> uriResourceParts, final JPADataBaseFunction jpaFunction, final Class<T> resultClass, final EntityManager em) throws ODataApplicationException { final UriResourceFunction uriResourceFunction = (UriResourceFunction) uriResourceParts.get(uriResourceParts.size() - 1); final String queryString = generateQueryString(jpaFunction); final Query functionQuery = em.createNativeQuery(queryString, resultClass); int count = 1; try { for (final JPAParameter parameter : jpaFunction.getParameter()) { final UriParameter uriParameter = findParameterByExternalName(parameter, uriResourceFunction.getParameters()); final Object value = getValue(uriResourceFunction.getFunction(), parameter, uriParameter.getText()); functionQuery.setParameter(count, value); count += 1; } } catch (ODataJPAModelException e) { throw new ODataJPAProcessorException(e, HttpStatusCode.INTERNAL_SERVER_ERROR); } return functionQuery.getResultList(); }
@SuppressWarnings("unchecked") @Override public <T> java.util.List<T> executeFunctionQuery(final List<UriResource> uriResourceParts, final JPADataBaseFunction jpaFunction, final Class<T> resultClass, final EntityManager em) throws ODataApplicationException { final UriResourceFunction uriResourceFunction = (UriResourceFunction) uriResourceParts.get(uriResourceParts.size() - 1); final String queryString = generateQueryString(jpaFunction); final Query functionQuery = em.createNativeQuery(queryString, resultClass); int count = 1; try { for (final JPAParameter parameter : jpaFunction.getParameter()) { final UriParameter uriParameter = findParameterByExternalName(parameter, uriResourceFunction.getParameters()); final Object value = getValue(uriResourceFunction.getFunction(), parameter, uriParameter.getText()); functionQuery.setParameter(count, value); count += 1; } } catch (ODataJPAModelException e) { throw new ODataJPAProcessorException(e, HttpStatusCode.INTERNAL_SERVER_ERROR); } return functionQuery.getResultList(); }
@SuppressWarnings("unchecked") @Override public <T> List<T> executeFunctionQuery(final List<UriResource> uriResourceParts, final JPADataBaseFunction jpaFunction, final Class<T> resultClass, final EntityManager em) throws ODataApplicationException { final String queryString = generateQueryString(jpaFunction); final Query functionQuery = em.createNativeQuery(queryString, resultClass); final UriResourceFunction uriResourceFunction = (UriResourceFunction) uriResourceParts.get(uriResourceParts.size() - 1); int count = 1; try { if (jpaFunction.isBound()) { // TODO Compound key final Object value = ((UriResourceEntitySet) uriResourceParts.get(0)).getKeyPredicates().get(0).getText(); functionQuery.setParameter(count, value); count += 1; } for (int i = count - 1; i < jpaFunction.getParameter().size(); i++) { final JPAParameter parameter = jpaFunction.getParameter().get(i); final UriParameter uriParameter = findParameterByExternalName(parameter, uriResourceFunction.getParameters()); final Object value = getValue(uriResourceFunction.getFunction(), parameter, uriParameter.getText()); functionQuery.setParameter(count, value); count += 1; } } catch (ODataJPAModelException e) { throw new ODataJPAProcessorException(e, HttpStatusCode.INTERNAL_SERVER_ERROR); } return functionQuery.getResultList(); }
for (UriParameter providedParameter : uriResourceFunction.getParameters()) { JPAParameter jpaParameter = jpaFunction.getParameter(declairedParameter.getName()); if (jpaParameter.getName().equals(providedParameter.getName())) {
putType(node, TYPE_FILTER_ON_ENTRY_NAME, ((UriResourceNavigation) segment).getTypeFilterOnEntry()); } else if (segment instanceof UriResourceFunction) { putParameters(node, PARAMETERS_NAME, ((UriResourceFunction) segment).getParameters()); putParameters(node, KEYS_NAME, ((UriResourceFunction) segment).getKeyPredicates()); putType(node, TYPE_FILTER_ON_COLLECTION_NAME, ((UriResourceFunction) segment).getTypeFilterOnCollection());
putType(node, TYPE_FILTER_ON_ENTRY_NAME, ((UriResourceNavigation) segment).getTypeFilterOnEntry()); } else if (segment instanceof UriResourceFunction) { putParameters(node, PARAMETERS_NAME, ((UriResourceFunction) segment).getParameters()); putParameters(node, KEYS_NAME, ((UriResourceFunction) segment).getKeyPredicates()); putType(node, TYPE_FILTER_ON_COLLECTION_NAME, ((UriResourceFunction) segment).getTypeFilterOnCollection());
appendType(gen, "typeFilterOnEntry", ((UriResourceNavigation) resource).getTypeFilterOnEntry()); } else if (resource instanceof UriResourceFunction) { appendParameters(gen, "parameters", ((UriResourceFunction) resource).getParameters()); appendParameters(gen, "keys", ((UriResourceFunction) resource).getKeyPredicates()); appendType(gen, "typeFilterOnCollection", ((UriResourceFunction) resource).getTypeFilterOnCollection());
appendType(gen, "typeFilterOnEntry", ((UriResourceNavigation) resource).getTypeFilterOnEntry()); } else if (resource instanceof UriResourceFunction) { appendParameters(gen, "parameters", ((UriResourceFunction) resource).getParameters()); appendParameters(gen, "keys", ((UriResourceFunction) resource).getKeyPredicates()); appendType(gen, "typeFilterOnCollection", ((UriResourceFunction) resource).getTypeFilterOnCollection());
@Override public JPAOperator visitMember(final Member member) throws ExpressionVisitException, ODataApplicationException { final int handle = debugger.startRuntimeMeasurement(this, "visitMember"); if (getLambdaType(member.getResourcePath()) == UriResourceKind.lambdaAny) { debugger.stopRuntimeMeasurement(handle); return new JPALambdaAnyOperation(this.jpaComplier, member); } else if (getLambdaType(member.getResourcePath()) == UriResourceKind.lambdaAll) { debugger.stopRuntimeMeasurement(handle); return new JPALambdaAllOperation(this.jpaComplier, member); } else if (isAggregation(member.getResourcePath())) { debugger.stopRuntimeMeasurement(handle); return new JPAAggregationOperationImp(jpaComplier.getRoot(), jpaComplier.getConverter()); } else if (isCustomFunction(member.getResourcePath())) { final UriResource resource = member.getResourcePath().getUriResourceParts().get(0); final JPADataBaseFunction jpaFunction = (JPADataBaseFunction) this.jpaComplier.getSd().getFunction( ((UriResourceFunction) resource).getFunction()); final List<UriParameter> odataParams = ((UriResourceFunction) resource).getParameters(); debugger.stopRuntimeMeasurement(handle); return new JPAFunctionOperator(this, odataParams, jpaFunction); } debugger.stopRuntimeMeasurement(handle); return new JPAMemberOperator(this.jpaComplier.getJpaEntityType(), this.jpaComplier.getRoot(), member, jpaComplier .getAssoziation()); }