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

commit 4eb5787adf1ab5518eb01d874cda0e7e41d3a5f0
Author: Martin Desruisseaux <martin.desruisse...@geomatys.com>
AuthorDate: Mon Jan 22 12:20:20 2024 +0100

    Move non-released `org.apache.sis.map` package to an incubator module.
    A new module named "org.apache.sis.portrayal.map" is created, but that
    module may be temporary if its content graduates to the endorsed module.
---
 .../apache/sis/buildtools/gradle/Dependency.java   |  1 +
 endorsed/build.gradle.kts                          |  3 --
 .../org.apache.sis.feature/main/module-info.java   |  3 +-
 .../org.apache.sis.portrayal/main/module-info.java |  7 +++-
 .../main/org/apache/sis/portrayal/Observable.java  | 14 +++----
 .../org/apache/sis/portrayal/package-info.java     |  2 +-
 .../main/org/apache/sis/style/Style.java           |  2 +
 .../main/org/apache/sis/style/package-info.java    |  2 +
 .../src/org.apache.sis.util/main/module-info.java  |  1 +
 incubator/build.gradle.kts                         | 44 ++++++++++++++++++++++
 .../main/module-info.java                          | 13 ++++---
 .../org/apache/sis/map/ExceptionPresentation.java  |  2 -
 .../main/org/apache/sis/map/ListChangeEvent.java   |  1 -
 .../main/org/apache/sis/map}/MapItem.java          |  6 +--
 .../main/org/apache/sis/map}/MapLayer.java         |  3 +-
 .../main/org/apache/sis/map}/MapLayers.java        |  5 +--
 .../main/org/apache/sis/map/NotifiedList.java      |  4 +-
 .../main/org/apache/sis/map/Presentation.java      |  2 -
 .../org/apache/sis/map/PropertyNameCollector.java  |  1 -
 .../org/apache/sis/map/ResourceSymbolizer.java     |  1 -
 .../main/org/apache/sis/map/SEPortrayer.java       |  4 --
 .../main/org/apache/sis/map/SEPresentation.java    |  2 -
 .../main/org/apache/sis/map/SymbologyVisitor.java  |  1 -
 .../main/org/apache/sis/map/package-info.java      |  0
 .../test/org/apache/sis/map}/MapLayersTest.java    |  7 +---
 .../test/org/apache/sis/map/SEPortrayerTest.java   |  7 +---
 netbeans-project/nbproject/project.properties      |  4 +-
 27 files changed, 82 insertions(+), 60 deletions(-)

diff --git 
a/buildSrc/src/main/java/org/apache/sis/buildtools/gradle/Dependency.java 
b/buildSrc/src/main/java/org/apache/sis/buildtools/gradle/Dependency.java
index c4b4ef9f4a..8a055ff750 100644
--- a/buildSrc/src/main/java/org/apache/sis/buildtools/gradle/Dependency.java
+++ b/buildSrc/src/main/java/org/apache/sis/buildtools/gradle/Dependency.java
@@ -70,6 +70,7 @@ public final class Dependency {
         Map.entry("gui",                      "application:sis-javafx"),       
     // Optional.
         Map.entry("cql",                      "core:sis-cql"),                 
     // Incubator.
         Map.entry("storage.shapefile",        "core:sis-shapefile"),
+        Map.entry("portrayal.map",            "core:sis-portrayal-map"),
         Map.entry("webapp",                   "application:sis-webapp")
     );
 
diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts
index 614b3c4b21..35f4c993fd 100644
--- a/endorsed/build.gradle.kts
+++ b/endorsed/build.gradle.kts
@@ -176,9 +176,6 @@ fun addExportForTests(args : MutableList<String>) {
     addExport(args, "org.apache.sis.feature",           
"org.apache.sis.geometry.wrapper.jts",
                     "org.apache.sis.storage.sql," +
                     "org.apache.sis.portrayal")
-
-    addExport(args, "org.apache.sis.storage",           
"org.apache.sis.storage.base",
-                    "org.apache.sis.portrayal")
 }
 
 /*
diff --git a/endorsed/src/org.apache.sis.feature/main/module-info.java 
b/endorsed/src/org.apache.sis.feature/main/module-info.java
index 7018c1308f..0bffbda6d2 100644
--- a/endorsed/src/org.apache.sis.feature/main/module-info.java
+++ b/endorsed/src/org.apache.sis.feature/main/module-info.java
@@ -46,7 +46,7 @@ module org.apache.sis.feature {
             org.apache.sis.storage.sql,
             org.apache.sis.storage.shapefile,       // In the "incubator" 
sub-project.
             org.apache.sis.cql,                     // In the "incubator" 
sub-project.
-            org.apache.sis.portrayal;
+            org.apache.sis.portrayal.map;           // In the "incubator" 
sub-project.
 
     exports org.apache.sis.feature.internal to
             org.apache.sis.storage,
@@ -54,6 +54,7 @@ module org.apache.sis.feature {
             org.apache.sis.storage.netcdf,
             org.apache.sis.storage.shapefile,       // In the "incubator" 
sub-project.
             org.apache.sis.portrayal,
+            org.apache.sis.portrayal.map,           // In the "incubator" 
sub-project.
             org.apache.sis.gui;                     // In the "optional" 
sub-project.
 
     exports org.apache.sis.geometry.wrapper to
diff --git a/endorsed/src/org.apache.sis.portrayal/main/module-info.java 
b/endorsed/src/org.apache.sis.portrayal/main/module-info.java
index d325f0c085..af2abe2d2f 100644
--- a/endorsed/src/org.apache.sis.portrayal/main/module-info.java
+++ b/endorsed/src/org.apache.sis.portrayal/main/module-info.java
@@ -20,19 +20,22 @@
  *
  * @author  Johann Sorel (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.4
+ * @version 1.5
  * @since   1.2
  */
 module org.apache.sis.portrayal {
     requires transitive org.apache.sis.storage;
     requires jakarta.xml.bind;
-    requires static org.locationtech.jts;
 
+    exports org.apache.sis.style;
     exports org.apache.sis.portrayal;
 
     exports org.apache.sis.map.coverage to
             org.apache.sis.gui;                         // In the "optional" 
sub-project.
 
+    exports org.apache.sis.style.se1 to
+            org.apache.sis.portrayal.map;               // In the "incubator" 
sub-project.
+
     /*
      * Allow JAXB to use reflection for marshalling and
      * unmarshalling Apache SIS objects in XML documents.
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/Observable.java
 
b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/Observable.java
index 49d3ecd955..2baf9b6c9e 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/Observable.java
+++ 
b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/Observable.java
@@ -31,15 +31,11 @@ import org.apache.sis.util.ArraysExt;
  * This base class does not need to be public; its methods will appear as if
  * they were defined directly in sub-classes.
  *
- * @todo Consider replacing the use of {@link PropertyChangeListener} by a new 
listener interface
- *       defined in this package. The reason is because {@link 
PropertyChangeListener} is defined
- *       in the {@code java.desktop} module, for which the future after 2026 
is not clear at this
- *       state. It would also allow to add information not currently provided 
to current listener,
- *       like the index of the element modified in a list.
- *
  * @author  Martin Desruisseaux (Geomatys)
+ * @version 1.5
+ * @since   1.5
  */
-abstract class Observable {
+public abstract class Observable {
     /**
      * The logger for portrayal.
      */
@@ -54,9 +50,9 @@ abstract class Observable {
     private Map<String,PropertyChangeListener[]> listeners;
 
     /**
-     * Only used by classes in this package.
+     * Creates a new instance.
      */
-    Observable() {
+    protected Observable() {
     }
 
     /**
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/package-info.java
 
b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/package-info.java
index 4e4d1cd530..40c78c92ce 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/package-info.java
+++ 
b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/package-info.java
@@ -25,7 +25,7 @@
  * Synchronization, if desired, must be done by the caller.
  *
  * @author  Johann Sorel (Geomatys)
- * @version 1.4
+ * @version 1.5
  * @since   1.1
  */
 package org.apache.sis.portrayal;
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/Style.java 
b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/Style.java
index 1d52688241..811741134a 100644
--- a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/Style.java
+++ b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/Style.java
@@ -22,6 +22,8 @@ package org.apache.sis.style;
  * See package description for more information.
  *
  * @author  Martin Desruisseaux (Geomatys)
+ * @version 1.5
+ * @since   1.5
  */
 public interface Style {
 }
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/package-info.java
 
b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/package-info.java
index 2c599297b0..d6a931957b 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/package-info.java
+++ 
b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/package-info.java
@@ -35,5 +35,7 @@
  *
  * @author  Johann Sorel (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
+ * @version 1.5
+ * @since   1.5
  */
 package org.apache.sis.style;
diff --git a/endorsed/src/org.apache.sis.util/main/module-info.java 
b/endorsed/src/org.apache.sis.util/main/module-info.java
index 3c846ed3ab..1862fabe6b 100644
--- a/endorsed/src/org.apache.sis.util/main/module-info.java
+++ b/endorsed/src/org.apache.sis.util/main/module-info.java
@@ -129,6 +129,7 @@ module org.apache.sis.util {
             org.apache.sis.storage.earthobservation,
             org.apache.sis.storage.shapefile,           // In the "incubator" 
sub-project.
             org.apache.sis.cql,                         // In the "incubator" 
sub-project.
+            org.apache.sis.portrayal.map,               // In the "incubator" 
sub-project.
             org.apache.sis.portrayal,
             org.apache.sis.cloud.aws,
             org.apache.sis.console,
diff --git a/incubator/build.gradle.kts b/incubator/build.gradle.kts
index 58d4fefc52..30c8df8ee1 100644
--- a/incubator/build.gradle.kts
+++ b/incubator/build.gradle.kts
@@ -47,6 +47,7 @@ dependencies {
     
api(files("../endorsed/build/classes/java/main/org.apache.sis.referencing"))
     api(files("../endorsed/build/classes/java/main/org.apache.sis.feature"))
     api(files("../endorsed/build/classes/java/main/org.apache.sis.storage"))
+    api(files("../endorsed/build/classes/java/main/org.apache.sis.portrayal"))
 
     // Test dependencies
     testImplementation(tests.geoapi)
@@ -87,6 +88,7 @@ tasks.compileTestJava {
     srcDir.list().forEach {
         addRead(options.compilerArgs, it, 
"org.apache.sis.test.incubator,org.junit.jupiter.api,junit")
     }
+    addExportForTests(options.compilerArgs)
 }
 
 /*
@@ -99,11 +101,41 @@ fun addRead(args : MutableList<String>, module : String, 
dependencies : String)
     args.add(module + '=' + dependencies)
 }
 
+/*
+ * Adds a JVM argument for making an internal package accessible to another 
module.
+ * This is for making internal packages accessible to JUnit or to some test 
classes
+ * defined in other modules.
+ */
+fun addExport(args : MutableList<String>, module : String, pkg : String, 
consumers : String) {
+    args.add("--add-exports")
+    args.add(module + '/' + pkg + '=' + consumers)
+}
+
+/*
+ * Add compiler and runtime options for patching the Apache SIS main modules 
with the test classes.
+ * The same options are required for both compiling and executing the tests.
+ */
+fun addExportForTests(args : MutableList<String>) {
+    /*
+     * Some test classes need access to more internal packages than requested 
by the main classes.
+     * The following lines may need to be edited when export statements are 
added or removed in a
+     * module-info.java file of main source code, or when a test class starts 
using or stop using
+     * an internal API.
+     */
+    // ――――――――――――― Module name ――――――――――――――――――――――― Package to export 
―――――――――――――――
+    addExport(args, "org.apache.sis.feature",           
"org.apache.sis.geometry.wrapper.jts",
+                    "org.apache.sis.portrayal.map")
+
+    addExport(args, "org.apache.sis.storage",           
"org.apache.sis.storage.base",
+                    "org.apache.sis.portrayal.map")
+}
+
 /*
  * Discover and execute JUnit-based tests.
  */
 tasks.test {
     val args = mutableListOf("-enableassertions")
+    addExportForTests(args)
     setAllJvmArgs(args)
     testLogging {
         events("FAILED", "STANDARD_OUT", "STANDARD_ERROR")
@@ -140,6 +172,18 @@ publishing {
                 description = "Read and write files in the Shapefile format."
             }
         }
+        create<MavenPublication>("portrayal.map") {
+            var module = "org.apache.sis.portrayal.map"
+            groupId    = "org.apache.sis.core"
+            artifactId = "sis-portrayal-map"
+            artifact(layout.buildDirectory.file("libs/${module}.jar"))
+            artifact(layout.buildDirectory.file("docs/${module}-sources.jar")) 
{classifier = "sources"}
+            artifact(layout.buildDirectory.file("docs/${module}-javadoc.jar")) 
{classifier = "javadoc"}
+            pom {
+                name        = "Apache SIS portrayal"
+                description = "Symbology and map representations, together 
with a rendering engine for display."
+            }
+        }
         create<MavenPublication>("webapp") {
             var module = "org.apache.sis.webapp"
             groupId    = "org.apache.sis.application"
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/Style.java 
b/incubator/src/org.apache.sis.portrayal.map/main/module-info.java
similarity index 77%
copy from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/Style.java
copy to incubator/src/org.apache.sis.portrayal.map/main/module-info.java
index 1d52688241..8254cbf98d 100644
--- a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/Style.java
+++ b/incubator/src/org.apache.sis.portrayal.map/main/module-info.java
@@ -14,14 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sis.style;
-
 
 /**
- * Place-holder for future definition of a style API.
- * See package description for more information.
+ * Raster imagery and geometry features.
  *
- * @author  Martin Desruisseaux (Geomatys)
+ * @author  Johann Sorel (Geomatys)
  */
-public interface Style {
+module org.apache.sis.portrayal.map {
+    requires transitive org.apache.sis.portrayal;
+    requires static org.locationtech.jts;
+
+    exports org.apache.sis.map;
 }
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/ExceptionPresentation.java
 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/ExceptionPresentation.java
similarity index 95%
rename from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/ExceptionPresentation.java
rename to 
incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/ExceptionPresentation.java
index 9a9f335033..65fbc3ee36 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/ExceptionPresentation.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/ExceptionPresentation.java
@@ -16,9 +16,7 @@
  */
 package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import org.opengis.feature.Feature;
-import org.apache.sis.portrayal.MapLayer;
 import org.apache.sis.storage.Resource;
 import org.apache.sis.util.ArgumentChecks;
 
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/ListChangeEvent.java
 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/ListChangeEvent.java
similarity index 98%
rename from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/ListChangeEvent.java
rename to 
incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/ListChangeEvent.java
index 35b5421d24..41a555430a 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/ListChangeEvent.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/ListChangeEvent.java
@@ -16,7 +16,6 @@
  */
 package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import java.util.List;
 import java.beans.PropertyChangeEvent;
 import org.apache.sis.measure.NumberRange;
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/MapItem.java
 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/MapItem.java
similarity index 98%
rename from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/MapItem.java
rename to 
incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/MapItem.java
index 226302c580..2ba0cd4558 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/MapItem.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/MapItem.java
@@ -14,9 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sis.portrayal;
+package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import java.beans.PropertyChangeListener;
 import java.util.HashMap;
 import java.util.Map;
@@ -25,6 +24,7 @@ import java.util.Optional;
 import org.opengis.geometry.Envelope;
 import org.opengis.util.InternationalString;
 import org.apache.sis.storage.DataStoreException;
+import org.apache.sis.portrayal.Observable;
 
 
 /**
@@ -49,8 +49,6 @@ import org.apache.sis.storage.DataStoreException;
  *       of layers and not a tree of arbitrary objects.
  *
  * @author  Johann Sorel (Geomatys)
- * @version 1.2
- * @since   1.2
  */
 public abstract class MapItem extends Observable {
     /**
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/MapLayer.java
 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/MapLayer.java
similarity index 99%
rename from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/MapLayer.java
rename to 
incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/MapLayer.java
index 03538beba7..c99f33ce52 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/MapLayer.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/MapLayer.java
@@ -14,9 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sis.portrayal;
+package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import java.util.Objects;
 import java.util.Optional;
 import org.opengis.coverage.Coverage;
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/MapLayers.java
 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/MapLayers.java
similarity index 97%
rename from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/MapLayers.java
rename to 
incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/MapLayers.java
index 86939570d3..0a6fe87b2f 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/MapLayers.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/MapLayers.java
@@ -14,9 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sis.portrayal;
+package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -26,8 +25,6 @@ import org.opengis.referencing.crs.CoordinateReferenceSystem;
 import org.opengis.referencing.operation.TransformException;
 import org.apache.sis.geometry.Envelopes;
 import org.apache.sis.geometry.ImmutableEnvelope;
-import org.apache.sis.map.ListChangeEvent;
-import org.apache.sis.map.NotifiedList;
 import org.apache.sis.measure.NumberRange;
 import org.apache.sis.storage.DataSet;
 import org.apache.sis.storage.DataStoreException;
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/NotifiedList.java
 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/NotifiedList.java
similarity index 97%
rename from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/NotifiedList.java
rename to 
incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/NotifiedList.java
index d35371cb17..e6ff28f1dd 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/NotifiedList.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/NotifiedList.java
@@ -16,7 +16,6 @@
  */
 package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import java.util.AbstractList;
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
@@ -32,6 +31,9 @@ public abstract class NotifiedList<T> extends AbstractList<T> 
{
 
     private final CopyOnWriteArrayList<T> parent = new 
CopyOnWriteArrayList<>();
 
+    public NotifiedList() {
+    }
+
     @Override
     public T get(int index) {
         return parent.get(index);
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/Presentation.java
 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/Presentation.java
similarity index 98%
rename from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/Presentation.java
rename to 
incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/Presentation.java
index 0cc1ba9a76..9b544aec0f 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/Presentation.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/Presentation.java
@@ -16,11 +16,9 @@
  */
 package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import java.util.Objects;
 import org.opengis.feature.Feature;
 import org.apache.sis.coverage.grid.GridCoverage;
-import org.apache.sis.portrayal.MapLayer;
 import org.apache.sis.storage.DataStore;
 import org.apache.sis.storage.Resource;
 
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/PropertyNameCollector.java
 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/PropertyNameCollector.java
similarity index 96%
rename from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/PropertyNameCollector.java
rename to 
incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/PropertyNameCollector.java
index 58f7d4d582..faa7813780 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/PropertyNameCollector.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/PropertyNameCollector.java
@@ -16,7 +16,6 @@
  */
 package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import java.util.Set;
 import java.util.HashSet;
 import org.opengis.filter.ValueReference;
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/ResourceSymbolizer.java
 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/ResourceSymbolizer.java
similarity index 96%
rename from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/ResourceSymbolizer.java
rename to 
incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/ResourceSymbolizer.java
index 5716fe7f05..62a3453b10 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/ResourceSymbolizer.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/ResourceSymbolizer.java
@@ -16,7 +16,6 @@
  */
 package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import org.apache.sis.style.se1.StyleFactory;
 import org.apache.sis.style.se1.Symbolizer;
 
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/SEPortrayer.java
 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/SEPortrayer.java
similarity index 99%
rename from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/SEPortrayer.java
rename to 
incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/SEPortrayer.java
index e7269753b5..47efb5ab89 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/SEPortrayer.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/SEPortrayer.java
@@ -16,7 +16,6 @@
  */
 package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import java.awt.geom.AffineTransform;
 import java.awt.geom.NoninvertibleTransformException;
 import java.util.ArrayList;
@@ -68,9 +67,6 @@ import org.apache.sis.storage.FeatureSet;
 import org.apache.sis.storage.GridCoverageResource;
 import org.apache.sis.storage.Query;
 import org.apache.sis.storage.Resource;
-import org.apache.sis.portrayal.MapItem;
-import org.apache.sis.portrayal.MapLayer;
-import org.apache.sis.portrayal.MapLayers;
 import org.apache.sis.referencing.CRS;
 import org.apache.sis.referencing.operation.matrix.AffineTransforms2D;
 import org.apache.sis.util.ArgumentChecks;
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/SEPresentation.java
 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/SEPresentation.java
similarity index 96%
rename from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/SEPresentation.java
rename to 
incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/SEPresentation.java
index ee06d722f9..f7fe12cea1 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/SEPresentation.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/SEPresentation.java
@@ -16,10 +16,8 @@
  */
 package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import java.util.Objects;
 import org.opengis.feature.Feature;
-import org.apache.sis.portrayal.MapLayer;
 import org.apache.sis.storage.Resource;
 import org.apache.sis.style.se1.Symbolizer;
 
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/SymbologyVisitor.java
 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/SymbologyVisitor.java
similarity index 99%
rename from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/SymbologyVisitor.java
rename to 
incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/SymbologyVisitor.java
index d309298cae..43bf328fcd 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/SymbologyVisitor.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/SymbologyVisitor.java
@@ -16,7 +16,6 @@
  */
 package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import org.opengis.filter.LogicalOperator;
 import org.opengis.filter.Filter;
 import org.opengis.filter.Expression;
diff --git 
a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/package-info.java
 
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/package-info.java
similarity index 100%
rename from 
endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/package-info.java
rename to 
incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/package-info.java
diff --git 
a/endorsed/src/org.apache.sis.portrayal/test/org/apache/sis/portrayal/MapLayersTest.java
 
b/incubator/src/org.apache.sis.portrayal.map/test/org/apache/sis/map/MapLayersTest.java
similarity index 94%
rename from 
endorsed/src/org.apache.sis.portrayal/test/org/apache/sis/portrayal/MapLayersTest.java
rename to 
incubator/src/org.apache.sis.portrayal.map/test/org/apache/sis/map/MapLayersTest.java
index 31fd8b23ae..6b3cc32db9 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/test/org/apache/sis/portrayal/MapLayersTest.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/test/org/apache/sis/map/MapLayersTest.java
@@ -14,24 +14,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sis.portrayal;
+package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.sis.map.ListChangeEvent;
 import org.apache.sis.measure.NumberRange;
 import org.junit.Test;
 import static org.junit.Assert.*;
-import org.apache.sis.test.TestCase;
 
 
 /**
  *
  * @author  Johann Sorel (Geomatys)
  */
-public final class MapLayersTest extends TestCase {
+public final class MapLayersTest {
     /**
      * Creates a new test case.
      */
diff --git 
a/endorsed/src/org.apache.sis.portrayal/test/org/apache/sis/map/SEPortrayerTest.java
 
b/incubator/src/org.apache.sis.portrayal.map/test/org/apache/sis/map/SEPortrayerTest.java
similarity index 99%
rename from 
endorsed/src/org.apache.sis.portrayal/test/org/apache/sis/map/SEPortrayerTest.java
rename to 
incubator/src/org.apache.sis.portrayal.map/test/org/apache/sis/map/SEPortrayerTest.java
index a0156aac81..e6c4162d3d 100644
--- 
a/endorsed/src/org.apache.sis.portrayal/test/org/apache/sis/map/SEPortrayerTest.java
+++ 
b/incubator/src/org.apache.sis.portrayal.map/test/org/apache/sis/map/SEPortrayerTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.sis.map;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
@@ -59,9 +58,6 @@ import org.apache.sis.style.se1.Symbology;
 import org.apache.sis.style.se1.StyleFactory;
 import org.apache.sis.style.se1.Symbolizer;
 import org.apache.sis.style.se1.SemanticType;
-import org.apache.sis.portrayal.MapItem;
-import org.apache.sis.portrayal.MapLayer;
-import org.apache.sis.portrayal.MapLayers;
 import org.apache.sis.referencing.CRS;
 import org.apache.sis.referencing.CommonCRS;
 import org.apache.sis.storage.event.StoreEvent;
@@ -69,14 +65,13 @@ import org.apache.sis.storage.event.StoreListener;
 import org.apache.sis.util.iso.Names;
 import org.junit.Test;
 import static org.junit.Assert.*;
-import org.apache.sis.test.TestCase;
 
 
 /**
  *
  * @author Johann Sorel (Geomatys)
  */
-public class SEPortrayerTest extends TestCase {
+public class SEPortrayerTest {
     /**
      * The factory to use for creating style elements.
      */
diff --git a/netbeans-project/nbproject/project.properties 
b/netbeans-project/nbproject/project.properties
index e918ad9a83..f2cfb2aa40 100644
--- a/netbeans-project/nbproject/project.properties
+++ b/netbeans-project/nbproject/project.properties
@@ -111,8 +111,8 @@ test.options = --add-modules jama,GeographicLib.Java,\
                --add-exports 
org.apache.sis.metadata/org.apache.sis.xml.bind.gcx=org.apache.sis.referencing \
                --add-exports 
org.apache.sis.metadata/org.apache.sis.metadata.internal=org.apache.sis.referencing.gazetteer
 \
                --add-exports 
org.apache.sis.feature/org.apache.sis.feature.internal=org.apache.sis.storage.sql
 \
-               --add-exports 
org.apache.sis.feature/org.apache.sis.geometry.wrapper.jts=org.apache.sis.storage.sql,org.apache.sis.portrayal
 \
-               --add-exports 
org.apache.sis.storage/org.apache.sis.storage.base=org.apache.sis.portrayal \
+               --add-exports 
org.apache.sis.feature/org.apache.sis.geometry.wrapper.jts=org.apache.sis.storage.sql,org.apache.sis.portrayal.map
 \
+               --add-exports 
org.apache.sis.storage/org.apache.sis.storage.base=org.apache.sis.portrayal.map 
\
                --add-exports 
org.apache.sis.storage/org.apache.sis.storage.test=${modules.list}
 
 #

Reply via email to