opengeospatial / ets-gml32

Executable Test Suite for GML 3.2
Other
1 stars 2 forks source link

application schema limitation #46

Closed danieluct closed 4 years ago

danieluct commented 4 years ago

There is currently a hardcoded limitation that schema target namespaces should not include the string "opengis.net". The standard only requires "This shall not be the GML namespace (http://www.opengis.net/gml/3.2).", thus values such as http://www.opengis.net/samplingSpatial/2.0 should be accepted

dstenger commented 4 years ago

Thank you for reporting this issue.

You are probably referring to method getApplicationNamespaceName? I agree that there is no hint in the specification that opengis.net domain is not allowed.

@keshav-nangare Can you please fix method getApplicationNamespaceName? Just http://www.opengis.net/gml/3.2 is not allowed as target namespace and not the whole opengis.net domain. Can you also please update the JavaDoc?

danieluct commented 4 years ago

Indeed, I was referring to getApplicationNamespaceName

keshavnangare commented 4 years ago

Fixed with #47 PR.

dstenger commented 4 years ago

PR is reverted in https://github.com/opengeospatial/ets-gml32/issues/48.

We work on a new solution.

dstenger commented 4 years ago

Proposal for solution: An optional parameter is added to the user interface allowing to specify the application namespace if it is in opengis.net domain. Disadvantage: User interaction is required making the test suite more complex.

danieluct commented 4 years ago

It was a busy period and I missed the notification on this. I do understand the technical limitation with the existing solution (though I'm not sure that the test failed by the PR #47 is well designed), but I don't think that services respecting the standard should be failed because of this. Maybe you can mark ets tests depending on this as "skipped" with an explanatory message indicating this new optional parameter if schemas hosted at opengis.net are detected.

dstenger commented 4 years ago

Another proposal for solution: Following namespace is allowed *opengis.net/sampling* but other namespaces in opengis.net domain are still not allowed. Hint for developer: The additionally allowed namespaces are configured in an Array so that it can easily be enhanced by further namespaces.

danieluct commented 4 years ago

I agree that explicitly allowing particular namespaces on opengis.net may be a better solution.

keshavnangare commented 4 years ago

@dstenger

According to the proposed solution, I have updated the test. Please find changes in #53 PR.

dstenger commented 4 years ago

@keshav-nangare Your current solution just allows namespaces which are in the array (currently, just *opengis.net/sampling*). However, the old mechanism should be kept -> Namespaces which are not in opengis.net domain are considered.

Summarized, all namespaces which are not in opengis.net domain and all namespaces listed in the array are considered.

Can you please update the pull request?

dstenger commented 4 years ago

Current solution should work and will be tested.