private EdmProperty getKeyProperty(EdmEntityType type, String name) throws EdmException { List<EdmProperty> keyProperties = type.getKeyProperties(); for (EdmProperty property : keyProperties) { if (property.getName().equals(name)) { return property; } } return null; }
private List<KeyPredicate> getKeys(EdmEntitySet entitySet, Map<String, Object> navigatedData, boolean isDraft) throws EdmException { List<KeyPredicate> allKeys = new ArrayList<>(); List<EdmProperty> entityKeys = entitySet.getEntityType().getKeyProperties(); for(Map.Entry<String, Object> properties : navigatedData.entrySet()) { String key = properties.getKey(); String literal = properties.getValue().toString(); EdmProperty entityKeyProperty = this.getEntityKey(entityKeys, key, isDraft); if(entityKeyProperty != null){ KeyPredicateImpl keyPredicate = new KeyPredicateImpl(literal, entityKeyProperty); allKeys.add(keyPredicate); } } return allKeys; }
private <T> T readEntryData(final List<T> data, final EdmEntityType entityType, final Map<String, Object> key) throws ODataException { for (final T entryData : data) { boolean found = true; for (final EdmProperty keyProperty : entityType.getKeyProperties()) { if (!valueAccess.getPropertyValue(entryData, keyProperty).equals(key.get(keyProperty.getName()))) { found = false; break; } } if (found) { return entryData; } } return null; } }
private <T> T readEntryData(final List<T> data, final EdmEntityType entityType, final Map<String, Object> key) throws ODataException { for (final T entryData : data) { boolean found = true; for (final EdmProperty keyProperty : entityType.getKeyProperties()) { if (!valueAccess.getPropertyValue(entryData, keyProperty).equals(key.get(keyProperty.getName()))) { found = false; break; } } if (found) { return entryData; } } return null; } }
private <T> T readEntryData(final List<T> data, final EdmEntityType entityType, final Map<String, Object> key) throws ODataException { for (final T entryData : data) { boolean found = true; for (final EdmProperty keyProperty : entityType.getKeyProperties()) { if (!valueAccess.getPropertyValue(entryData, keyProperty).equals(key.get(keyProperty.getName()))) { found = false; break; } } if (found) { return entryData; } } return null; } }
@Override public List<EdmProperty> getKeyProperties() throws EdmException { if (edmKeyProperties == null) { if (edmBaseType != null) { return ((EdmEntityType) edmBaseType).getKeyProperties(); } if (keyProperties == null) { keyProperties = new HashMap<String, EdmProperty>(); edmKeyProperties = new ArrayList<EdmProperty>(); for (String keyPropertyName : getKeyPropertyNames()) { final EdmTyped edmProperty = getProperty(keyPropertyName); if (edmProperty != null && edmProperty instanceof EdmProperty) { keyProperties.put(keyPropertyName, (EdmProperty) edmProperty); edmKeyProperties.add((EdmProperty) edmProperty); } else { throw new EdmException(EdmException.COMMON); } } } } return edmKeyProperties; }
private static boolean isPropertyKey(final UriInfo uriInfo) throws EdmException { return uriInfo.getTargetEntitySet().getEntityType().getKeyProperties().contains(getProperty(uriInfo)); }
@Override public List<EdmProperty> getKeyProperties() throws EdmException { if (edmKeyProperties == null) { if (edmBaseType != null) { return ((EdmEntityType) edmBaseType).getKeyProperties(); } if (keyProperties == null) { keyProperties = new HashMap<String, EdmProperty>(); edmKeyProperties = new ArrayList<EdmProperty>(); for (String keyPropertyName : getKeyPropertyNames()) { final EdmTyped edmProperty = getProperty(keyPropertyName); if (edmProperty != null && edmProperty instanceof EdmProperty) { keyProperties.put(keyPropertyName, (EdmProperty) edmProperty); edmKeyProperties.add((EdmProperty) edmProperty); } else { throw new EdmException(EdmException.COMMON); } } } } return edmKeyProperties; }
@Override public List<EdmProperty> getKeyProperties() throws EdmException { if (edmKeyProperties == null) { if (edmBaseType != null) { return ((EdmEntityType) edmBaseType).getKeyProperties(); } if (keyProperties == null) { keyProperties = new HashMap<String, EdmProperty>(); edmKeyProperties = new ArrayList<EdmProperty>(); for (String keyPropertyName : getKeyPropertyNames()) { final EdmTyped edmProperty = getProperty(keyPropertyName); if (edmProperty != null && edmProperty instanceof EdmProperty) { keyProperties.put(keyPropertyName, (EdmProperty) edmProperty); edmKeyProperties.add((EdmProperty) edmProperty); } else { throw new EdmException(EdmException.COMMON); } } } } return edmKeyProperties; }
private static boolean isPropertyKey(final UriInfo uriInfo) throws EdmException { return uriInfo.getTargetEntitySet().getEntityType().getKeyProperties().contains(getProperty(uriInfo)); }
private static boolean isPropertyKey(final UriInfo uriInfo) throws EdmException { return uriInfo.getTargetEntitySet().getEntityType().getKeyProperties().contains(getProperty(uriInfo)); }
private List<KeyPredicate> getKeyPredicates(EdmEntityType entityType, Map<String, Object> result) throws EdmException { List<KeyPredicate> keyPredicates = new ArrayList<KeyPredicate>(); for (EdmProperty keyProperty : entityType.getKeyProperties()) { Object value = result.get(keyProperty.getName()); EdmSimpleType edmSimpleType = (EdmSimpleType) keyProperty.getType(); String literal = edmSimpleType.valueToString(value, EdmLiteralKind.DEFAULT, keyProperty.getFacets()); keyPredicates.add(new GWKeyPredicate(literal, keyProperty)); } return keyPredicates; }
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; }
private List<KeyPredicate> getKeysFromFunctionImportParams(GetFunctionImportUriInfo uriInfo, boolean removeIsActiveEntity) throws EdmException { List<KeyPredicate> allKeys = new ArrayList<>(); Map<String, EdmLiteral> parameters = uriInfo.getFunctionImportParameters(); List<EdmProperty> keyList = uriInfo.getFunctionImport().getEntitySet().getEntityType().getKeyProperties(); Iterator<EdmProperty> keysPropItr = keyList.iterator(); while(keysPropItr.hasNext()){ EdmProperty property = keysPropItr.next(); if(removeIsActiveEntity && DraftUtilsV2.DRAFTS_ISACTIVE_ENTITY.equalsIgnoreCase(property.getName())){ continue; } String literal = parameters.get(property.getName()).getLiteral(); allKeys.add(new KeyPredicateImpl(literal, property)); } return allKeys; }
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 <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 void validateEntityTypes() throws EntityProviderException, EdmException { for (Map.Entry<FullQualifiedName, EdmEntityType> entityTypes : entityTypesMap.entrySet()) { if (entityTypes.getValue() != null && entityTypes.getKey() != null) { EdmEntityTypeImpl entityType = (EdmEntityTypeImpl) entityTypes.getValue(); if (entityType.getBaseTypeName() != null) { FullQualifiedName baseTypeFQName = entityType.getBaseTypeName(); EdmEntityType baseEntityType; if (!entityTypesMap.containsKey(baseTypeFQName)) { FullQualifiedName fqName = validateEntityTypeWithAlias(baseTypeFQName); baseEntityType = entityTypesMap.get(fqName); } else { baseEntityType = fetchLastBaseType(baseTypeFQName, entityTypesMap); } if (baseEntityType != null && (baseEntityType.getKeyProperties() == null || baseEntityType.getKeyProperties().isEmpty())) { throw new EntityProviderException(EntityProviderException.ILLEGAL_ARGUMENT .addContent("Missing key for EntityType " + baseEntityType.getName())); } } else if (entityType.getKeyProperties() == null || entityType.getKeyProperties().isEmpty()) { throw new EntityProviderException(EntityProviderException.ILLEGAL_ARGUMENT .addContent("Missing key for EntityType " + entityType.getName())); } } } }
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; } }