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)

Reply via email to