private EdmNavigationProperty getNavigationProperty(EdmEntitySet srcEtySet) throws EdmException{ if(srcKeyMap == null || navigationProperty== null || srcKeyMap.isEmpty()) return null; EdmEntityType srcEtytype = srcEtySet.getEntityType(); EdmNavigationProperty navigationProp = (EdmNavigationProperty) srcEtytype.getProperty(navigationProperty) ; return navigationProp; }
private void validateEntitySet() throws EntityProviderException, EdmException { for (Map.Entry<FullQualifiedName, EdmEntityContainer> container : containerMap.entrySet()) { for (EdmEntitySet entitySet : container.getValue().getEntitySets()) { FullQualifiedName entityType = extractFQNameFromEntityType(entitySet.getEntityType()); if (!(entityTypesMap.containsKey(entityType))) { validateEntityTypeWithAlias(entityType); } } } }
public EntityMetadataV2(EdmEntitySet entitySet) throws EdmException { this.entitySet = entitySet; entityType = entitySet.getEntityType(); name = entitySet.getName(); namespace = entityType.getNamespace(); }
public static String getUUIDkeyPropertyName(EdmEntitySet entSet) throws EdmException { String refKeyName = null; EdmEntityType entType = entSet.getEntityType(); for(EdmProperty refs:entType.getKeyProperties()) { if(refs.getType().getName().equalsIgnoreCase("Guid")) { refKeyName = refs.getName(); break; } } return refKeyName; }
public ODataJPATombstoneEntityListener getODataJPATombstoneEntityListener(UriInfo uriParserResultView) throws InstantiationException, IllegalAccessException, EdmException { JPAEdmMapping mapping = (JPAEdmMapping) uriParserResultView.getTargetEntitySet().getEntityType().getMapping(); if (mapping.getODataJPATombstoneEntityListener() != null) { return (ODataJPATombstoneEntityListener) mapping.getODataJPATombstoneEntityListener().newInstance(); } return odataJPAContext.getODataJPAQueryExtensionEntityListener(); }
private <T> String getSkipToken(final EdmEntitySet entitySet, final T data) throws ODataException { String skipToken = ""; for (final EdmProperty property : entitySet.getEntityType().getKeyProperties()) { final EdmSimpleType type = (EdmSimpleType) property.getType(); skipToken = skipToken.concat(type.valueToString(valueAccess.getPropertyValue(data, property), EdmLiteralKind.DEFAULT, property.getFacets())); } return skipToken; }
private <T> String getSkipToken(final EdmEntitySet entitySet, final T data) throws ODataException { String skipToken = ""; for (final EdmProperty property : entitySet.getEntityType().getKeyProperties()) { final EdmSimpleType type = (EdmSimpleType) property.getType(); skipToken = skipToken.concat(type.valueToString(valueAccess.getPropertyValue(data, property), EdmLiteralKind.DEFAULT, property.getFacets())); } return skipToken; }
private Object readRelatedData(final WriteCallbackContext context) throws ODataException { final EdmEntitySet entitySet = context.getSourceEntitySet(); return dataSource.readRelatedData( entitySet, data instanceof List ? readEntryData((List<?>) data, entitySet.getEntityType(), context .extractKeyFromEntryData()) : data, entitySet.getRelatedEntitySet(context.getNavigationProperty()), Collections.<String, Object> emptyMap()); }
private Object readRelatedData(final WriteCallbackContext context) throws ODataException { final EdmEntitySet entitySet = context.getSourceEntitySet(); return dataSource.readRelatedData( entitySet, data instanceof List ? readEntryData((List<?>) data, entitySet.getEntityType(), context .extractKeyFromEntryData()) : data, entitySet.getRelatedEntitySet(context.getNavigationProperty()), Collections.<String, Object> emptyMap()); }
private Object readRelatedData(final WriteCallbackContext context) throws ODataException { final EdmEntitySet entitySet = context.getSourceEntitySet(); return dataSource.readRelatedData( entitySet, data instanceof List ? readEntryData((List<?>) data, entitySet.getEntityType(), context .extractKeyFromEntryData()) : data, entitySet.getRelatedEntitySet(context.getNavigationProperty()), Collections.<String, Object> emptyMap()); }
public static UriInfoImpl constructDeepReadForRoot(EdmEntitySet edmEntitySet, String serviceName, List<KeyPredicate> keyPredicates) throws ODataException { UriInfoImpl uriInfoForRead = new UriInfoImpl(); uriInfoForRead.setStartEntitySet(edmEntitySet); uriInfoForRead.setTargetEntitySet(edmEntitySet); Map<String,List<String>> compositionTree = CSNUtil.getCompositionTree(serviceName, edmEntitySet.getName()); List<ArrayList<NavigationPropertySegment>> expandOption = new ArrayList<>(); constructTreeExpand(edmEntitySet, serviceName, compositionTree, new ArrayList<>(), expandOption); uriInfoForRead.setKeyPredicates(keyPredicates); uriInfoForRead.setTargetType(edmEntitySet.getEntityType()); uriInfoForRead.setExpand(expandOption); return uriInfoForRead; }
@Override public IDataProviderResponse readExpandedEntity(GetEntityUriInfo uriInfo, ODataContext context) throws ODataException { IDataProvider dataProvider = null; String targetEntitySet = uriInfo.getTargetEntitySet().getEntityType().getNamespace()+"."+uriInfo.getTargetEntitySet().getName(); dataProvider = getDataProvider(targetEntitySet); if (dataProvider !=null){ return dataProvider.readExpandedEntity(uriInfo, context); } else return null; }
@Override public IDataProviderResponse readEntityMedia(GetMediaResourceUriInfo uriInfo, ODataContext context) throws ODataException { IDataProvider dataProvider = null; String targetEntitySet = uriInfo.getTargetEntitySet().getEntityType().getNamespace() + "." + uriInfo.getTargetEntitySet().getName(); dataProvider = getDataProvider(targetEntitySet); if (dataProvider != null) { return dataProvider.readEntityMedia(uriInfo, context); } else return null; }
@Override public IDataProviderResponse countEntityLinks(GetEntitySetLinksCountUriInfo uriInfo, ODataContext context) throws ODataException { IDataProvider dataProvider = null; String targetEntitySet = uriInfo.getTargetEntitySet().getEntityType().getNamespace()+"."+uriInfo.getTargetEntitySet().getName(); dataProvider = getDataProvider(targetEntitySet); if (dataProvider !=null){ return dataProvider.countEntityLinks(uriInfo, context); } else return null; }
@Override public IDataProviderResponse readExpandedEntitySet(GetEntitySetUriInfo uriInfo, ODataContext context) throws ODataException { IDataProvider dataProvider = null; String targetEntitySet = uriInfo.getTargetEntitySet().getEntityType().getNamespace()+"."+uriInfo.getTargetEntitySet().getName(); dataProvider = getDataProvider(targetEntitySet); if (dataProvider !=null){ return dataProvider.readExpandedEntitySet(uriInfo, context); } else return null; }
private String getFunctionFqn( EdmFunctionImport functionImport) throws EdmException { String functionFqn; if(functionImport.getEntitySet()!=null) //If the function import returns Collection of Entities, then only it has EntitySet specified in Edmx functionFqn = functionImport.getEntitySet().getEntityType().getNamespace()+"."+functionImport.getName(); else{ functionFqn = this.service.getServiceName()+"."+functionImport.getName(); } return functionFqn; }
@Override public Map<String, Object> getTypeMapping(UriInfo uriInfo, EntityProviderReadProperties readProperties, EdmNavigationProperty navigationProperty)throws ODataException{ IDataProvider dataProvider = null; String targetEntitySet = uriInfo.getTargetEntitySet().getEntityType().getNamespace()+"."+uriInfo.getTargetEntitySet().getName(); dataProvider = getDataProvider(targetEntitySet); if (dataProvider !=null) { return dataProvider.getTypeMapping(uriInfo, readProperties, navigationProperty); } else return null; } }
private static UriInfoDraftHelperV2 transFormerForDelete(Map<String, Object> ent, EdmEntitySet entSet) throws ODataException { UriInfoDraftHelperV2 uriT=new UriInfoDraftHelperV2(); //Create the UriInfoForCreate //Extract Keys from Entity UriInfoImpl uriInfoForDelete = new UriInfoImpl(); uriInfoForDelete.setStartEntitySet(entSet); uriInfoForDelete.setTargetEntitySet(entSet); uriInfoForDelete.setKeyPredicates(DraftUtilsV2.extractKeyPredicateRefsEntity(ent, entSet.getEntityType())); uriT.setUriInfo(uriInfoForDelete); uriT.setUriFunction(UriFunction.DELETE); return uriT; }
protected String generateOrderByFileds() throws ODataJPARuntimeException, EdmException { if (entitySetView.getOrderBy() != null) { return ODataExpressionParser.parseToJPAOrderByExpression(entitySetView.getOrderBy(), getJPAEntityAlias()); } else if (entitySetView.getTop() != null || entitySetView.getSkip() != null || pagingRequested == true) { return ODataExpressionParser.parseKeyPropertiesToJPAOrderByExpression(entitySetView.getTargetEntitySet() .getEntityType().getKeyProperties(), getJPAEntityAlias()); } else { return null; } }
protected String generateOrderByFileds() throws ODataJPARuntimeException, EdmException { if (entitySetView.getOrderBy() != null) { return ODataExpressionParser.parseToJPAOrderByExpression(entitySetView.getOrderBy(), getJPAEntityAlias()); } else if ((entitySetView.getTop() != null || entitySetView.getSkip() != null || pagingRequested == true) && !getType().equals(JPQLContextType.SELECT_COUNT)) { return ODataExpressionParser.parseKeyPropertiesToJPAOrderByExpression(entitySetView.getTargetEntitySet() .getEntityType().getKeyProperties(), getJPAEntityAlias()); } else { return null; } }