Kavya Singh created OLINGO-1617:
-----------------------------------
Summary: Entity name validation restriction
org.apache.olingo.odata2.api.edm.EdmException.NAMINGERROR= '%1$s' name pattern
not valid.
Key: OLINGO-1617
URL: https://issues.apache.org/jira/browse/OLINGO-1617
Project: Olingo
Issue Type: Question
Reporter: Kavya Singh
Hi,
I understand that Olingo does Entity name validation as per the OData
specification to restrict certain special characters. From my understanding,
the name pattern used in version 2.0,4
private static final Pattern PATTERN_VALID_NAME = Pattern
.compile("^[:A-Z_a-z\\u00C0\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02ff\\u0370-\\u037d"
+
"\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff"
+ "\\uf900-\\ufdcf\\ufdf0-\\ufffd\\x10000-\\xEFFFF]"
+ "[:A-Z_a-z\\u00C0\\u00D6\\u00D8-\\u00F6"
+
"\\u00F8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f"
+
"\\u2c00-\\u2fef\\u3001-\\udfff\\uf900-\\ufdcf\\ufdf0-\\ufffd\\-\\.0-9"
+ "\\u00b7\\u0300-\\u036f\\u203f-\\u2040]*\\Z");
was restricted to the pattern private static final Pattern PATTERN_VALID_NAME =
Pattern.compile(
"\\A[_\\p\{L}\\p\{Nl}][_\\p\{L}\\p\{Nl}\\p\{Nd}\\p\{Mn}\\p\{Mc}\\p\{Pc}\\p\{Cf}]\{0,}\\Z");
in version 2.0.11. With this, a new error 'NAMINGERROR= '%1$s' name pattern not
valid' was introduced. However, with this error, the *getEntitySets* API fails,
and no objects are fetched. As a result, the 2.0.11 version has more
restrictions, and it fails the entire API call in case of a validation failure.
Is it not suitable to fetch the non erroneous objects instead of failing the
entire API and throwing the exception? I want to understand why one erroneous
entity fails the entire API.
Thank you.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)