public JPAFilterCrossComplier(final OData odata, final JPAServiceDocument sd, final EntityManager em, // NOSONAR final JPAEntityType jpaEntityType, final JPAOperationConverter converter, final UriInfoResource uriResource, final JPAAbstractQuery parent, final JPAAssociationPath assization) { super(jpaEntityType, uriResource, assization); this.uriResourceParts = uriResource != null ? uriResource.getUriResourceParts() : null; this.converter = converter; this.em = em; this.odata = odata; this.sd = sd; this.parent = parent; }
@Override public String toString() { return path.getUriResourceParts().toString() + (startTypeFilter == null ? "" : startTypeFilter); } }
@Override public String toString() { return path.getUriResourceParts().toString() + (startTypeFilter == null ? "" : startTypeFilter); } }
private boolean isAggregation(final UriInfoResource resourcePath) { return (resourcePath.getUriResourceParts().size() == 1 && resourcePath.getUriResourceParts().get(0).getKind() == UriResourceKind.count); }
public Expr visitMember(UriInfoResource member) throws ExpressionVisitException { return new MemberExpr(member.getUriResourceParts().stream().map(UriResource::getSegmentValue) .collect(Collectors.joining("/"))); }
public static String getActionName(final UriInfoResource uriInfo) { String actionName=null; final List<UriResource> resourcePaths = uriInfo.getUriResourceParts(); if(resourcePaths!=null && !resourcePaths.isEmpty()) { if (resourcePaths.get(0) instanceof UriResourceAction) { actionName=((UriResourceAction) resourcePaths.get(0)).getActionImport().getName(); }else if(resourcePaths.get(resourcePaths.size()-1) instanceof UriResourceAction) { actionName=((UriResourceAction) resourcePaths.get(resourcePaths.size()-1)).getAction().getName(); } } return actionName; } public static EdmEntitySet getStartingEdmEntitySet(final UriInfoResource uriInfo,Locale locale) throws ODataApplicationException {
boolean hasNavigation(final JPAOperator operand) { if (operand instanceof JPAMemberOperator) { final List<UriResource> uriResourceParts = ((JPAMemberOperator) operand).getMember().getResourcePath() .getUriResourceParts(); for (int i = uriResourceParts.size() - 1; i >= 0; i--) { if (uriResourceParts.get(i) instanceof UriResourceNavigation || (uriResourceParts.get(i) instanceof UriResourceProperty && ((UriResourceProperty) uriResourceParts.get(i)).isCollection())) return true; } } return false; }
public static Set<String> getExpandedPropertyNames(final List<ExpandItem> expandItems) throws SerializerException { Set<String> expanded = new HashSet<String>(); for (final ExpandItem item : expandItems) { final List<UriResource> resourceParts = item.getResourcePath().getUriResourceParts(); final UriResource resource = resourceParts.get(0); if (resource instanceof UriResourceNavigation) { expanded.add(((UriResourceNavigation) resource).getProperty().getName()); } } return expanded; }
public static Set<String> getExpandedPropertyNames(final List<ExpandItem> expandItems) throws SerializerException { Set<String> expanded = new HashSet<String>(); for (final ExpandItem item : expandItems) { final List<UriResource> resourceParts = item.getResourcePath().getUriResourceParts(); final UriResource resource = resourceParts.get(0); if (resource instanceof UriResourceNavigation) { expanded.add(((UriResourceNavigation) resource).getProperty().getName()); } } return expanded; }
@Override public Object visitMember(Member member) throws ExpressionVisitException, ODataApplicationException { List<UriResource> uriPartsWithinLambda = member.getResourcePath().getUriResourceParts(); String propertyPath = uriPartsWithinLambda.get(1).getSegmentValue(); if(uriPartsWithinLambda.size() > 2){ List<UriResource> restOfUri = uriPartsWithinLambda.subList(2, uriPartsWithinLambda.size()); for(UriResource uPa : restOfUri) { propertyPath += "."; propertyPath += uPa.getSegmentValue(); }} return convertToUpperCaseIfRequired(propertyPath); }
public static String getNameSpace(UriInfo uriInfo){ UriInfoResource uriInfoResource = uriInfo.asUriInfoResource(); List<UriResource> uriResourceParts = uriInfoResource.getUriResourceParts(); UriResourceEntitySet startEntitySetUriResource = ((UriResourceEntitySet) uriResourceParts.get(0)); return startEntitySetUriResource.getEntityType().getNamespace(); }
private boolean hasExpand(String name, ExpandOption expandOption) { if (expandOption == null) { return false; } for (ExpandItem ei:expandOption.getExpandItems()) { String expand = ((UriResourceEntitySetImpl)ei.getResourcePath().getUriResourceParts().get(0)).getEntitySet().getName(); if (expand.equalsIgnoreCase(name)) { return true; } } return false; }
public QueryHelperV4(UriInfo uriInfo, ODataRequest request, List<ApplyTransformationsPerGroup> applyTrafoList) throws CDSRuntimeException { UriInfoResource uriInfoResource = uriInfo.asUriInfoResource(); List<UriResource> uriResourceParts = uriInfoResource.getUriResourceParts(); UriResourceEntitySet startEntitySetUriResource = ((UriResourceEntitySet) uriResourceParts.get(0)); this.schema = startEntitySetUriResource.getEntityType().getNamespace(); this.eInfo = prepEntityInfo(uriResourceParts, uriInfo, request, applyTrafoList, null); }
public QueryHelperV4Draft(UriInfo uriInfo, ODataRequest request) throws CDSRuntimeException { super(uriInfo, request, null); UriInfoResource uriInfoResource = uriInfo.asUriInfoResource(); List<UriResource> uriResourceParts = uriInfoResource.getUriResourceParts(); UriResourceEntitySet startEntitySetUriResource = ((UriResourceEntitySet) uriResourceParts.get(0)); super.schema = startEntitySetUriResource.getEntityType().getNamespace(); super.eInfo = prepEntityInfo(uriResourceParts, uriInfo, request, null); }
UriResourceKind getLambdaType(final UriInfoResource member) { for (final UriResource r : member.getUriResourceParts()) { if (r.getKind() == UriResourceKind.lambdaAny || r.getKind() == UriResourceKind.lambdaAll) return r.getKind(); } return null; }
public QueryHelperv4MainForDraftFLow(UriInfo uriInfo, ODataRequest request) throws CDSRuntimeException { super(uriInfo, request, null); UriInfoResource uriInfoResource = uriInfo.asUriInfoResource(); List<UriResource> uriResourceParts = uriInfoResource.getUriResourceParts(); UriResourceEntitySet startEntitySetUriResource = ((UriResourceEntitySet) uriResourceParts.get(0)); this.schema = startEntitySetUriResource.getEntityType().getNamespace(); this.eInfo = prepEntityInfo(uriResourceParts, uriInfo, request, null); }
@Override public String toString() { return "JPAFilterExpression [literal=" + literal + ", operator=" + operator + ", member=" + "[resourcePath=" + member.getResourcePath().getUriResourceParts() + ", startTypeFilter= " + member.getStartTypeFilter() + ", type= " + member.getType() + "]]"; } }
Expression determineExpression() { for (final UriResource uriResource : member.getUriResourceParts()) { if (uriResource.getKind() == UriResourceKind.lambdaAny) return ((UriResourceLambdaAny) uriResource).getExpression(); else if (uriResource.getKind() == UriResourceKind.lambdaAll) return ((UriResourceLambdaAll) uriResource).getExpression(); } return null; } }
public static DeleteEntityInfo transformToDeleteEntityInfo(UriInfo uriInfo){ DeleteEntityInfo dEinfo=new DeleteEntityInfo(); List<UriResource> uriParts = uriInfo.asUriInfoResource().getUriResourceParts(); UriResource lastUriResourcePart = uriParts.get(uriParts.size() - 1); UriResourceEntitySet uriRN=(UriResourceEntitySet) lastUriResourcePart; EdmEntitySet entitySet = ((UriResourceEntitySet) lastUriResourcePart).getEntitySet(); dEinfo.setEntityName(entitySet.getName()); dEinfo.setParententityName(entitySet.getName()); dEinfo.getColumns().addAll(resolveKeyPredicatesToColumnsUpdate(entitySet.getEntityType(),uriRN.getKeyPredicates())); return dEinfo; }
public JPAJoinQuery(final OData odata, final JPAODataSessionContextAccess sessionContext, final EntityManager em, final Map<String, List<String>> requestHeaders, final JPAODataPage page) throws ODataException { super(odata, sessionContext, sessionContext.getEdmProvider().getServiceDocument().getEntity( Util.determineTargetEntitySet(page.getUriInfo().getUriResourceParts()).getName()), em, requestHeaders, page.getUriInfo(), page); this.navigationInfo = Util.determineNavigationPath(sd, uriResource.getUriResourceParts(), page.getUriInfo()); }