This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
The following commit(s) were added to refs/heads/geoapi-4.0 by this push: new 2f74561 Add missing META-INF declaration for CS, datum and coordinate operation authority factories. 2f74561 is described below commit 2f745617e2e098a6b23f36b94d5afd86858f3796 Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Sun Mar 6 20:10:31 2022 +0100 Add missing META-INF declaration for CS, datum and coordinate operation authority factories. https://issues.apache.org/jira/browse/SIS-393 --- .../sis/internal/referencing/EPSGFactoryProxy.java | 92 ++---------------- .../internal/referencing/EPSGFactoryProxyCOP.java | 59 ++++++++++++ ...GFactoryProxy.java => EPSGFactoryProxyCRS.java} | 43 +-------- .../internal/referencing/EPSGFactoryProxyCS.java | 107 +++++++++++++++++++++ .../referencing/EPSGFactoryProxyDatum.java | 95 ++++++++++++++++++ ...org.opengis.referencing.crs.CRSAuthorityFactory | 2 +- ... org.opengis.referencing.cs.CSAuthorityFactory} | 3 +- ...pengis.referencing.datum.DatumAuthorityFactory} | 3 +- ....operation.CoordinateOperationAuthorityFactory} | 3 +- ide-project/NetBeans/build.xml | 21 ++++ 10 files changed, 299 insertions(+), 129 deletions(-) diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxy.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxy.java index b1ea2ef..34f668f 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxy.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxy.java @@ -18,22 +18,10 @@ package org.apache.sis.internal.referencing; import java.util.Set; import org.opengis.metadata.citation.Citation; +import org.opengis.referencing.AuthorityFactory; import org.opengis.referencing.IdentifiedObject; -import org.opengis.referencing.crs.CRSAuthorityFactory; -import org.opengis.referencing.crs.CompoundCRS; -import org.opengis.referencing.crs.CoordinateReferenceSystem; -import org.opengis.referencing.crs.DerivedCRS; -import org.opengis.referencing.crs.EngineeringCRS; -import org.opengis.referencing.crs.GeocentricCRS; -import org.opengis.referencing.crs.GeographicCRS; -import org.opengis.referencing.crs.ImageCRS; -import org.opengis.referencing.crs.ParametricCRS; -import org.opengis.referencing.crs.ProjectedCRS; -import org.opengis.referencing.crs.TemporalCRS; -import org.opengis.referencing.crs.VerticalCRS; import org.opengis.util.FactoryException; import org.opengis.util.InternationalString; -import org.apache.sis.referencing.CRS; import org.apache.sis.referencing.GeodeticException; @@ -45,19 +33,14 @@ import org.apache.sis.referencing.GeodeticException; * <p>This class will be modified on the JDK9 branch in order to replace the proxy by a static {@code provider()} * method. This will allow us to remove all the indirection level currently found in this class.</p> */ -public final class EPSGFactoryProxy implements CRSAuthorityFactory { - private volatile CRSAuthorityFactory factory; - - private CRSAuthorityFactory factory() throws FactoryException { - CRSAuthorityFactory f = factory; - if (f == null) { - factory = f = CRS.getAuthorityFactory("EPSG"); - } - return f; +public abstract class EPSGFactoryProxy implements AuthorityFactory { + EPSGFactoryProxy() { } + abstract AuthorityFactory factory() throws FactoryException; + @Override - public Citation getAuthority() { + public final Citation getAuthority() { try { return factory().getAuthority(); } catch (FactoryException e) { @@ -66,7 +49,7 @@ public final class EPSGFactoryProxy implements CRSAuthorityFactory { } @Override - public Citation getVendor() { + public final Citation getVendor() { try { return factory().getVendor(); } catch (FactoryException e) { @@ -75,72 +58,17 @@ public final class EPSGFactoryProxy implements CRSAuthorityFactory { } @Override - public InternationalString getDescriptionText(String code) throws FactoryException { + public final InternationalString getDescriptionText(String code) throws FactoryException { return factory().getDescriptionText(code); } @Override - public IdentifiedObject createObject(String code) throws FactoryException { + public final IdentifiedObject createObject(String code) throws FactoryException { return factory().createObject(code); } @Override - public CoordinateReferenceSystem createCoordinateReferenceSystem(String code) throws FactoryException { - return factory().createCoordinateReferenceSystem(code); - } - - @Override - public CompoundCRS createCompoundCRS(String code) throws FactoryException { - return factory().createCompoundCRS(code); - } - - @Override - public DerivedCRS createDerivedCRS(String code) throws FactoryException { - return factory().createDerivedCRS(code); - } - - @Override - public EngineeringCRS createEngineeringCRS(String code) throws FactoryException { - return factory().createEngineeringCRS(code); - } - - @Override - public GeographicCRS createGeographicCRS(String code) throws FactoryException { - return factory().createGeographicCRS(code); - } - - @Override - public GeocentricCRS createGeocentricCRS(String code) throws FactoryException { - return factory().createGeocentricCRS(code); - } - - @Override - public ImageCRS createImageCRS(String code) throws FactoryException { - return factory().createImageCRS(code); - } - - @Override - public ProjectedCRS createProjectedCRS(String code) throws FactoryException { - return factory().createProjectedCRS(code); - } - - @Override - public TemporalCRS createTemporalCRS(String code) throws FactoryException { - return factory().createTemporalCRS(code); - } - - @Override - public VerticalCRS createVerticalCRS(String code) throws FactoryException { - return factory().createVerticalCRS(code); - } - - @Override - public ParametricCRS createParametricCRS(String code) throws FactoryException { - return factory().createParametricCRS(code); - } - - @Override - public Set<String> getAuthorityCodes(Class<? extends IdentifiedObject> type) throws FactoryException { + public final Set<String> getAuthorityCodes(Class<? extends IdentifiedObject> type) throws FactoryException { return factory().getAuthorityCodes(type); } } diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxyCOP.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxyCOP.java new file mode 100644 index 0000000..f77f733 --- /dev/null +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxyCOP.java @@ -0,0 +1,59 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.sis.internal.referencing; + +import java.util.Set; +import org.opengis.util.FactoryException; +import org.apache.sis.referencing.CRS; +import org.opengis.referencing.operation.CoordinateOperation; +import org.opengis.referencing.operation.CoordinateOperationAuthorityFactory; +import org.opengis.referencing.operation.OperationMethod; + + +/** + * Same as {@link EPSGFactoryProxyCRS} but for coordinate operations. + * + * <p>This class will be modified on the JDK9 branch in order to replace the proxy by a static {@code provider()} + * method. This will allow us to remove all the indirection level currently found in this class.</p> + */ +public final class EPSGFactoryProxyCOP extends EPSGFactoryProxy implements CoordinateOperationAuthorityFactory { + private volatile CoordinateOperationAuthorityFactory factory; + + @Override + CoordinateOperationAuthorityFactory factory() throws FactoryException { + CoordinateOperationAuthorityFactory f = factory; + if (f == null) { + factory = f = (CoordinateOperationAuthorityFactory) CRS.getAuthorityFactory("EPSG"); + } + return f; + } + + @Override + public OperationMethod createOperationMethod(String code) throws FactoryException { + return factory().createOperationMethod(code); + } + + @Override + public CoordinateOperation createCoordinateOperation(String code) throws FactoryException { + return factory().createCoordinateOperation(code); + } + + @Override + public Set<CoordinateOperation> createFromCoordinateReferenceSystemCodes(String sourceCRS, String targetCRS) throws FactoryException { + return factory().createFromCoordinateReferenceSystemCodes(sourceCRS, targetCRS); + } +} diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxy.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxyCRS.java similarity index 76% copy from core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxy.java copy to core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxyCRS.java index b1ea2ef..265dee9 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxy.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxyCRS.java @@ -16,9 +16,6 @@ */ package org.apache.sis.internal.referencing; -import java.util.Set; -import org.opengis.metadata.citation.Citation; -import org.opengis.referencing.IdentifiedObject; import org.opengis.referencing.crs.CRSAuthorityFactory; import org.opengis.referencing.crs.CompoundCRS; import org.opengis.referencing.crs.CoordinateReferenceSystem; @@ -32,9 +29,7 @@ import org.opengis.referencing.crs.ProjectedCRS; import org.opengis.referencing.crs.TemporalCRS; import org.opengis.referencing.crs.VerticalCRS; import org.opengis.util.FactoryException; -import org.opengis.util.InternationalString; import org.apache.sis.referencing.CRS; -import org.apache.sis.referencing.GeodeticException; /** @@ -45,10 +40,11 @@ import org.apache.sis.referencing.GeodeticException; * <p>This class will be modified on the JDK9 branch in order to replace the proxy by a static {@code provider()} * method. This will allow us to remove all the indirection level currently found in this class.</p> */ -public final class EPSGFactoryProxy implements CRSAuthorityFactory { +public final class EPSGFactoryProxyCRS extends EPSGFactoryProxy implements CRSAuthorityFactory { private volatile CRSAuthorityFactory factory; - private CRSAuthorityFactory factory() throws FactoryException { + @Override + CRSAuthorityFactory factory() throws FactoryException { CRSAuthorityFactory f = factory; if (f == null) { factory = f = CRS.getAuthorityFactory("EPSG"); @@ -57,34 +53,6 @@ public final class EPSGFactoryProxy implements CRSAuthorityFactory { } @Override - public Citation getAuthority() { - try { - return factory().getAuthority(); - } catch (FactoryException e) { - throw new GeodeticException(e); - } - } - - @Override - public Citation getVendor() { - try { - return factory().getVendor(); - } catch (FactoryException e) { - throw new GeodeticException(e); - } - } - - @Override - public InternationalString getDescriptionText(String code) throws FactoryException { - return factory().getDescriptionText(code); - } - - @Override - public IdentifiedObject createObject(String code) throws FactoryException { - return factory().createObject(code); - } - - @Override public CoordinateReferenceSystem createCoordinateReferenceSystem(String code) throws FactoryException { return factory().createCoordinateReferenceSystem(code); } @@ -138,9 +106,4 @@ public final class EPSGFactoryProxy implements CRSAuthorityFactory { public ParametricCRS createParametricCRS(String code) throws FactoryException { return factory().createParametricCRS(code); } - - @Override - public Set<String> getAuthorityCodes(Class<? extends IdentifiedObject> type) throws FactoryException { - return factory().getAuthorityCodes(type); - } } diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxyCS.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxyCS.java new file mode 100644 index 0000000..889ef4f --- /dev/null +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxyCS.java @@ -0,0 +1,107 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.sis.internal.referencing; + +import javax.measure.Unit; +import org.opengis.util.FactoryException; +import org.opengis.referencing.cs.CSAuthorityFactory; +import org.opengis.referencing.cs.CartesianCS; +import org.opengis.referencing.cs.CoordinateSystem; +import org.opengis.referencing.cs.CoordinateSystemAxis; +import org.opengis.referencing.cs.CylindricalCS; +import org.opengis.referencing.cs.EllipsoidalCS; +import org.opengis.referencing.cs.ParametricCS; +import org.opengis.referencing.cs.PolarCS; +import org.opengis.referencing.cs.SphericalCS; +import org.opengis.referencing.cs.TimeCS; +import org.opengis.referencing.cs.VerticalCS; +import org.apache.sis.referencing.CRS; + + +/** + * Same as {@link EPSGFactoryProxyCRS} but for coordinate systems. + * + * <p>This class will be modified on the JDK9 branch in order to replace the proxy by a static {@code provider()} + * method. This will allow us to remove all the indirection level currently found in this class.</p> + */ +public final class EPSGFactoryProxyCS extends EPSGFactoryProxy implements CSAuthorityFactory { + private volatile CSAuthorityFactory factory; + + @Override + CSAuthorityFactory factory() throws FactoryException { + CSAuthorityFactory f = factory; + if (f == null) { + factory = f = (CSAuthorityFactory) CRS.getAuthorityFactory("EPSG"); + } + return f; + } + + @Override + public CoordinateSystem createCoordinateSystem(String code) throws FactoryException { + return factory().createCoordinateSystem(code); + } + + @Override + public CartesianCS createCartesianCS(String code) throws FactoryException { + return factory().createCartesianCS(code); + } + + @Override + public PolarCS createPolarCS(String code) throws FactoryException { + return factory().createPolarCS(code); + } + + @Override + public CylindricalCS createCylindricalCS(String code) throws FactoryException { + return factory().createCylindricalCS(code); + } + + @Override + public SphericalCS createSphericalCS(String code) throws FactoryException { + return factory().createSphericalCS(code); + } + + @Override + public EllipsoidalCS createEllipsoidalCS(String code) throws FactoryException { + return factory().createEllipsoidalCS(code); + } + + @Override + public VerticalCS createVerticalCS(String code) throws FactoryException { + return factory().createVerticalCS(code); + } + + @Override + public TimeCS createTimeCS(String code) throws FactoryException { + return factory().createTimeCS(code); + } + + @Override + public ParametricCS createParametricCS(String code) throws FactoryException { + return factory().createParametricCS(code); + } + + @Override + public CoordinateSystemAxis createCoordinateSystemAxis(String code) throws FactoryException { + return factory().createCoordinateSystemAxis(code); + } + + @Override + public Unit<?> createUnit(String code) throws FactoryException { + return factory().createUnit(code); + } +} diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxyDatum.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxyDatum.java new file mode 100644 index 0000000..3d553b6 --- /dev/null +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxyDatum.java @@ -0,0 +1,95 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.sis.internal.referencing; + +import org.opengis.referencing.datum.Datum; +import org.opengis.referencing.datum.DatumAuthorityFactory; +import org.opengis.referencing.datum.Ellipsoid; +import org.opengis.referencing.datum.GeodeticDatum; +import org.opengis.referencing.datum.PrimeMeridian; +import org.opengis.referencing.datum.EngineeringDatum; +import org.opengis.referencing.datum.ImageDatum; +import org.opengis.referencing.datum.ParametricDatum; +import org.opengis.referencing.datum.TemporalDatum; +import org.opengis.referencing.datum.VerticalDatum; +import org.opengis.util.FactoryException; +import org.apache.sis.referencing.CRS; + + +/** + * Same as {@link EPSGFactoryProxyCRS} but for datum. + * + * <p>This class will be modified on the JDK9 branch in order to replace the proxy by a static {@code provider()} + * method. This will allow us to remove all the indirection level currently found in this class.</p> + */ +public final class EPSGFactoryProxyDatum extends EPSGFactoryProxy implements DatumAuthorityFactory { + private volatile DatumAuthorityFactory factory; + + @Override + DatumAuthorityFactory factory() throws FactoryException { + DatumAuthorityFactory f = factory; + if (f == null) { + factory = f = (DatumAuthorityFactory) CRS.getAuthorityFactory("EPSG"); + } + return f; + } + + @Override + public Datum createDatum(String code) throws FactoryException { + return factory().createDatum(code); + } + + @Override + public GeodeticDatum createGeodeticDatum(String code) throws FactoryException { + return factory().createGeodeticDatum(code); + } + + @Override + public Ellipsoid createEllipsoid(String code) throws FactoryException { + return factory().createEllipsoid(code); + } + + @Override + public PrimeMeridian createPrimeMeridian(String code) throws FactoryException { + return factory().createPrimeMeridian(code); + } + + @Override + public EngineeringDatum createEngineeringDatum(String code) throws FactoryException { + return factory().createEngineeringDatum(code); + } + + @Override + public ImageDatum createImageDatum(String code) throws FactoryException { + return factory().createImageDatum(code); + } + + @Override + public TemporalDatum createTemporalDatum(String code) throws FactoryException { + return factory().createTemporalDatum(code); + } + + @Override + public VerticalDatum createVerticalDatum(String code) throws FactoryException { + return factory().createVerticalDatum(code); + } + + @Override + public ParametricDatum createParametricDatum(String code) throws FactoryException { + return factory().createParametricDatum(code); + } +} diff --git a/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory b/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory index 77ef037..faa30b2 100644 --- a/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory +++ b/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory @@ -1,4 +1,4 @@ # Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements; # and to You under the Apache License, Version 2.0. -org.apache.sis.internal.referencing.EPSGFactoryProxy +org.apache.sis.internal.referencing.EPSGFactoryProxyCRS org.apache.sis.referencing.factory.CommonAuthorityFactory diff --git a/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory b/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.cs.CSAuthorityFactory similarity index 57% copy from core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory copy to core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.cs.CSAuthorityFactory index 77ef037..1073b2b 100644 --- a/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory +++ b/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.cs.CSAuthorityFactory @@ -1,4 +1,3 @@ # Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements; # and to You under the Apache License, Version 2.0. -org.apache.sis.internal.referencing.EPSGFactoryProxy -org.apache.sis.referencing.factory.CommonAuthorityFactory +org.apache.sis.internal.referencing.EPSGFactoryProxyCS diff --git a/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory b/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.datum.DatumAuthorityFactory similarity index 57% copy from core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory copy to core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.datum.DatumAuthorityFactory index 77ef037..9bb35f5 100644 --- a/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory +++ b/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.datum.DatumAuthorityFactory @@ -1,4 +1,3 @@ # Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements; # and to You under the Apache License, Version 2.0. -org.apache.sis.internal.referencing.EPSGFactoryProxy -org.apache.sis.referencing.factory.CommonAuthorityFactory +org.apache.sis.internal.referencing.EPSGFactoryProxyDatum diff --git a/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory b/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.operation.CoordinateOperationAuthorityFactory similarity index 57% copy from core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory copy to core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.operation.CoordinateOperationAuthorityFactory index 77ef037..5b0c35a 100644 --- a/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory +++ b/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.operation.CoordinateOperationAuthorityFactory @@ -1,4 +1,3 @@ # Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements; # and to You under the Apache License, Version 2.0. -org.apache.sis.internal.referencing.EPSGFactoryProxy -org.apache.sis.referencing.factory.CommonAuthorityFactory +org.apache.sis.internal.referencing.EPSGFactoryProxyCOP diff --git a/ide-project/NetBeans/build.xml b/ide-project/NetBeans/build.xml index cf41972..af72e7e 100644 --- a/ide-project/NetBeans/build.xml +++ b/ide-project/NetBeans/build.xml @@ -155,6 +155,27 @@ </fileset> </concat> + <!-- CSAuthorityFactory implementations to be loaded by ServiceLoader. --> + <concat destfile="${build.classes.dir}/META-INF/services/org.opengis.referencing.cs.CSAuthorityFactory" encoding="UTF-8" fixlastline="yes"> + <fileset dir="${project.root}"> + <include name="*/*/src/main/resources/META-INF/services/org.opengis.referencing.cs.CSAuthorityFactory"/> + </fileset> + </concat> + + <!-- DatumAuthorityFactory implementations to be loaded by ServiceLoader. --> + <concat destfile="${build.classes.dir}/META-INF/services/org.opengis.referencing.datum.DatumAuthorityFactory" encoding="UTF-8" fixlastline="yes"> + <fileset dir="${project.root}"> + <include name="*/*/src/main/resources/META-INF/services/org.opengis.referencing.datum.DatumAuthorityFactory"/> + </fileset> + </concat> + + <!-- CoordinateOperationAuthorityFactory implementations to be loaded by ServiceLoader. --> + <concat destfile="${build.classes.dir}/META-INF/services/org.opengis.referencing.operation.CoordinateOperationAuthorityFactory" encoding="UTF-8" fixlastline="yes"> + <fileset dir="${project.root}"> + <include name="*/*/src/main/resources/META-INF/services/org.opengis.referencing.operation.CoordinateOperationAuthorityFactory"/> + </fileset> + </concat> + <!-- CRSFactory implementations to be loaded by ServiceLoader. --> <concat destfile="${build.classes.dir}/META-INF/services/org.opengis.referencing.crs.CRSFactory" encoding="UTF-8" fixlastline="yes"> <fileset dir="${project.root}">