You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@sis.apache.org by "Martin Desruisseaux (Jira)" <ji...@apache.org> on 2022/05/09 14:42:00 UTC
[jira] [Updated] (SIS-393) Missing META-INF service declarations for authority factories
[ https://issues.apache.org/jira/browse/SIS-393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Desruisseaux updated SIS-393:
------------------------------------
Issue Type: Improvement (was: Task)
> Missing META-INF service declarations for authority factories
> -------------------------------------------------------------
>
> Key: SIS-393
> URL: https://issues.apache.org/jira/browse/SIS-393
> Project: Spatial Information Systems
> Issue Type: Improvement
> Components: Referencing
> Affects Versions: 0.7, 0.8, 1.0, 1.1
> Reporter: Martin Desruisseaux
> Assignee: Martin Desruisseaux
> Priority: Major
> Fix For: 1.2
>
>
> The {{core/sis-referencing/src/main/resources/META-INF/services/}} directory registers a {{CRSAuthorityFactory}}, but not yet any {{CSAuthorityFactory}}, {{DatumAuthorityFactory}} or {{CoordinateOperationAuthorityFactory}}. The later in particular would be useful for an easier access to the following method:
> {code:java}
> Set<CoordinateOperation> createFromCoordinateReferenceSystemCodes(String sourceCRS, String targetCRS)
> {code}
> The reason why authority factories other than {{CRSAuthorityFactory}} are not yet registered is because it is more convenient for Apache SIS to use a single instance for all kind of authority factories (for sharing the cache). This can be done more cleanly in Java 9 using the new {{ServiceLoader}} capability. In the meantime, users can get the factory with following code, which is unsafe, but should work at least with SIS 0.8:
> {code:java}
> CoordinateOperationAuthorityFactory factory = (CoordinateOperationAuthorityFactory) CRS.getAuthorityFactory("EPSG");
> {code}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)