diff --git a/deegree-client/deegree-jsf-core/src/main/java/org/deegree/client/core/JsfCoreModuleInfoProvider.java b/deegree-client/deegree-jsf-core/src/main/java/org/deegree/client/core/JsfCoreModuleInfoProvider.java
new file mode 100644
index 0000000000..f95cefeab1
--- /dev/null
+++ b/deegree-client/deegree-jsf-core/src/main/java/org/deegree/client/core/JsfCoreModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.client.core;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class JsfCoreModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-client/deegree-jsf-core/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-client/deegree-jsf-core/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..5fee259972
--- /dev/null
+++ b/deegree-client/deegree-jsf-core/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.client.core.JsfCoreModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-client/deegree-wps-webclient/src/main/java/org/deegree/wpsclient/WpsWebclientModuleInfoProvider.java b/deegree-client/deegree-wps-webclient/src/main/java/org/deegree/wpsclient/WpsWebclientModuleInfoProvider.java
new file mode 100644
index 0000000000..232010d595
--- /dev/null
+++ b/deegree-client/deegree-wps-webclient/src/main/java/org/deegree/wpsclient/WpsWebclientModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.wpsclient;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class WpsWebclientModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-client/deegree-wps-webclient/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-client/deegree-wps-webclient/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..f3fa045c5c
--- /dev/null
+++ b/deegree-client/deegree-wps-webclient/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.wpsclient.WpsWebclientModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-client/deegree-wpsprinter-webclient/src/main/java/org/deegree/client/wpsprinter/WpsprinterWebclientModuleInfoProvider.java b/deegree-client/deegree-wpsprinter-webclient/src/main/java/org/deegree/client/wpsprinter/WpsprinterWebclientModuleInfoProvider.java
new file mode 100644
index 0000000000..893556f657
--- /dev/null
+++ b/deegree-client/deegree-wpsprinter-webclient/src/main/java/org/deegree/client/wpsprinter/WpsprinterWebclientModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.client.wpsprinter;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class WpsprinterWebclientModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-client/deegree-wpsprinter-webclient/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-client/deegree-wpsprinter-webclient/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..404c72e953
--- /dev/null
+++ b/deegree-client/deegree-wpsprinter-webclient/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.client.wpsprinter.WpsprinterWebclientModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-connectionprovider-datasource/src/main/java/org/deegree/db/datasource/ConnectionsproviderDatasourceModuleInfoProvider.java b/deegree-core/deegree-connectionprovider-datasource/src/main/java/org/deegree/db/datasource/ConnectionsproviderDatasourceModuleInfoProvider.java
new file mode 100644
index 0000000000..869bcbdae1
--- /dev/null
+++ b/deegree-core/deegree-connectionprovider-datasource/src/main/java/org/deegree/db/datasource/ConnectionsproviderDatasourceModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.db.datasource;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ConnectionsproviderDatasourceModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-connectionprovider-datasource/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-connectionprovider-datasource/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..cd03aafa6b
--- /dev/null
+++ b/deegree-core/deegree-connectionprovider-datasource/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.db.datasource.ConnectionsproviderDatasourceModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-3d/src/main/java/org/deegree/rendering/r3d/CoreR3DModuleInfoProvider.java b/deegree-core/deegree-core-3d/src/main/java/org/deegree/rendering/r3d/CoreR3DModuleInfoProvider.java
new file mode 100644
index 0000000000..3f8cff8d29
--- /dev/null
+++ b/deegree-core/deegree-core-3d/src/main/java/org/deegree/rendering/r3d/CoreR3DModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.rendering.r3d;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreR3DModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-3d/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-3d/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..0aac9870df
--- /dev/null
+++ b/deegree-core/deegree-core-3d/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.rendering.r3d.CoreR3DModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-annotations/pom.xml b/deegree-core/deegree-core-annotations/pom.xml
index 2b37451cdc..bc5a17d307 100644
--- a/deegree-core/deegree-core-annotations/pom.xml
+++ b/deegree-core/deegree-core-annotations/pom.xml
@@ -30,5 +30,14 @@
+
+
+ org.deegree
+ deegree-core-moduleinfo
+ ${project.version}
+ provided
+
+
+
diff --git a/deegree-core/deegree-core-annotations/src/main/java/org/deegree/commons/annotations/AnnotationsModuleInfoProvider.java b/deegree-core/deegree-core-annotations/src/main/java/org/deegree/commons/annotations/AnnotationsModuleInfoProvider.java
new file mode 100644
index 0000000000..938e589e15
--- /dev/null
+++ b/deegree-core/deegree-core-annotations/src/main/java/org/deegree/commons/annotations/AnnotationsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.commons.annotations;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class AnnotationsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-annotations/src/main/java/org/deegree/commons/annotations/Tool.java b/deegree-core/deegree-core-annotations/src/main/java/org/deegree/commons/annotations/Tool.java
index 35fbc4031d..72b3dc008c 100644
--- a/deegree-core/deegree-core-annotations/src/main/java/org/deegree/commons/annotations/Tool.java
+++ b/deegree-core/deegree-core-annotations/src/main/java/org/deegree/commons/annotations/Tool.java
@@ -45,17 +45,15 @@
/**
* The Tool
annotation can be used to define a class with a main method as a
- * tool. Such a tool should supply a short description (as well as a main method of
- * course).
+ * tool. Such a tool must provide a non-args constructor, has to implement
+ * {@link org.deegree.commons.utils.ToolboxRegistration} and should supply a short
+ * description (as well as a main method of course).
*
* @author Rutger Bezema
- * @deprecated This annotation is deprecated as of version 3.4 of deegree.
- *
*/
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target(ElementType.TYPE)
-@Deprecated
public @interface Tool {
/**
diff --git a/deegree-core/deegree-core-annotations/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-annotations/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..72a75455e2
--- /dev/null
+++ b/deegree-core/deegree-core-annotations/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.commons.annotations.AnnotationsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-base/src/main/java/org/deegree/base/BaseModuleInfoProvider.java b/deegree-core/deegree-core-base/src/main/java/org/deegree/base/BaseModuleInfoProvider.java
new file mode 100644
index 0000000000..4666c8e4ca
--- /dev/null
+++ b/deegree-core/deegree-core-base/src/main/java/org/deegree/base/BaseModuleInfoProvider.java
@@ -0,0 +1,7 @@
+package org.deegree.base;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class BaseModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-base/src/main/java/org/deegree/base/CoreBaseModuleInfoProvider.java b/deegree-core/deegree-core-base/src/main/java/org/deegree/base/CoreBaseModuleInfoProvider.java
new file mode 100644
index 0000000000..c5b65f1e3f
--- /dev/null
+++ b/deegree-core/deegree-core-base/src/main/java/org/deegree/base/CoreBaseModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.base;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreBaseModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-base/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-base/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..6c2d5dd308
--- /dev/null
+++ b/deegree-core/deegree-core-base/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.base.CoreBaseModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-commons/pom.xml b/deegree-core/deegree-core-commons/pom.xml
index 35ce292324..5ecd3a9122 100644
--- a/deegree-core/deegree-core-commons/pom.xml
+++ b/deegree-core/deegree-core-commons/pom.xml
@@ -25,6 +25,11 @@
+
+ org.deegree
+ deegree-core-moduleinfo
+ ${project.version}
+
jakarta.xml.bind
jakarta.xml.bind-api
@@ -99,10 +104,6 @@
commons-cli
commons-cli
-
- org.reflections
- reflections
-
com.google.code.gson
gson
diff --git a/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/CoreCommonsModuleInfoProvider.java b/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/CoreCommonsModuleInfoProvider.java
new file mode 100644
index 0000000000..82d699e814
--- /dev/null
+++ b/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/CoreCommonsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.commons;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreCommonsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/config/DeegreeWorkspace.java b/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/config/DeegreeWorkspace.java
index 3b4af47b3f..a3e936efef 100644
--- a/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/config/DeegreeWorkspace.java
+++ b/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/config/DeegreeWorkspace.java
@@ -42,24 +42,20 @@
import java.io.File;
import java.io.IOException;
import java.net.URL;
-import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.ServiceConfigurationError;
import java.util.ServiceLoader;
-import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-
import javax.imageio.ImageIO;
-
-import org.deegree.workspace.standard.ModuleInfo;
+import org.deegree.moduleinfo.ModuleInfo;
import org.deegree.workspace.Workspace;
import org.deegree.workspace.standard.DefaultWorkspace;
import org.slf4j.Logger;
@@ -114,18 +110,11 @@ public List getResourceManagers() {
/**
* Returns the {@link ModuleInfo} for all deegree modules in the workspace.
- * @return
+ * @return list of modules or empty list
* @throws IOException
*/
public Collection getModulesInfo() throws IOException {
- if (!(workspace.getModuleClassLoader() instanceof URLClassLoader)) {
- return null;
- }
- Set urls = new HashSet();
- for (URL url : ((URLClassLoader) workspace.getModuleClassLoader()).getURLs()) {
- urls.add(url);
- }
- return ModuleInfo.extractModulesInfo(urls);
+ return workspace != null ? workspace.getModulesInfo() : Collections.emptyList();
}
/**
diff --git a/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/tools/ToolBox.java b/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/tools/ToolBox.java
index 1bbc3b21ed..3ce53d4a37 100644
--- a/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/tools/ToolBox.java
+++ b/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/tools/ToolBox.java
@@ -46,11 +46,13 @@
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
+import java.util.Objects;
+import java.util.ServiceLoader;
import java.util.Set;
-
+import java.util.stream.Collectors;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.utils.DeegreeAALogoUtils;
-import org.reflections.Reflections;
+import org.deegree.commons.utils.ToolboxRegistration;
/**
* Allows for convenient starting and listing of available deegree command line tools.
@@ -183,8 +185,12 @@ private ToolInfo findTool(String toolName) {
*/
public static void main(String[] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException,
IllegalAccessException, InvocationTargetException {
- Reflections reflections = new Reflections("org.deegree");
- Set> tools = reflections.getTypesAnnotatedWith(Tool.class);
+
+ Set> tools = ServiceLoader.load(ToolboxRegistration.class) //
+ .stream()
+ .map(ServiceLoader.Provider::type)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toSet());
ToolBox toolbox = new ToolBox(tools);
diff --git a/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/utils/ToolboxRegistration.java b/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/utils/ToolboxRegistration.java
new file mode 100644
index 0000000000..7557662ab4
--- /dev/null
+++ b/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/utils/ToolboxRegistration.java
@@ -0,0 +1,33 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.commons.utils;
+
+public interface ToolboxRegistration {
+
+}
diff --git a/deegree-core/deegree-core-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..17660f5d01
--- /dev/null
+++ b/deegree-core/deegree-core-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.commons.CoreCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-coverage/src/main/java/org/deegree/coverage/CoreCoverageModuleInfoProvider.java b/deegree-core/deegree-core-coverage/src/main/java/org/deegree/coverage/CoreCoverageModuleInfoProvider.java
new file mode 100644
index 0000000000..fb316ec86f
--- /dev/null
+++ b/deegree-core/deegree-core-coverage/src/main/java/org/deegree/coverage/CoreCoverageModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.coverage;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreCoverageModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-coverage/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-coverage/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..b1abcc185d
--- /dev/null
+++ b/deegree-core/deegree-core-coverage/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.coverage.CoreCoverageModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-cs/src/main/java/org/deegree/cs/CoreCSModuleInfoProvider.java b/deegree-core/deegree-core-cs/src/main/java/org/deegree/cs/CoreCSModuleInfoProvider.java
new file mode 100644
index 0000000000..b91fa31655
--- /dev/null
+++ b/deegree-core/deegree-core-cs/src/main/java/org/deegree/cs/CoreCSModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.cs;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreCSModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-cs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-cs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..6090a49cd5
--- /dev/null
+++ b/deegree-core/deegree-core-cs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.cs.CoreCSModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-db/src/main/java/org/deegree/db/CoreDBModuleInfoProvider.java b/deegree-core/deegree-core-db/src/main/java/org/deegree/db/CoreDBModuleInfoProvider.java
new file mode 100644
index 0000000000..30a389396e
--- /dev/null
+++ b/deegree-core/deegree-core-db/src/main/java/org/deegree/db/CoreDBModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.db;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreDBModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-db/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-db/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..cf2d791ba8
--- /dev/null
+++ b/deegree-core/deegree-core-db/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.db.CoreDBModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-featureinfo/src/main/java/org/deegree/featureinfo/CoreFeatureinfoModuleInfoProvider.java b/deegree-core/deegree-core-featureinfo/src/main/java/org/deegree/featureinfo/CoreFeatureinfoModuleInfoProvider.java
new file mode 100644
index 0000000000..97be9d4005
--- /dev/null
+++ b/deegree-core/deegree-core-featureinfo/src/main/java/org/deegree/featureinfo/CoreFeatureinfoModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.featureinfo;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreFeatureinfoModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-featureinfo/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-featureinfo/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..f4f6ee2f43
--- /dev/null
+++ b/deegree-core/deegree-core-featureinfo/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.featureinfo.CoreFeatureinfoModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-filterfunctions/src/main/java/org/deegree/filter/function/FilterFunctionsModuleInfoProvider.java b/deegree-core/deegree-core-filterfunctions/src/main/java/org/deegree/filter/function/FilterFunctionsModuleInfoProvider.java
new file mode 100644
index 0000000000..560a973329
--- /dev/null
+++ b/deegree-core/deegree-core-filterfunctions/src/main/java/org/deegree/filter/function/FilterFunctionsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.filter.function;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class FilterFunctionsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-filterfunctions/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-filterfunctions/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..eff6ab2548
--- /dev/null
+++ b/deegree-core/deegree-core-filterfunctions/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.filter.function.FilterFunctionsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-gdal/src/main/java/org/deegree/commons/gdal/CoreGdalModuleInfoProvider.java b/deegree-core/deegree-core-gdal/src/main/java/org/deegree/commons/gdal/CoreGdalModuleInfoProvider.java
new file mode 100644
index 0000000000..5d02e17ce2
--- /dev/null
+++ b/deegree-core/deegree-core-gdal/src/main/java/org/deegree/commons/gdal/CoreGdalModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.commons.gdal;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreGdalModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-gdal/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-gdal/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..b5ada1e997
--- /dev/null
+++ b/deegree-core/deegree-core-gdal/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.commons.gdal.CoreGdalModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-geometry/src/main/java/org/deegree/geometry/CoreGeometryModuleInfoProvider.java b/deegree-core/deegree-core-geometry/src/main/java/org/deegree/geometry/CoreGeometryModuleInfoProvider.java
new file mode 100644
index 0000000000..c1b9511cb9
--- /dev/null
+++ b/deegree-core/deegree-core-geometry/src/main/java/org/deegree/geometry/CoreGeometryModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.geometry;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreGeometryModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-geometry/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-geometry/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..b8a0609d3e
--- /dev/null
+++ b/deegree-core/deegree-core-geometry/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.geometry.CoreGeometryModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-layer/src/main/java/org/deegree/layer/CoreLayerModuleInfoProvider.java b/deegree-core/deegree-core-layer/src/main/java/org/deegree/layer/CoreLayerModuleInfoProvider.java
new file mode 100644
index 0000000000..616f8208dc
--- /dev/null
+++ b/deegree-core/deegree-core-layer/src/main/java/org/deegree/layer/CoreLayerModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.layer;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreLayerModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-layer/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-layer/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..00150395f5
--- /dev/null
+++ b/deegree-core/deegree-core-layer/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.layer.CoreLayerModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-metadata/src/main/java/org/deegree/metadata/CoreMetadataModuleInfoProvider.java b/deegree-core/deegree-core-metadata/src/main/java/org/deegree/metadata/CoreMetadataModuleInfoProvider.java
new file mode 100644
index 0000000000..ad32940858
--- /dev/null
+++ b/deegree-core/deegree-core-metadata/src/main/java/org/deegree/metadata/CoreMetadataModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.metadata;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreMetadataModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-metadata/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-metadata/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..966b219a98
--- /dev/null
+++ b/deegree-core/deegree-core-metadata/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.metadata.CoreMetadataModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-moduleinfo/pom.xml b/deegree-core/deegree-core-moduleinfo/pom.xml
new file mode 100644
index 0000000000..01ff248fd1
--- /dev/null
+++ b/deegree-core/deegree-core-moduleinfo/pom.xml
@@ -0,0 +1,26 @@
+
+ 4.0.0
+ deegree-core-moduleinfo
+ deegree-core-moduleinfo
+ jar
+ Module information classes
+
+
+ ok
+
+
+
+ org.deegree
+ deegree-core
+ 3.6.0-SNAPSHOT
+
+
+
+
+ org.slf4j
+ slf4j-api
+
+
+
+
diff --git a/deegree-core/deegree-core-workspace/src/main/java/org/deegree/workspace/standard/ModuleInfo.java b/deegree-core/deegree-core-moduleinfo/src/main/java/org/deegree/moduleinfo/ModuleInfo.java
similarity index 55%
rename from deegree-core/deegree-core-workspace/src/main/java/org/deegree/workspace/standard/ModuleInfo.java
rename to deegree-core/deegree-core-moduleinfo/src/main/java/org/deegree/moduleinfo/ModuleInfo.java
index 58a3a5b4f0..f3810133a5 100644
--- a/deegree-core/deegree-core-workspace/src/main/java/org/deegree/workspace/standard/ModuleInfo.java
+++ b/deegree-core/deegree-core-moduleinfo/src/main/java/org/deegree/moduleinfo/ModuleInfo.java
@@ -32,31 +32,24 @@
e-mail: info@deegree.org
----------------------------------------------------------------------------*/
-package org.deegree.workspace.standard;
-
-import static org.apache.commons.io.IOUtils.closeQuietly;
+package org.deegree.moduleinfo;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLClassLoader;
-import java.util.Collection;
+import java.util.List;
+import java.util.Objects;
import java.util.Properties;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import java.util.regex.Pattern;
-
-import org.reflections.Reflections;
-import org.reflections.scanners.ResourcesScanner;
-import org.reflections.util.ConfigurationBuilder;
+import java.util.ServiceLoader;
+import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Provides access to deegree module metadata (e.g. Maven artifact identifier and build
- * information). The information is extracted from META-INF/MANIFEST.MF
on
- * the classpath:
+ * information). The information is obtained through {@link Package} or extracted from
+ * META-INF/MANIFEST.MF
on the classpath.
*
* @author Rutger Bezema
* @author Markus Schneider
@@ -65,6 +58,8 @@
*/
public final class ModuleInfo implements Comparable {
+ private static final String META_INF_MANIFEST = "/META-INF/MANIFEST.MF";
+
private static final Logger LOG = LoggerFactory.getLogger(ModuleInfo.class);
private final String artifactId;
@@ -97,72 +92,6 @@ public String getVersion() {
return version;
}
- /**
- * Returns the {@link ModuleInfo}s for the deegree modules on the given classpathes.
- * @param classpathURLs classpath urls, must not be null
- * @return module infos, never null
, but can be empty (if no deegree
- * module information is present on the given classpathes)
- */
- public static Collection extractModulesInfo(Collection classpathURLs) {
- SortedSet modules = new TreeSet();
- for (URL classpathURL : classpathURLs) {
- if (classpathURL.getFile().toLowerCase().endsWith(".zip")) {
- continue;
- }
- try {
- ModuleInfo moduleInfo = extractModuleInfo(classpathURL);
- if (moduleInfo != null) {
- modules.add(moduleInfo);
- }
- }
- catch (Throwable e) {
- LOG.warn("Could not extract module info from {}.", classpathURL);
- }
- }
- return modules;
- }
-
- /**
- * Returns the {@link ModuleInfo} for the deegree module on the given classpath.
- * @param classpathURL classpath url, must not be null
- * @return module info or null
(if the module does not have file
- * META-INF/MANIFEST.MF)
- * @throws IOException if accessing META-INF/MANIFEST.MF
fails
- */
- public static ModuleInfo extractModuleInfo(URL classpathURL) throws IOException {
- ConfigurationBuilder builder = new ConfigurationBuilder();
- builder = builder.setUrls(classpathURL);
- builder = builder.setScanners(new ResourcesScanner());
- Reflections r = new Reflections(builder);
-
- Set resources = r.getResources(Pattern.compile("(MANIFEST\\.MF)"));
- if (!resources.isEmpty()) {
- URLClassLoader classLoader = new URLClassLoader(new URL[] { classpathURL }, null);
- String resourcePath = resources.iterator().next();
- InputStream buildInfoStream = null;
- try {
- Properties props = new Properties();
- buildInfoStream = classLoader.getResourceAsStream(resourcePath);
- props.load(buildInfoStream);
- String buildArtifactId = props.getProperty("deegree-build-artifactId",
- props.getProperty("build.artifactId"));
- if (buildArtifactId == null) {
- // skipping because this jar is not from deegree
- return null;
- }
- String buildBy = props.getProperty("deegree-build-by", props.getProperty("build.by"));
- String buildDate = props.getProperty("deegree-build-date", props.getProperty("build.date"));
- String buildRev = props.getProperty("deegree-build-rev", props.getProperty("build.svnrev"));
- String version = retrieveVersion(props, r, classLoader, buildArtifactId, classpathURL);
- return new ModuleInfo(buildArtifactId, version, buildRev, buildDate, buildBy);
- }
- finally {
- closeQuietly(buildInfoStream);
- }
- }
- return null;
- }
-
@Override
public int compareTo(ModuleInfo that) {
return toString().compareTo(that.toString());
@@ -194,32 +123,120 @@ public String toString() {
return sb.toString();
}
- private static String retrieveVersion(Properties props, Reflections r, URLClassLoader classLoader,
- String buildArtifactId, URL classpathURL) throws IOException {
- String version = props.getProperty("Implementation-Version");
- if (version != null) {
- return version;
- }
- Set resources = r.getResources(Pattern.compile("pom\\.properties"));
- InputStream pomInputStream = null;
- if (!resources.isEmpty()) {
- String resourcePath = resources.iterator().next();
- try {
- props = new Properties();
- pomInputStream = classLoader.findResource(resourcePath).openStream();
- props.load(pomInputStream);
- String pomArtifactId = props.getProperty("artifactId");
- if (!pomArtifactId.equals(buildArtifactId)) {
- LOG.warn(
- "ArtifactId mismatch for module on path: {} (MANIFEST.MF/buildinfo.properties vs. pom.properties).",
- classpathURL);
+ /**
+ * Load module info from all modules implementing {@link ModuleInfoProvider}
+ * @return list of module info
+ */
+ public static List load() {
+ return ServiceLoader.load(ModuleInfoProvider.class) //
+ .stream()
+ .filter(Objects::nonNull)
+ .map(provider -> {
+ try {
+ return extractModuleInfo(provider.type());
+ }
+ catch (IOException ioe) {
+ LOG.debug("Failed to extract module information for class '{}': {}", //
+ provider.type().getName(), ioe.getMessage());
+ LOG.trace("Exception", ioe);
+ return null;
}
- return props.getProperty("version");
+ })
+ .filter(Objects::nonNull)
+ .collect(Collectors.toList());
+ }
+
+ /**
+ * Returns the {@link ModuleInfo} for the deegree module on the given classpath.
+ * @param classpathURL classpath url, must not be null
+ * @return module info or null
(if the module does not have file
+ * META-INF/MANIFEST.MF)
+ * @throws IOException if accessing META-INF/MANIFEST.MF
fails
+ */
+ public static ModuleInfo extractModuleInfo(URL classpathURL) throws IOException {
+ return extractModuleInfo(new URLClassLoader(new URL[] { classpathURL }));
+ }
+
+ /**
+ * Returns the {@link ModuleInfo} for the deegree module of the specified class.
+ *
+ * Note: metadata of jars build for deegree 3.5 an earlier are incompatible as they
+ * relied on reflection which deegree 3.6 and newer omits whenever feasible.
+ *
+ * @since 3.6
+ * @param clazz Class reference, must not be null
+ * @return module info or null
(if the module does not have metadata)
+ */
+ public static ModuleInfo extractModuleInfo(Class> clazz) throws IOException {
+ Package pkg = clazz.getPackage();
+ if (pkg == null) {
+ return null;
+ }
+ String version = pkg.getImplementationVersion();
+ String vendor = pkg.getImplementationVendor();
+ return extractModuleInfo(version, vendor);
+ }
+
+ /**
+ * Extract module information from manifest vendor and version
+ */
+ public static ModuleInfo extractModuleInfo(String version, String vendor) {
+
+ if (version != null && vendor != null && vendor.contains(":")) {
+ // Format: groupId:artifactId:buildNumber:buildTimestamp user.name
+ String[] fragments = vendor.split(":", 4);
+ if (fragments.length != 4 || fragments[0] == null || fragments[1] == null || fragments[2] == null
+ || fragments[3] == null) {
+ return null;
}
- finally {
- closeQuietly(pomInputStream);
+ // String buildGroupId = fragments[0];
+ String buildArtifactId = fragments[1];
+ String buildRev = fragments[2];
+ int posSpace = fragments[3].indexOf(' ');
+ if (posSpace == -1) {
+ return null;
+ }
+ String buildDate = fragments[3].substring(0, posSpace);
+ String buildBy = fragments[3].substring(posSpace + 1);
+ return new ModuleInfo(buildArtifactId, version, buildRev, buildDate, buildBy);
+ }
+ return null;
+ }
+
+ /**
+ * Returns the {@link ModuleInfo} for the deegree module on the given classpath.
+ * @param classLoader classpath, must not be null
+ * @return module info or null
(if the module does not have file
+ * META-INF/MANIFEST.MF)
+ * @throws IOException if accessing META-INF/MANIFEST.MF
fails
+ */
+ private static ModuleInfo extractModuleInfo(ClassLoader classLoader) throws IOException {
+ URL classpathURL = classLoader.getResource(META_INF_MANIFEST);
+ if (classpathURL != null) {
+ try (InputStream buildInfoStream = classLoader.getResourceAsStream(META_INF_MANIFEST)) {
+ Properties props = new Properties();
+ props.load(buildInfoStream);
+ String version = props.getProperty("Implementation-Version");
+ String vendor = props.getProperty("Implementation-Vendor");
+
+ if (version != null && vendor != null) {
+ return extractModuleInfo(version, vendor);
+ }
+
+ // use < 3.6 notation
+ String buildArtifactId = props.getProperty("deegree-build-artifactId",
+ props.getProperty("build.artifactId"));
+ if (buildArtifactId == null) {
+ // skipping because this jar is not from deegree
+ return null;
+ }
+ String buildBy = props.getProperty("deegree-build-by", props.getProperty("build.by"));
+ String buildDate = props.getProperty("deegree-build-date", props.getProperty("build.date"));
+ String buildRev = props.getProperty("deegree-build-rev", props.getProperty("build.svnrev"));
+ return new ModuleInfo(buildArtifactId, version, buildRev, buildDate, buildBy);
}
}
+
return null;
}
diff --git a/deegree-core/deegree-core-moduleinfo/src/main/java/org/deegree/moduleinfo/ModuleInfoModuleInfoProvider.java b/deegree-core/deegree-core-moduleinfo/src/main/java/org/deegree/moduleinfo/ModuleInfoModuleInfoProvider.java
new file mode 100644
index 0000000000..05bf113046
--- /dev/null
+++ b/deegree-core/deegree-core-moduleinfo/src/main/java/org/deegree/moduleinfo/ModuleInfoModuleInfoProvider.java
@@ -0,0 +1,5 @@
+package org.deegree.moduleinfo;
+
+public class ModuleInfoModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-moduleinfo/src/main/java/org/deegree/moduleinfo/ModuleInfoProvider.java b/deegree-core/deegree-core-moduleinfo/src/main/java/org/deegree/moduleinfo/ModuleInfoProvider.java
new file mode 100644
index 0000000000..6b6652bce4
--- /dev/null
+++ b/deegree-core/deegree-core-moduleinfo/src/main/java/org/deegree/moduleinfo/ModuleInfoProvider.java
@@ -0,0 +1,5 @@
+package org.deegree.moduleinfo;
+
+public interface ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-protocol/deegree-protocol-commons/src/main/java/org/deegree/protocol/ProtocolCommonsModuleInfoProvider.java b/deegree-core/deegree-core-protocol/deegree-protocol-commons/src/main/java/org/deegree/protocol/ProtocolCommonsModuleInfoProvider.java
new file mode 100644
index 0000000000..9d9e97c74f
--- /dev/null
+++ b/deegree-core/deegree-core-protocol/deegree-protocol-commons/src/main/java/org/deegree/protocol/ProtocolCommonsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.protocol;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ProtocolCommonsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-protocol/deegree-protocol-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-protocol/deegree-protocol-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..55bcaa97ad
--- /dev/null
+++ b/deegree-core/deegree-core-protocol/deegree-protocol-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.protocol.ProtocolCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-protocol/deegree-protocol-csw/src/main/java/org/deegree/protocol/csw/ProtocolCswModuleInfoProvider.java b/deegree-core/deegree-core-protocol/deegree-protocol-csw/src/main/java/org/deegree/protocol/csw/ProtocolCswModuleInfoProvider.java
new file mode 100644
index 0000000000..f42cbc4c45
--- /dev/null
+++ b/deegree-core/deegree-core-protocol/deegree-protocol-csw/src/main/java/org/deegree/protocol/csw/ProtocolCswModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.protocol.csw;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ProtocolCswModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-protocol/deegree-protocol-csw/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-protocol/deegree-protocol-csw/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..03b2d6a841
--- /dev/null
+++ b/deegree-core/deegree-core-protocol/deegree-protocol-csw/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.protocol.csw.ProtocolCswModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-protocol/deegree-protocol-wfs/src/main/java/org/deegree/protocol/wfs/ProtocolWfsModuleInfoProvider.java b/deegree-core/deegree-core-protocol/deegree-protocol-wfs/src/main/java/org/deegree/protocol/wfs/ProtocolWfsModuleInfoProvider.java
new file mode 100644
index 0000000000..a00c5046db
--- /dev/null
+++ b/deegree-core/deegree-core-protocol/deegree-protocol-wfs/src/main/java/org/deegree/protocol/wfs/ProtocolWfsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.protocol.wfs;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ProtocolWfsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-protocol/deegree-protocol-wfs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-protocol/deegree-protocol-wfs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..31069885f5
--- /dev/null
+++ b/deegree-core/deegree-core-protocol/deegree-protocol-wfs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.protocol.wfs.ProtocolWfsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-protocol/deegree-protocol-wms/src/main/java/org/deegree/protocol/wms/ProtocolWmsModuleInfoProvider.java b/deegree-core/deegree-core-protocol/deegree-protocol-wms/src/main/java/org/deegree/protocol/wms/ProtocolWmsModuleInfoProvider.java
new file mode 100644
index 0000000000..181f9358fe
--- /dev/null
+++ b/deegree-core/deegree-core-protocol/deegree-protocol-wms/src/main/java/org/deegree/protocol/wms/ProtocolWmsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.protocol.wms;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ProtocolWmsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-protocol/deegree-protocol-wms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-protocol/deegree-protocol-wms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..a33a4f1ca3
--- /dev/null
+++ b/deegree-core/deegree-core-protocol/deegree-protocol-wms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.protocol.wms.ProtocolWmsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-protocol/deegree-protocol-wmts/src/main/java/org/deegree/protocol/wmts/ProtocolWmtsModuleInfoProvider.java b/deegree-core/deegree-core-protocol/deegree-protocol-wmts/src/main/java/org/deegree/protocol/wmts/ProtocolWmtsModuleInfoProvider.java
new file mode 100644
index 0000000000..c9a21396fe
--- /dev/null
+++ b/deegree-core/deegree-core-protocol/deegree-protocol-wmts/src/main/java/org/deegree/protocol/wmts/ProtocolWmtsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.protocol.wmts;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ProtocolWmtsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-protocol/deegree-protocol-wmts/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-protocol/deegree-protocol-wmts/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..8863a132ad
--- /dev/null
+++ b/deegree-core/deegree-core-protocol/deegree-protocol-wmts/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.protocol.wmts.ProtocolWmtsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-remoteows/deegree-remoteows-commons/src/main/java/org/deegree/remoteows/RemoteowsCommonsModuleInfoProvider.java b/deegree-core/deegree-core-remoteows/deegree-remoteows-commons/src/main/java/org/deegree/remoteows/RemoteowsCommonsModuleInfoProvider.java
new file mode 100644
index 0000000000..fe69737e50
--- /dev/null
+++ b/deegree-core/deegree-core-remoteows/deegree-remoteows-commons/src/main/java/org/deegree/remoteows/RemoteowsCommonsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.remoteows;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class RemoteowsCommonsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-remoteows/deegree-remoteows-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-remoteows/deegree-remoteows-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..f2e0046766
--- /dev/null
+++ b/deegree-core/deegree-core-remoteows/deegree-remoteows-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.remoteows.RemoteowsCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-remoteows/deegree-remoteows-wms/src/main/java/org/deegree/remoteows/wms/RemoteowsWmsModuleInfoProvider.java b/deegree-core/deegree-core-remoteows/deegree-remoteows-wms/src/main/java/org/deegree/remoteows/wms/RemoteowsWmsModuleInfoProvider.java
new file mode 100644
index 0000000000..9bc1ed576c
--- /dev/null
+++ b/deegree-core/deegree-core-remoteows/deegree-remoteows-wms/src/main/java/org/deegree/remoteows/wms/RemoteowsWmsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.remoteows.wms;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class RemoteowsWmsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-remoteows/deegree-remoteows-wms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-remoteows/deegree-remoteows-wms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..6c3a5d656b
--- /dev/null
+++ b/deegree-core/deegree-core-remoteows/deegree-remoteows-wms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.remoteows.wms.RemoteowsWmsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-remoteows/deegree-remoteows-wmts/src/main/java/org/deegree/remoteows/wmts/RemoteowsWmtsModuleInfoProvider.java b/deegree-core/deegree-core-remoteows/deegree-remoteows-wmts/src/main/java/org/deegree/remoteows/wmts/RemoteowsWmtsModuleInfoProvider.java
new file mode 100644
index 0000000000..0f3338b64e
--- /dev/null
+++ b/deegree-core/deegree-core-remoteows/deegree-remoteows-wmts/src/main/java/org/deegree/remoteows/wmts/RemoteowsWmtsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.remoteows.wmts;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class RemoteowsWmtsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-remoteows/deegree-remoteows-wmts/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-remoteows/deegree-remoteows-wmts/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..19ff7a47e8
--- /dev/null
+++ b/deegree-core/deegree-core-remoteows/deegree-remoteows-wmts/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.remoteows.wmts.RemoteowsWmtsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-rendering-2d/src/main/java/org/deegree/rendering/r2d/CoreRendering2dModuleInfoProvider.java b/deegree-core/deegree-core-rendering-2d/src/main/java/org/deegree/rendering/r2d/CoreRendering2dModuleInfoProvider.java
new file mode 100644
index 0000000000..2282e02fa0
--- /dev/null
+++ b/deegree-core/deegree-core-rendering-2d/src/main/java/org/deegree/rendering/r2d/CoreRendering2dModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.rendering.r2d;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreRendering2dModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-rendering-2d/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-rendering-2d/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..d442528b6d
--- /dev/null
+++ b/deegree-core/deegree-core-rendering-2d/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.rendering.r2d.CoreRendering2dModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-sqldialect/deegree-sqldialect-commons/src/main/java/org/deegree/sqldialect/SqldialectCommonsModuleInfoProvider.java b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-commons/src/main/java/org/deegree/sqldialect/SqldialectCommonsModuleInfoProvider.java
new file mode 100644
index 0000000000..657ca4ea24
--- /dev/null
+++ b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-commons/src/main/java/org/deegree/sqldialect/SqldialectCommonsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.sqldialect;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class SqldialectCommonsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-sqldialect/deegree-sqldialect-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..9a67b59169
--- /dev/null
+++ b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.sqldialect.SqldialectCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-sqldialect/deegree-sqldialect-mssql/src/main/java/org/deegree/sqldialect/mssql/SqldialectMssqlModuleInfoProvider.java b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-mssql/src/main/java/org/deegree/sqldialect/mssql/SqldialectMssqlModuleInfoProvider.java
new file mode 100644
index 0000000000..f00b2da6e5
--- /dev/null
+++ b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-mssql/src/main/java/org/deegree/sqldialect/mssql/SqldialectMssqlModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.sqldialect.mssql;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class SqldialectMssqlModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-sqldialect/deegree-sqldialect-mssql/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-mssql/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..34893c1da4
--- /dev/null
+++ b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-mssql/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.sqldialect.mssql.SqldialectMssqlModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-sqldialect/deegree-sqldialect-oracle/src/main/java/org/deegree/sqldialect/oracle/SqldialectOracleModuleInfoProvider.java b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-oracle/src/main/java/org/deegree/sqldialect/oracle/SqldialectOracleModuleInfoProvider.java
new file mode 100644
index 0000000000..cc6f060ea8
--- /dev/null
+++ b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-oracle/src/main/java/org/deegree/sqldialect/oracle/SqldialectOracleModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.sqldialect.oracle;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class SqldialectOracleModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-sqldialect/deegree-sqldialect-oracle/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-oracle/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..951c3a87fc
--- /dev/null
+++ b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-oracle/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.sqldialect.oracle.SqldialectOracleModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-sqldialect/deegree-sqldialect-postgis/src/main/java/org/deegree/sqldialect/postgis/SqldialectPostgisModuleInfoProvider.java b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-postgis/src/main/java/org/deegree/sqldialect/postgis/SqldialectPostgisModuleInfoProvider.java
new file mode 100644
index 0000000000..285300ea20
--- /dev/null
+++ b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-postgis/src/main/java/org/deegree/sqldialect/postgis/SqldialectPostgisModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.sqldialect.postgis;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class SqldialectPostgisModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-sqldialect/deegree-sqldialect-postgis/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-postgis/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..2a4269866c
--- /dev/null
+++ b/deegree-core/deegree-core-sqldialect/deegree-sqldialect-postgis/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.sqldialect.postgis.SqldialectPostgisModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-style/src/main/java/org/deegree/style/CoreStyleModuleInfoProvider.java b/deegree-core/deegree-core-style/src/main/java/org/deegree/style/CoreStyleModuleInfoProvider.java
new file mode 100644
index 0000000000..abbce51631
--- /dev/null
+++ b/deegree-core/deegree-core-style/src/main/java/org/deegree/style/CoreStyleModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.style;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreStyleModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-style/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-style/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..8accd52324
--- /dev/null
+++ b/deegree-core/deegree-core-style/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.style.CoreStyleModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-theme/src/main/java/org/deegree/theme/CoreThemeModuleInfoProvider.java b/deegree-core/deegree-core-theme/src/main/java/org/deegree/theme/CoreThemeModuleInfoProvider.java
new file mode 100644
index 0000000000..55ceb721d0
--- /dev/null
+++ b/deegree-core/deegree-core-theme/src/main/java/org/deegree/theme/CoreThemeModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.theme;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreThemeModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-theme/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-theme/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..654ec9cf8d
--- /dev/null
+++ b/deegree-core/deegree-core-theme/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.theme.CoreThemeModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-tile/src/main/java/org/deegree/tile/CoreTileModuleInfoProvider.java b/deegree-core/deegree-core-tile/src/main/java/org/deegree/tile/CoreTileModuleInfoProvider.java
new file mode 100644
index 0000000000..8aaec868bf
--- /dev/null
+++ b/deegree-core/deegree-core-tile/src/main/java/org/deegree/tile/CoreTileModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tile;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreTileModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-tile/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-tile/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..73a7e6cb35
--- /dev/null
+++ b/deegree-core/deegree-core-tile/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.CoreTileModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/deegree-core-workspace/pom.xml b/deegree-core/deegree-core-workspace/pom.xml
index b63ec23ba1..f744d3c20c 100644
--- a/deegree-core/deegree-core-workspace/pom.xml
+++ b/deegree-core/deegree-core-workspace/pom.xml
@@ -22,12 +22,13 @@
${project.version}
- commons-io
- commons-io
+ org.deegree
+ deegree-core-moduleinfo
+ ${project.version}
- org.reflections
- reflections
+ commons-io
+ commons-io
org.slf4j
@@ -39,4 +40,3 @@
-
diff --git a/deegree-core/deegree-core-workspace/src/main/java/org/deegree/workspace/CoreWorkspaceModuleInfoProvider.java b/deegree-core/deegree-core-workspace/src/main/java/org/deegree/workspace/CoreWorkspaceModuleInfoProvider.java
new file mode 100644
index 0000000000..576e368013
--- /dev/null
+++ b/deegree-core/deegree-core-workspace/src/main/java/org/deegree/workspace/CoreWorkspaceModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.workspace;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoreWorkspaceModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-core/deegree-core-workspace/src/main/java/org/deegree/workspace/standard/DefaultWorkspace.java b/deegree-core/deegree-core-workspace/src/main/java/org/deegree/workspace/standard/DefaultWorkspace.java
index c878651677..3384d26742 100644
--- a/deegree-core/deegree-core-workspace/src/main/java/org/deegree/workspace/standard/DefaultWorkspace.java
+++ b/deegree-core/deegree-core-workspace/src/main/java/org/deegree/workspace/standard/DefaultWorkspace.java
@@ -49,6 +49,7 @@ Occam Labs UG (haftungsbeschränkt)
import static org.slf4j.LoggerFactory.getLogger;
import java.io.File;
+import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
@@ -60,7 +61,7 @@ Occam Labs UG (haftungsbeschränkt)
import java.util.List;
import java.util.Map;
import java.util.ServiceLoader;
-
+import org.deegree.moduleinfo.ModuleInfo;
import org.deegree.workspace.Destroyable;
import org.deegree.workspace.ErrorHandler;
import org.deegree.workspace.Initializable;
@@ -280,6 +281,10 @@ public ClassLoader getModuleClassLoader() {
return moduleClassLoader;
}
+ public List getModulesInfo() throws IOException {
+ return wsModules != null ? wsModules : Collections.emptyList();
+ }
+
@Override
public ResourceMetadata getResourceMetadata(
Class extends ResourceProvider> providerClass, String id) {
diff --git a/deegree-core/deegree-core-workspace/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-core/deegree-core-workspace/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..d303ab13ad
--- /dev/null
+++ b/deegree-core/deegree-core-workspace/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.workspace.CoreWorkspaceModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-core/pom.xml b/deegree-core/pom.xml
index 5467f60e4a..ca10f21792 100644
--- a/deegree-core/pom.xml
+++ b/deegree-core/pom.xml
@@ -25,6 +25,7 @@
deegree-core-geometry
deegree-core-layer
deegree-core-metadata
+ deegree-core-moduleinfo
deegree-core-remoteows
deegree-core-rendering-2d
deegree-core-schema
diff --git a/deegree-datastores/deegree-coveragestores/deegree-coveragestore-oracle-georaster/src/main/java/org/deegree/coverage/raster/io/oraclegeoraster/CoveragestoreOracleGeorasterModuleInfoProvider.java b/deegree-datastores/deegree-coveragestores/deegree-coveragestore-oracle-georaster/src/main/java/org/deegree/coverage/raster/io/oraclegeoraster/CoveragestoreOracleGeorasterModuleInfoProvider.java
new file mode 100644
index 0000000000..90d05e9900
--- /dev/null
+++ b/deegree-datastores/deegree-coveragestores/deegree-coveragestore-oracle-georaster/src/main/java/org/deegree/coverage/raster/io/oraclegeoraster/CoveragestoreOracleGeorasterModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.coverage.raster.io.oraclegeoraster;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class CoveragestoreOracleGeorasterModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-coveragestores/deegree-coveragestore-oracle-georaster/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-coveragestores/deegree-coveragestore-oracle-georaster/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..256f487553
--- /dev/null
+++ b/deegree-datastores/deegree-coveragestores/deegree-coveragestore-oracle-georaster/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.coverage.raster.io.oraclegeoraster.CoveragestoreOracleGeorasterModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-featurestores/deegree-featurestore-commons/src/main/java/org/deegree/feature/persistence/FeaturestoreCommonsModuleInfoProvider.java b/deegree-datastores/deegree-featurestores/deegree-featurestore-commons/src/main/java/org/deegree/feature/persistence/FeaturestoreCommonsModuleInfoProvider.java
new file mode 100644
index 0000000000..d0e1149d88
--- /dev/null
+++ b/deegree-datastores/deegree-featurestores/deegree-featurestore-commons/src/main/java/org/deegree/feature/persistence/FeaturestoreCommonsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.feature.persistence;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class FeaturestoreCommonsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-featurestores/deegree-featurestore-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-featurestores/deegree-featurestore-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..b0f4ce2a8a
--- /dev/null
+++ b/deegree-datastores/deegree-featurestores/deegree-featurestore-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.feature.persistence.FeaturestoreCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-featurestores/deegree-featurestore-memory/src/main/java/org/deegree/feature/persistence/memory/FeaturestoreMemoryModuleInfoProvider.java b/deegree-datastores/deegree-featurestores/deegree-featurestore-memory/src/main/java/org/deegree/feature/persistence/memory/FeaturestoreMemoryModuleInfoProvider.java
new file mode 100644
index 0000000000..eafdb38f52
--- /dev/null
+++ b/deegree-datastores/deegree-featurestores/deegree-featurestore-memory/src/main/java/org/deegree/feature/persistence/memory/FeaturestoreMemoryModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.feature.persistence.memory;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class FeaturestoreMemoryModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-featurestores/deegree-featurestore-memory/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-featurestores/deegree-featurestore-memory/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..67f6cadd09
--- /dev/null
+++ b/deegree-datastores/deegree-featurestores/deegree-featurestore-memory/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.feature.persistence.memory.FeaturestoreMemoryModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-featurestores/deegree-featurestore-remotewfs/src/main/java/org/deegree/feature/persistence/remotewfs/FeaturestoreRemoteWFSModuleInfoProvider.java b/deegree-datastores/deegree-featurestores/deegree-featurestore-remotewfs/src/main/java/org/deegree/feature/persistence/remotewfs/FeaturestoreRemoteWFSModuleInfoProvider.java
new file mode 100644
index 0000000000..e4d4c910c7
--- /dev/null
+++ b/deegree-datastores/deegree-featurestores/deegree-featurestore-remotewfs/src/main/java/org/deegree/feature/persistence/remotewfs/FeaturestoreRemoteWFSModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.feature.persistence.remotewfs;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class FeaturestoreRemoteWFSModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-featurestores/deegree-featurestore-remotewfs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-featurestores/deegree-featurestore-remotewfs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..507cccfe02
--- /dev/null
+++ b/deegree-datastores/deegree-featurestores/deegree-featurestore-remotewfs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.feature.persistence.remotewfs.FeaturestoreRemoteWFSModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-featurestores/deegree-featurestore-shape/src/main/java/org/deegree/feature/persistence/shape/FeaturestoreShapeModuleInfoProvider.java b/deegree-datastores/deegree-featurestores/deegree-featurestore-shape/src/main/java/org/deegree/feature/persistence/shape/FeaturestoreShapeModuleInfoProvider.java
new file mode 100644
index 0000000000..3f5f42b9b4
--- /dev/null
+++ b/deegree-datastores/deegree-featurestores/deegree-featurestore-shape/src/main/java/org/deegree/feature/persistence/shape/FeaturestoreShapeModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.feature.persistence.shape;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class FeaturestoreShapeModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-featurestores/deegree-featurestore-shape/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-featurestores/deegree-featurestore-shape/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..136e872f09
--- /dev/null
+++ b/deegree-datastores/deegree-featurestores/deegree-featurestore-shape/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.feature.persistence.shape.FeaturestoreShapeModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-featurestores/deegree-featurestore-simplesql/src/main/java/org/deegree/feature/persistence/simplesql/FeaturestoreSimpleSQLModuleInfoProvider.java b/deegree-datastores/deegree-featurestores/deegree-featurestore-simplesql/src/main/java/org/deegree/feature/persistence/simplesql/FeaturestoreSimpleSQLModuleInfoProvider.java
new file mode 100644
index 0000000000..f66f1c4a44
--- /dev/null
+++ b/deegree-datastores/deegree-featurestores/deegree-featurestore-simplesql/src/main/java/org/deegree/feature/persistence/simplesql/FeaturestoreSimpleSQLModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.feature.persistence.simplesql;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class FeaturestoreSimpleSQLModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-featurestores/deegree-featurestore-simplesql/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-featurestores/deegree-featurestore-simplesql/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..a6abd2ad8f
--- /dev/null
+++ b/deegree-datastores/deegree-featurestores/deegree-featurestore-simplesql/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.feature.persistence.simplesql.FeaturestoreSimpleSQLModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-featurestores/deegree-featurestore-sql/src/main/java/org/deegree/feature/persistence/sql/FeaturestoreSqlModuleInfoProvider.java b/deegree-datastores/deegree-featurestores/deegree-featurestore-sql/src/main/java/org/deegree/feature/persistence/sql/FeaturestoreSqlModuleInfoProvider.java
new file mode 100644
index 0000000000..23fa51d72f
--- /dev/null
+++ b/deegree-datastores/deegree-featurestores/deegree-featurestore-sql/src/main/java/org/deegree/feature/persistence/sql/FeaturestoreSqlModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.feature.persistence.sql;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class FeaturestoreSqlModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-featurestores/deegree-featurestore-sql/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-featurestores/deegree-featurestore-sql/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..24d444bd65
--- /dev/null
+++ b/deegree-datastores/deegree-featurestores/deegree-featurestore-sql/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.feature.persistence.sql.FeaturestoreSqlModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-mdstores/deegree-mdstore-commons/src/main/java/org/deegree/metadata/persistence/MdstoreCommonsModuleInfoProvider.java b/deegree-datastores/deegree-mdstores/deegree-mdstore-commons/src/main/java/org/deegree/metadata/persistence/MdstoreCommonsModuleInfoProvider.java
new file mode 100644
index 0000000000..1a22d874af
--- /dev/null
+++ b/deegree-datastores/deegree-mdstores/deegree-mdstore-commons/src/main/java/org/deegree/metadata/persistence/MdstoreCommonsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.metadata.persistence;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class MdstoreCommonsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-mdstores/deegree-mdstore-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-mdstores/deegree-mdstore-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..c1e8cdbe3b
--- /dev/null
+++ b/deegree-datastores/deegree-mdstores/deegree-mdstore-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.metadata.persistence.MdstoreCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-mdstores/deegree-mdstore-ebrim-eo/src/main/java/org/deegree/metadata/persistence/ebrim/eo/MdstoreEbrimEoModuleInfoProvider.java b/deegree-datastores/deegree-mdstores/deegree-mdstore-ebrim-eo/src/main/java/org/deegree/metadata/persistence/ebrim/eo/MdstoreEbrimEoModuleInfoProvider.java
new file mode 100644
index 0000000000..08fa728707
--- /dev/null
+++ b/deegree-datastores/deegree-mdstores/deegree-mdstore-ebrim-eo/src/main/java/org/deegree/metadata/persistence/ebrim/eo/MdstoreEbrimEoModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.metadata.persistence.ebrim.eo;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class MdstoreEbrimEoModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-mdstores/deegree-mdstore-ebrim-eo/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-mdstores/deegree-mdstore-ebrim-eo/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..88b4f90f70
--- /dev/null
+++ b/deegree-datastores/deegree-mdstores/deegree-mdstore-ebrim-eo/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.metadata.persistence.ebrim.eo.MdstoreEbrimEoModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-mdstores/deegree-mdstore-iso-memory/src/main/java/org/deegree/metadata/iso/persistence/memory/MdstoreIsoMemoryModuleInfoProvider.java b/deegree-datastores/deegree-mdstores/deegree-mdstore-iso-memory/src/main/java/org/deegree/metadata/iso/persistence/memory/MdstoreIsoMemoryModuleInfoProvider.java
new file mode 100644
index 0000000000..d80e527c8f
--- /dev/null
+++ b/deegree-datastores/deegree-mdstores/deegree-mdstore-iso-memory/src/main/java/org/deegree/metadata/iso/persistence/memory/MdstoreIsoMemoryModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.metadata.iso.persistence.memory;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class MdstoreIsoMemoryModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-mdstores/deegree-mdstore-iso-memory/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-mdstores/deegree-mdstore-iso-memory/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..ca5aed440f
--- /dev/null
+++ b/deegree-datastores/deegree-mdstores/deegree-mdstore-iso-memory/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.metadata.iso.persistence.memory.MdstoreIsoMemoryModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-mdstores/deegree-mdstore-iso/src/main/java/org/deegree/metadata/iso/MdstoreIsoModuleInfoProvider.java b/deegree-datastores/deegree-mdstores/deegree-mdstore-iso/src/main/java/org/deegree/metadata/iso/MdstoreIsoModuleInfoProvider.java
new file mode 100644
index 0000000000..7ff8baad99
--- /dev/null
+++ b/deegree-datastores/deegree-mdstores/deegree-mdstore-iso/src/main/java/org/deegree/metadata/iso/MdstoreIsoModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.metadata.iso;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class MdstoreIsoModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-mdstores/deegree-mdstore-iso/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-mdstores/deegree-mdstore-iso/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..c36597fb13
--- /dev/null
+++ b/deegree-datastores/deegree-mdstores/deegree-mdstore-iso/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.metadata.iso.MdstoreIsoModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-cache/src/main/java/org/deegree/tile/persistence/cache/TilestoreCacheModuleInfoProvider.java b/deegree-datastores/deegree-tilestores/deegree-tilestore-cache/src/main/java/org/deegree/tile/persistence/cache/TilestoreCacheModuleInfoProvider.java
new file mode 100644
index 0000000000..5a19100604
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-cache/src/main/java/org/deegree/tile/persistence/cache/TilestoreCacheModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tile.persistence.cache;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class TilestoreCacheModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-cache/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-tilestores/deegree-tilestore-cache/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..a0dcb16656
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-cache/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.cache.TilestoreCacheModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-commons/src/main/java/org/deegree/tile/TilestoreCommonsModuleInfoProvider.java b/deegree-datastores/deegree-tilestores/deegree-tilestore-commons/src/main/java/org/deegree/tile/TilestoreCommonsModuleInfoProvider.java
new file mode 100644
index 0000000000..aefa8db9bf
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-commons/src/main/java/org/deegree/tile/TilestoreCommonsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tile;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class TilestoreCommonsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-tilestores/deegree-tilestore-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..5890cc9188
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.TilestoreCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-filesystem/src/main/java/org/deegree/tile/persistence/filesystem/TilestoreFilesystemModuleInfoProvider.java b/deegree-datastores/deegree-tilestores/deegree-tilestore-filesystem/src/main/java/org/deegree/tile/persistence/filesystem/TilestoreFilesystemModuleInfoProvider.java
new file mode 100644
index 0000000000..241222f1bd
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-filesystem/src/main/java/org/deegree/tile/persistence/filesystem/TilestoreFilesystemModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tile.persistence.filesystem;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class TilestoreFilesystemModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-filesystem/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-tilestores/deegree-tilestore-filesystem/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..b848fad4b9
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-filesystem/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.filesystem.TilestoreFilesystemModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-gdal/src/main/java/org/deegree/tile/persistence/gdal/TilestoreGDALModuleInfoProvider.java b/deegree-datastores/deegree-tilestores/deegree-tilestore-gdal/src/main/java/org/deegree/tile/persistence/gdal/TilestoreGDALModuleInfoProvider.java
new file mode 100644
index 0000000000..711c96d03c
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-gdal/src/main/java/org/deegree/tile/persistence/gdal/TilestoreGDALModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tile.persistence.gdal;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class TilestoreGDALModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-gdal/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-tilestores/deegree-tilestore-gdal/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..2d3c98c821
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-gdal/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.gdal.TilestoreGDALModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-geotiff/src/main/java/org/deegree/tile/persistence/geotiff/TilestoreGeotiffModuleInfoProvider.java b/deegree-datastores/deegree-tilestores/deegree-tilestore-geotiff/src/main/java/org/deegree/tile/persistence/geotiff/TilestoreGeotiffModuleInfoProvider.java
new file mode 100644
index 0000000000..61fab3dad4
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-geotiff/src/main/java/org/deegree/tile/persistence/geotiff/TilestoreGeotiffModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tile.persistence.geotiff;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class TilestoreGeotiffModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-geotiff/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-tilestores/deegree-tilestore-geotiff/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..dbae64f32d
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-geotiff/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.geotiff.TilestoreGeotiffModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-merge/src/main/java/org/deegree/tile/persistence/merge/TilestoreMergeModuleInfoProvider.java b/deegree-datastores/deegree-tilestores/deegree-tilestore-merge/src/main/java/org/deegree/tile/persistence/merge/TilestoreMergeModuleInfoProvider.java
new file mode 100644
index 0000000000..ff4903a981
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-merge/src/main/java/org/deegree/tile/persistence/merge/TilestoreMergeModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tile.persistence.merge;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class TilestoreMergeModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-merge/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-tilestores/deegree-tilestore-merge/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..20903e4807
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-merge/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.merge.TilestoreMergeModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-remotewms/src/main/java/org/deegree/tile/persistence/remotewms/TilestoreRemoteWMSModuleInfoProvider.java b/deegree-datastores/deegree-tilestores/deegree-tilestore-remotewms/src/main/java/org/deegree/tile/persistence/remotewms/TilestoreRemoteWMSModuleInfoProvider.java
new file mode 100644
index 0000000000..f97971eaba
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-remotewms/src/main/java/org/deegree/tile/persistence/remotewms/TilestoreRemoteWMSModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tile.persistence.remotewms;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class TilestoreRemoteWMSModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-remotewms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-tilestores/deegree-tilestore-remotewms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..4a5dfa2dfc
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-remotewms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.remotewms.TilestoreRemoteWMSModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-remotewmts/src/main/java/org/deegree/tile/persistence/remotewmts/TilestoreRemoteWMTSModuleInfoProvider.java b/deegree-datastores/deegree-tilestores/deegree-tilestore-remotewmts/src/main/java/org/deegree/tile/persistence/remotewmts/TilestoreRemoteWMTSModuleInfoProvider.java
new file mode 100644
index 0000000000..991e19a8cf
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-remotewmts/src/main/java/org/deegree/tile/persistence/remotewmts/TilestoreRemoteWMTSModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tile.persistence.remotewmts;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class TilestoreRemoteWMTSModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-datastores/deegree-tilestores/deegree-tilestore-remotewmts/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-datastores/deegree-tilestores/deegree-tilestore-remotewmts/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..3ee4364fbc
--- /dev/null
+++ b/deegree-datastores/deegree-tilestores/deegree-tilestore-remotewmts/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.remotewmts.TilestoreRemoteWMTSModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-layers/deegree-layers-coverage/src/main/java/org/deegree/layer/persistence/coverage/LayersCoverageModuleInfoProvider.java b/deegree-layers/deegree-layers-coverage/src/main/java/org/deegree/layer/persistence/coverage/LayersCoverageModuleInfoProvider.java
new file mode 100644
index 0000000000..c8fa130d2b
--- /dev/null
+++ b/deegree-layers/deegree-layers-coverage/src/main/java/org/deegree/layer/persistence/coverage/LayersCoverageModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.layer.persistence.coverage;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class LayersCoverageModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-layers/deegree-layers-coverage/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-layers/deegree-layers-coverage/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..c844cbb14a
--- /dev/null
+++ b/deegree-layers/deegree-layers-coverage/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.layer.persistence.coverage.LayersCoverageModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-layers/deegree-layers-feature/src/main/java/org/deegree/layer/persistence/feature/LayersFeatureModuleInfoProvider.java b/deegree-layers/deegree-layers-feature/src/main/java/org/deegree/layer/persistence/feature/LayersFeatureModuleInfoProvider.java
new file mode 100644
index 0000000000..819f3b52da
--- /dev/null
+++ b/deegree-layers/deegree-layers-feature/src/main/java/org/deegree/layer/persistence/feature/LayersFeatureModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.layer.persistence.feature;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class LayersFeatureModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-layers/deegree-layers-feature/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-layers/deegree-layers-feature/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..34dec4c86b
--- /dev/null
+++ b/deegree-layers/deegree-layers-feature/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.layer.persistence.feature.LayersFeatureModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-layers/deegree-layers-gdal/src/main/java/org/deegree/layer/persistence/gdal/LayersGdalModuleInfoProvider.java b/deegree-layers/deegree-layers-gdal/src/main/java/org/deegree/layer/persistence/gdal/LayersGdalModuleInfoProvider.java
new file mode 100644
index 0000000000..0b26c484c4
--- /dev/null
+++ b/deegree-layers/deegree-layers-gdal/src/main/java/org/deegree/layer/persistence/gdal/LayersGdalModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.layer.persistence.gdal;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class LayersGdalModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-layers/deegree-layers-gdal/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-layers/deegree-layers-gdal/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..e733c78056
--- /dev/null
+++ b/deegree-layers/deegree-layers-gdal/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.layer.persistence.gdal.LayersGdalModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-layers/deegree-layers-remotewms/src/main/java/org/deegree/layer/persistence/remotewms/LayersRemoteWMSModuleInfoProvider.java b/deegree-layers/deegree-layers-remotewms/src/main/java/org/deegree/layer/persistence/remotewms/LayersRemoteWMSModuleInfoProvider.java
new file mode 100644
index 0000000000..0f1188e60e
--- /dev/null
+++ b/deegree-layers/deegree-layers-remotewms/src/main/java/org/deegree/layer/persistence/remotewms/LayersRemoteWMSModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.layer.persistence.remotewms;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class LayersRemoteWMSModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-layers/deegree-layers-remotewms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-layers/deegree-layers-remotewms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..a0e7c583c4
--- /dev/null
+++ b/deegree-layers/deegree-layers-remotewms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.layer.persistence.remotewms.LayersRemoteWMSModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-layers/deegree-layers-tile/src/main/java/org/deegree/layer/persistence/tile/LayersTileModuleInfoProvider.java b/deegree-layers/deegree-layers-tile/src/main/java/org/deegree/layer/persistence/tile/LayersTileModuleInfoProvider.java
new file mode 100644
index 0000000000..eeabb1d5ae
--- /dev/null
+++ b/deegree-layers/deegree-layers-tile/src/main/java/org/deegree/layer/persistence/tile/LayersTileModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.layer.persistence.tile;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class LayersTileModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-layers/deegree-layers-tile/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-layers/deegree-layers-tile/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..c0c89c222d
--- /dev/null
+++ b/deegree-layers/deegree-layers-tile/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.layer.persistence.tile.LayersTileModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-processproviders/deegree-processprovider-example/src/main/java/org/deegree/services/wps/provider/ProcessproviderExampleModuleInfoProvider.java b/deegree-processproviders/deegree-processprovider-example/src/main/java/org/deegree/services/wps/provider/ProcessproviderExampleModuleInfoProvider.java
new file mode 100644
index 0000000000..70df736ff4
--- /dev/null
+++ b/deegree-processproviders/deegree-processprovider-example/src/main/java/org/deegree/services/wps/provider/ProcessproviderExampleModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.services.wps.provider;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ProcessproviderExampleModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-processproviders/deegree-processprovider-example/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-processproviders/deegree-processprovider-example/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..83e1f269e1
--- /dev/null
+++ b/deegree-processproviders/deegree-processprovider-example/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wps.provider.ProcessproviderExampleModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-processproviders/deegree-processprovider-fme/src/main/java/org/deegree/services/wps/provider/fme/ProcessproviderFmeModuleInfoProvider.java b/deegree-processproviders/deegree-processprovider-fme/src/main/java/org/deegree/services/wps/provider/fme/ProcessproviderFmeModuleInfoProvider.java
new file mode 100644
index 0000000000..2f7b76920d
--- /dev/null
+++ b/deegree-processproviders/deegree-processprovider-fme/src/main/java/org/deegree/services/wps/provider/fme/ProcessproviderFmeModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.services.wps.provider.fme;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ProcessproviderFmeModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-processproviders/deegree-processprovider-fme/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-processproviders/deegree-processprovider-fme/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..d24543c7f2
--- /dev/null
+++ b/deegree-processproviders/deegree-processprovider-fme/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wps.provider.fme.ProcessproviderFmeModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-processproviders/deegree-processprovider-style/src/main/java/org/deegree/services/wps/provider/style/ProcessproviderStyleModuleInfoProvider.java b/deegree-processproviders/deegree-processprovider-style/src/main/java/org/deegree/services/wps/provider/style/ProcessproviderStyleModuleInfoProvider.java
new file mode 100644
index 0000000000..0761c3c7ed
--- /dev/null
+++ b/deegree-processproviders/deegree-processprovider-style/src/main/java/org/deegree/services/wps/provider/style/ProcessproviderStyleModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.services.wps.provider.style;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ProcessproviderStyleModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-processproviders/deegree-processprovider-style/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-processproviders/deegree-processprovider-style/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..b362924de3
--- /dev/null
+++ b/deegree-processproviders/deegree-processprovider-style/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wps.provider.style.ProcessproviderStyleModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-services/deegree-services-commons/src/api/java/org/deegree/services/controller/OGCFrontController.java b/deegree-services/deegree-services-commons/src/api/java/org/deegree/services/controller/OGCFrontController.java
index 458b2fe9c4..8abefea98c 100644
--- a/deegree-services/deegree-services-commons/src/api/java/org/deegree/services/controller/OGCFrontController.java
+++ b/deegree-services/deegree-services-commons/src/api/java/org/deegree/services/controller/OGCFrontController.java
@@ -38,7 +38,6 @@
import static org.deegree.commons.ows.exception.OWSException.NOT_FOUND;
import static org.deegree.commons.ows.exception.OWSException.NO_APPLICABLE_CODE;
import static org.deegree.commons.tom.ows.Version.parseVersion;
-import static org.reflections.util.ClasspathHelper.forClassLoader;
import static org.slf4j.LoggerFactory.getLogger;
import java.beans.Introspector;
@@ -68,7 +67,6 @@
import java.util.Map;
import java.util.Properties;
import java.util.Set;
-
import javax.imageio.spi.IIORegistry;
import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletContext;
@@ -79,7 +77,6 @@
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamReader;
-
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMXMLBuilderFactory;
@@ -104,6 +101,7 @@
import org.deegree.commons.xml.stax.XMLInputFactoryUtils;
import org.deegree.commons.xml.stax.XMLStreamUtils;
import org.deegree.feature.stream.ThreadedFeatureInputStream;
+import org.deegree.moduleinfo.ModuleInfo;
import org.deegree.services.OWS;
import org.deegree.services.OWSProvider;
import org.deegree.services.OwsManager;
@@ -117,7 +115,6 @@
import org.deegree.services.jaxb.controller.DeegreeServiceControllerType.RequestTimeoutMilliseconds;
import org.deegree.services.ows.OWS110ExceptionReportSerializer;
import org.deegree.services.resources.ResourcesServlet;
-import org.deegree.workspace.standard.ModuleInfo;
import org.slf4j.Logger;
/**
@@ -1021,12 +1018,7 @@ public void init( ServletConfig config )
LOG.info( "deegree modules" );
LOG.info( "--------------------------------------------------------------------------------" );
LOG.info( "" );
- try {
- modulesInfo = extractModulesInfo( config.getServletContext() );
- } catch ( Throwable t ) {
- LOG.error( "Unable to extract deegree module information: " + t.getMessage() );
- modulesInfo = emptyList();
- }
+ modulesInfo = ModuleInfo.load();
for ( ModuleInfo moduleInfo : modulesInfo ) {
LOG.info( "- " + moduleInfo.toString() );
if ( "deegree-services-commons".equals( moduleInfo.getArtifactId() ) ) {
@@ -1074,56 +1066,6 @@ public void init( ServletConfig config )
}
}
- private Collection extractModulesInfo( ServletContext servletContext )
- throws IOException, URISyntaxException {
-
- if ( servletContext.getServerInfo() != null && servletContext.getServerInfo().contains( "WebLogic" ) ) {
- LOG.debug( "Running on weblogic. Not extracting module info from classpath, but from WEB-INF/lib." );
- return ModuleInfo.extractModulesInfo( forWebInfLib( servletContext ) );
- }
- return ModuleInfo.extractModulesInfo( forClassLoader() );
- }
- //
- // ******************** BEGIN ********************
- // Insourced methods from org.reflections:reflections
- // TODO: needs to be removed or replaced
- //
- private static Collection forWebInfLib(ServletContext servletContext) {
- Collection urls = new ArrayList();
- Set> resourcePaths = servletContext.getResourcePaths("/WEB-INF/lib");
- if (resourcePaths == null) {
- return urls;
- } else {
- Iterator var3 = resourcePaths.iterator();
-
- while(var3.hasNext()) {
- Object urlString = var3.next();
-
- try {
- urls.add(servletContext.getResource((String)urlString));
- } catch (MalformedURLException var6) {
- }
- }
-
- return distinctUrls(urls);
- }
- }
-
- private static Collection distinctUrls(Collection urls) {
- Map distinct = new LinkedHashMap(urls.size());
- Iterator var2 = urls.iterator();
-
- while(var2.hasNext()) {
- URL url = (URL)var2.next();
- distinct.put(url.toExternalForm(), url);
- }
-
- return distinct.values();
- }
- //
- // ******************** END ********************
- //
-
private void initWorkspace()
throws IOException, URISyntaxException, ResourceInitException {
diff --git a/deegree-services/deegree-services-commons/src/main/java/org/deegree/services/ServicesCommonsModuleInfoProvider.java b/deegree-services/deegree-services-commons/src/main/java/org/deegree/services/ServicesCommonsModuleInfoProvider.java
new file mode 100644
index 0000000000..f1d9a32304
--- /dev/null
+++ b/deegree-services/deegree-services-commons/src/main/java/org/deegree/services/ServicesCommonsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.services;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ServicesCommonsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-services/deegree-services-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-services/deegree-services-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..2c9f2cd7d3
--- /dev/null
+++ b/deegree-services/deegree-services-commons/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.ServicesCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-services/deegree-services-config/src/main/java/org/deegree/services/config/ServicesConfigModuleInfoProvider.java b/deegree-services/deegree-services-config/src/main/java/org/deegree/services/config/ServicesConfigModuleInfoProvider.java
new file mode 100644
index 0000000000..0e5ae79614
--- /dev/null
+++ b/deegree-services/deegree-services-config/src/main/java/org/deegree/services/config/ServicesConfigModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.services.config;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ServicesConfigModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-services/deegree-services-config/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-services/deegree-services-config/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..5000aed2db
--- /dev/null
+++ b/deegree-services/deegree-services-config/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.config.ServicesConfigModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-services/deegree-services-csw/src/main/java/org/deegree/services/csw/ServicesCswModuleInfoProvider.java b/deegree-services/deegree-services-csw/src/main/java/org/deegree/services/csw/ServicesCswModuleInfoProvider.java
new file mode 100644
index 0000000000..ba2b7b7e44
--- /dev/null
+++ b/deegree-services/deegree-services-csw/src/main/java/org/deegree/services/csw/ServicesCswModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.services.csw;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ServicesCswModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-services/deegree-services-csw/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-services/deegree-services-csw/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..fd9376ef1b
--- /dev/null
+++ b/deegree-services/deegree-services-csw/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.csw.ServicesCswModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-services/deegree-services-wcs/src/main/java/org/deegree/services/wcs/ServicesWcsModuleInfoProvider.java b/deegree-services/deegree-services-wcs/src/main/java/org/deegree/services/wcs/ServicesWcsModuleInfoProvider.java
new file mode 100644
index 0000000000..5015eb45f5
--- /dev/null
+++ b/deegree-services/deegree-services-wcs/src/main/java/org/deegree/services/wcs/ServicesWcsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.services.wcs;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ServicesWcsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-services/deegree-services-wcs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-services/deegree-services-wcs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..8e328ba043
--- /dev/null
+++ b/deegree-services/deegree-services-wcs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wcs.ServicesWcsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-services/deegree-services-wfs/src/main/java/org/deegree/services/wfs/ServicesWfsModuleInfoProvider.java b/deegree-services/deegree-services-wfs/src/main/java/org/deegree/services/wfs/ServicesWfsModuleInfoProvider.java
new file mode 100644
index 0000000000..e2f5c93fa4
--- /dev/null
+++ b/deegree-services/deegree-services-wfs/src/main/java/org/deegree/services/wfs/ServicesWfsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.services.wfs;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ServicesWfsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-services/deegree-services-wfs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-services/deegree-services-wfs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..5501e0a0e2
--- /dev/null
+++ b/deegree-services/deegree-services-wfs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wfs.ServicesWfsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-services/deegree-services-wms/src/main/java/org/deegree/services/wms/ServicesWmsModuleInfoProvider.java b/deegree-services/deegree-services-wms/src/main/java/org/deegree/services/wms/ServicesWmsModuleInfoProvider.java
new file mode 100644
index 0000000000..e1c0ee14b1
--- /dev/null
+++ b/deegree-services/deegree-services-wms/src/main/java/org/deegree/services/wms/ServicesWmsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.services.wms;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ServicesWmsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-services/deegree-services-wms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-services/deegree-services-wms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..418ec8c949
--- /dev/null
+++ b/deegree-services/deegree-services-wms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wms.ServicesWmsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-services/deegree-services-wmts/src/main/java/org/deegree/services/wmts/ServicesWmtsModuleInfoProvider.java b/deegree-services/deegree-services-wmts/src/main/java/org/deegree/services/wmts/ServicesWmtsModuleInfoProvider.java
new file mode 100644
index 0000000000..35df36383f
--- /dev/null
+++ b/deegree-services/deegree-services-wmts/src/main/java/org/deegree/services/wmts/ServicesWmtsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.services.wmts;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ServicesWmtsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-services/deegree-services-wmts/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-services/deegree-services-wmts/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..02fc08bb9c
--- /dev/null
+++ b/deegree-services/deegree-services-wmts/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wmts.ServicesWmtsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-services/deegree-services-wps/src/main/java/org/deegree/services/wps/ServicesWpsModuleInfoProvider.java b/deegree-services/deegree-services-wps/src/main/java/org/deegree/services/wps/ServicesWpsModuleInfoProvider.java
new file mode 100644
index 0000000000..b37e544085
--- /dev/null
+++ b/deegree-services/deegree-services-wps/src/main/java/org/deegree/services/wps/ServicesWpsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.services.wps;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ServicesWpsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-services/deegree-services-wps/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-services/deegree-services-wps/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..0c5b90a079
--- /dev/null
+++ b/deegree-services/deegree-services-wps/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wps.ServicesWpsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-services/deegree-services-wpvs/src/main/java/org/deegree/services/wpvs/ServicesWpvsModuleInfoProvider.java b/deegree-services/deegree-services-wpvs/src/main/java/org/deegree/services/wpvs/ServicesWpvsModuleInfoProvider.java
new file mode 100644
index 0000000000..c9c77115b0
--- /dev/null
+++ b/deegree-services/deegree-services-wpvs/src/main/java/org/deegree/services/wpvs/ServicesWpvsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.services.wpvs;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ServicesWpvsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-services/deegree-services-wpvs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-services/deegree-services-wpvs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..6471fa93cc
--- /dev/null
+++ b/deegree-services/deegree-services-wpvs/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wpvs.ServicesWpvsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-services/deegree-webservices/pom.xml b/deegree-services/deegree-webservices/pom.xml
index 4e4361b24c..91608cff56 100644
--- a/deegree-services/deegree-webservices/pom.xml
+++ b/deegree-services/deegree-webservices/pom.xml
@@ -22,9 +22,13 @@
true
- true
+ true
+ ${project.name}
+ ${project.version}
+ ${project.groupId}:${project.artifactId}:${buildNumber}:${buildTimestamp} ${user.name}
+ ${project.groupId}
${project.artifactId}
${user.name}
${buildTimestamp}
diff --git a/deegree-services/deegree-webservices/src/main/java/org/deegree/console/WebservicesModuleInfoProvider.java b/deegree-services/deegree-webservices/src/main/java/org/deegree/console/WebservicesModuleInfoProvider.java
new file mode 100644
index 0000000000..31dce395bd
--- /dev/null
+++ b/deegree-services/deegree-webservices/src/main/java/org/deegree/console/WebservicesModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.console;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class WebservicesModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-services/deegree-webservices/src/main/java/org/deegree/console/moduleinfo/ModulesBean.java b/deegree-services/deegree-webservices/src/main/java/org/deegree/console/moduleinfo/ModulesBean.java
index 2e349750c2..8bdfd7078f 100644
--- a/deegree-services/deegree-webservices/src/main/java/org/deegree/console/moduleinfo/ModulesBean.java
+++ b/deegree-services/deegree-webservices/src/main/java/org/deegree/console/moduleinfo/ModulesBean.java
@@ -39,8 +39,8 @@
import jakarta.faces.context.ExternalContext;
import jakarta.faces.context.FacesContext;
+import org.deegree.moduleinfo.ModuleInfo;
import jakarta.inject.Named;
-import org.deegree.workspace.standard.ModuleInfo;
import org.deegree.console.workspace.WorkspaceBean;
/**
diff --git a/deegree-services/deegree-webservices/src/main/java/org/deegree/console/workspace/WorkspaceBean.java b/deegree-services/deegree-webservices/src/main/java/org/deegree/console/workspace/WorkspaceBean.java
index 7745c797f9..74e3f1302a 100644
--- a/deegree-services/deegree-webservices/src/main/java/org/deegree/console/workspace/WorkspaceBean.java
+++ b/deegree-services/deegree-webservices/src/main/java/org/deegree/console/workspace/WorkspaceBean.java
@@ -62,7 +62,7 @@
import org.apache.commons.io.FileUtils;
import org.apache.http.HttpResponse;
import org.deegree.commons.config.DeegreeWorkspace;
-import org.deegree.workspace.standard.ModuleInfo;
+import org.deegree.moduleinfo.ModuleInfo;
import org.deegree.commons.utils.Pair;
import org.deegree.commons.utils.io.Zip;
import org.deegree.commons.utils.net.HttpUtils;
diff --git a/deegree-services/deegree-webservices/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-services/deegree-webservices/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..7a3b776c8a
--- /dev/null
+++ b/deegree-services/deegree-webservices/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.console.WebservicesModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-themes/deegree-themes-remotewms/src/main/java/org/deegree/theme/persistence/remotewms/ThemesRemotewmsModuleInfoProvider.java b/deegree-themes/deegree-themes-remotewms/src/main/java/org/deegree/theme/persistence/remotewms/ThemesRemotewmsModuleInfoProvider.java
new file mode 100644
index 0000000000..b5959d6ead
--- /dev/null
+++ b/deegree-themes/deegree-themes-remotewms/src/main/java/org/deegree/theme/persistence/remotewms/ThemesRemotewmsModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.theme.persistence.remotewms;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ThemesRemotewmsModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-themes/deegree-themes-remotewms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-themes/deegree-themes-remotewms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..c34c7eae68
--- /dev/null
+++ b/deegree-themes/deegree-themes-remotewms/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.theme.persistence.remotewms.ThemesRemotewmsModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/Tools3DModuleInfoProvider.java b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/Tools3DModuleInfoProvider.java
new file mode 100644
index 0000000000..80356faf6f
--- /dev/null
+++ b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/Tools3DModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tools;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class Tools3DModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/InteractiveWPVS.java b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/InteractiveWPVS.java
index d2eca9714f..fbacb6272e 100644
--- a/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/InteractiveWPVS.java
+++ b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/InteractiveWPVS.java
@@ -51,7 +51,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-
import javax.imageio.ImageIO;
import javax.media.opengl.GL;
import javax.media.opengl.GLAutoDrawable;
@@ -62,7 +61,6 @@
import javax.vecmath.Point3d;
import javax.vecmath.Vector3d;
import jakarta.xml.bind.JAXBException;
-
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
@@ -73,6 +71,7 @@
import org.deegree.commons.tools.CommandUtils;
import org.deegree.commons.utils.Pair;
import org.deegree.commons.utils.SunInfo;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.commons.utils.math.Vectors3f;
import org.deegree.db.ConnectionProvider;
import org.deegree.db.ConnectionProviderUtils;
@@ -120,7 +119,7 @@
* @author Markus ls /Schneider
*/
@Tool("Reads in a configuration document for the deegree WPVS and allows the user to interactively navigate through the scene.")
-public class InteractiveWPVS extends GLCanvas implements GLEventListener, KeyListener {
+public class InteractiveWPVS extends GLCanvas implements GLEventListener, KeyListener, ToolboxRegistration {
private static final Logger LOG = LoggerFactory.getLogger(InteractiveWPVS.class);
@@ -203,6 +202,15 @@ public class InteractiveWPVS extends GLCanvas implements GLEventListener, KeyLis
private boolean updateLODStructure = true;
+ /**
+ * DO NOT USE
+ * @deprecated only use for registration purpose
+ */
+ public InteractiveWPVS() {
+ this.params = null;
+ this.lodAnalyzer = null;
+ }
+
/**
* Creates a new {@link InteractiveWPVS} instance.
* @param params
diff --git a/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/dem/builder/DEMDatasetGenerator.java b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/dem/builder/DEMDatasetGenerator.java
index eab78aeb49..23f263279e 100644
--- a/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/dem/builder/DEMDatasetGenerator.java
+++ b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/dem/builder/DEMDatasetGenerator.java
@@ -44,11 +44,9 @@
import java.nio.ByteOrder;
import java.sql.Blob;
import java.sql.SQLException;
-
import javax.vecmath.Point2f;
import javax.vecmath.Point3f;
import javax.vecmath.Vector3f;
-
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.Option;
@@ -57,6 +55,7 @@
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.commons.utils.math.MathUtils;
import org.deegree.coverage.AbstractCoverage;
import org.deegree.coverage.raster.AbstractRaster;
@@ -91,7 +90,7 @@
* @author Markus Schneider
*/
@Tool("Generates DEM multiresolution datasets from rasters, suitable for the WPVS.")
-public class DEMDatasetGenerator {
+public class DEMDatasetGenerator implements ToolboxRegistration {
// private static final Logger LOG = LoggerFactory.getLogger(
// DEMDatasetGenerator.class );
@@ -148,6 +147,27 @@ public class DEMDatasetGenerator {
private static final int BYTES_PER_NORMAL_COMPONENT = 1;
+ /**
+ * DO NOT USE
+ * @deprecated only use for registration purpose
+ */
+ public DEMDatasetGenerator() {
+ this.dataBuffer = null;
+ this.inputX = 0;
+ this.inputY = 0;
+ this.levels = 0;
+ this.rowsPerFragment = 0;
+ this.sampleSizeX = 0;
+ this.sampleSizeY = 0;
+ this.outputX = 0;
+ this.outputY = 0;
+ this.maxZ = 0;
+ this.verticesPerFragment = 0;
+ this.trianglesPerFragment = 0;
+ this.bytesPerTile = 0;
+ this.fileSize = 0;
+ }
+
/**
* Creates a new PatchGenerator
instance.
* @param raster the dem raster
diff --git a/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/dem/filtering/DEMRasterFilterer.java b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/dem/filtering/DEMRasterFilterer.java
index 14fd6fec36..728cd56d36 100644
--- a/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/dem/filtering/DEMRasterFilterer.java
+++ b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/dem/filtering/DEMRasterFilterer.java
@@ -56,6 +56,7 @@
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
import org.deegree.commons.utils.Pair;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.coverage.AbstractCoverage;
import org.deegree.coverage.raster.AbstractRaster;
import org.deegree.coverage.raster.SimpleRaster;
@@ -85,7 +86,7 @@
*
*/
@Tool("Applies a filter to a dem, which is loaded from a raster.")
-public class DEMRasterFilterer {
+public class DEMRasterFilterer implements ToolboxRegistration {
static final Logger LOG = getLogger(DEMRasterFilterer.class);
@@ -122,6 +123,16 @@ public class DEMRasterFilterer {
private byte[] noDatas;
+ /**
+ * DO NOT USE
+ * @deprecated only use for registration purpose
+ */
+ public DEMRasterFilterer() {
+ this.outputDir = null;
+ this.outputType = null;
+ this.stdCorr = 0;
+ }
+
private DEMRasterFilterer(AbstractRaster raster, int kernelSize, float stdCorr, String cacheDir,
String outputDirectory, String outputType) throws IOException {
this.stdCorr = stdCorr;
diff --git a/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/DataManager.java b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/DataManager.java
index 762b8bd39d..9f8412fc5e 100644
--- a/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/DataManager.java
+++ b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/DataManager.java
@@ -52,6 +52,7 @@
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
import org.deegree.commons.utils.ArrayUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.db.ConnectionProvider;
import org.deegree.db.ConnectionProviderProvider;
import org.deegree.services.wpvs.exception.DatasourceException;
@@ -81,7 +82,7 @@
*
*/
@Tool("The DataManager inserts, updates and deletes 3d-objects in/from the WPVS backend")
-public class DataManager {
+public class DataManager implements ToolboxRegistration {
/**
* The Action
the datamanager may perform
diff --git a/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/ModelGeneralizor.java b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/ModelGeneralizor.java
index c5ef9408ae..0db8faab09 100644
--- a/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/ModelGeneralizor.java
+++ b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/ModelGeneralizor.java
@@ -53,6 +53,7 @@
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
import org.deegree.commons.utils.ArrayUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.db.ConnectionProvider;
import org.deegree.db.ConnectionProviderProvider;
import org.deegree.rendering.r3d.opengl.rendering.model.geometry.WorldRenderableObject;
@@ -74,7 +75,7 @@
*
*/
@Tool("Generates a generalization of a building by projecting the boundaries on a 2d plane and calculating a convex hull from them.")
-public class ModelGeneralizor {
+public class ModelGeneralizor implements ToolboxRegistration {
private static final String DB_HOST = "hosturl";
diff --git a/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/PrototypeAssigner.java b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/PrototypeAssigner.java
index d3c19ee717..15cead5f64 100644
--- a/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/PrototypeAssigner.java
+++ b/deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/PrototypeAssigner.java
@@ -53,6 +53,7 @@
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
import org.deegree.commons.utils.ArrayUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.db.ConnectionProvider;
import org.deegree.db.ConnectionProviderProvider;
import org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableQualityModel;
@@ -75,7 +76,7 @@
*
*/
@Tool("Interface to the WPVS backend for assigning prototypes to QualityLevel in a world object model.")
-public class PrototypeAssigner {
+public class PrototypeAssigner implements ToolboxRegistration {
private static final String DB_HOST = "hosturl";
diff --git a/deegree-tools/deegree-tools-3d/src/main/resources/META-INF/services/org.deegree.commons.utils.ToolboxRegistration b/deegree-tools/deegree-tools-3d/src/main/resources/META-INF/services/org.deegree.commons.utils.ToolboxRegistration
new file mode 100644
index 0000000000..23974ab2cc
--- /dev/null
+++ b/deegree-tools/deegree-tools-3d/src/main/resources/META-INF/services/org.deegree.commons.utils.ToolboxRegistration
@@ -0,0 +1,6 @@
+org.deegree.tools.rendering.InteractiveWPVS
+org.deegree.tools.rendering.dem.builder.DEMDatasetGenerator
+org.deegree.tools.rendering.dem.filtering.DEMRasterFilterer
+org.deegree.tools.rendering.manager.DataManager
+org.deegree.tools.rendering.manager.ModelGeneralizor
+org.deegree.tools.rendering.manager.PrototypeAssigner
\ No newline at end of file
diff --git a/deegree-tools/deegree-tools-3d/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-tools/deegree-tools-3d/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..07ee538064
--- /dev/null
+++ b/deegree-tools/deegree-tools-3d/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tools.Tools3DModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-tools/deegree-tools-alkis/src/main/java/org/deegree/tools/alkis/BackReferenceFixer.java b/deegree-tools/deegree-tools-alkis/src/main/java/org/deegree/tools/alkis/BackReferenceFixer.java
index f86bc5c00f..860acbf18b 100644
--- a/deegree-tools/deegree-tools-alkis/src/main/java/org/deegree/tools/alkis/BackReferenceFixer.java
+++ b/deegree-tools/deegree-tools-alkis/src/main/java/org/deegree/tools/alkis/BackReferenceFixer.java
@@ -59,6 +59,7 @@
import org.deegree.commons.tom.gml.property.Property;
import org.deegree.commons.tom.gml.property.PropertyType;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.commons.xml.stax.IndentingXMLStreamWriter;
import org.deegree.feature.Feature;
import org.deegree.feature.property.GenericProperty;
@@ -78,7 +79,7 @@
* @author Andreas Schmitz
*/
@Tool(value = "adds inversDientZurDarstellungVon properties for GeoInfoDok 6.0.1 files")
-public class BackReferenceFixer {
+public class BackReferenceFixer implements ToolboxRegistration {
private static final Logger LOG = getLogger(BackReferenceFixer.class);
diff --git a/deegree-tools/deegree-tools-alkis/src/main/java/org/deegree/tools/alkis/ToolsAlkisModuleInfoProvider.java b/deegree-tools/deegree-tools-alkis/src/main/java/org/deegree/tools/alkis/ToolsAlkisModuleInfoProvider.java
new file mode 100644
index 0000000000..f3c6fc0a8b
--- /dev/null
+++ b/deegree-tools/deegree-tools-alkis/src/main/java/org/deegree/tools/alkis/ToolsAlkisModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tools.alkis;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ToolsAlkisModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-tools/deegree-tools-alkis/src/main/resources/META-INF/services/org.deegree.commons.utils.ToolboxRegistration b/deegree-tools/deegree-tools-alkis/src/main/resources/META-INF/services/org.deegree.commons.utils.ToolboxRegistration
new file mode 100644
index 0000000000..e27a966e93
--- /dev/null
+++ b/deegree-tools/deegree-tools-alkis/src/main/resources/META-INF/services/org.deegree.commons.utils.ToolboxRegistration
@@ -0,0 +1 @@
+org.deegree.tools.alkis.BackReferenceFixer
\ No newline at end of file
diff --git a/deegree-tools/deegree-tools-alkis/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-tools/deegree-tools-alkis/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..79cdd5e57c
--- /dev/null
+++ b/deegree-tools/deegree-tools-alkis/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tools.alkis.ToolsAlkisModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/ToolsBaseModuleInfoProvider.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/ToolsBaseModuleInfoProvider.java
new file mode 100644
index 0000000000..fdcfe3268a
--- /dev/null
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/ToolsBaseModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tools;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ToolsBaseModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/commons/utils/ScanEncoding.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/commons/utils/ScanEncoding.java
index adff80a923..edd0b3fee4 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/commons/utils/ScanEncoding.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/commons/utils/ScanEncoding.java
@@ -43,6 +43,7 @@
import java.io.IOException;
import org.deegree.commons.annotations.Tool;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.slf4j.Logger;
/**
@@ -51,7 +52,7 @@
* @author Andreas Schmitz
*/
@Tool(value = "scans the argument files and tries to guess their encoding, treats dbf files specially")
-public class ScanEncoding {
+public class ScanEncoding implements ToolboxRegistration {
private static final Logger LOG = getLogger(ScanEncoding.class);
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/RTBClient.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/RTBClient.java
index cdcb7dff60..67efb91edd 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/RTBClient.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/RTBClient.java
@@ -56,6 +56,7 @@
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.coverage.AbstractCoverage;
import org.deegree.coverage.raster.AbstractRaster;
import org.deegree.coverage.raster.interpolation.InterpolationType;
@@ -75,7 +76,7 @@
* @author Oliver Tonnhofer
*/
@Tool("Builds a raster tree from a given set of rasters.")
-public class RTBClient {
+public class RTBClient implements ToolboxRegistration {
private static final String OPT_BBOX = "bbox";
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/TransformRaster.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/TransformRaster.java
index 1dbb8bd7ef..c0f85ab7f4 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/TransformRaster.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/TransformRaster.java
@@ -46,6 +46,7 @@
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.coverage.raster.AbstractRaster;
import org.deegree.coverage.raster.RasterTransformer;
import org.deegree.coverage.raster.TiledRaster;
@@ -64,7 +65,7 @@
*
*/
@Tool("Transforms a raster with the given crs into another crs")
-public class TransformRaster {
+public class TransformRaster implements ToolboxRegistration {
/**
* @param args
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/converter/RasterConverter.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/converter/RasterConverter.java
index 6ba73932e6..123f2b7dbe 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/converter/RasterConverter.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/converter/RasterConverter.java
@@ -58,6 +58,7 @@
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
import org.deegree.commons.utils.FileUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.coverage.AbstractCoverage;
import org.deegree.coverage.raster.AbstractRaster;
import org.deegree.coverage.raster.MultiResolutionRaster;
@@ -79,7 +80,7 @@
* @author Rutger Bezema
*/
@Tool("Converts a raster from one type into another.")
-public class RasterConverter {
+public class RasterConverter implements ToolboxRegistration {
private static final String OPT_NUM_THREADS = "num_threads";
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/gridifier/RasterTreeGridifier.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/gridifier/RasterTreeGridifier.java
index a7297e812b..cc0f1e2678 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/gridifier/RasterTreeGridifier.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/gridifier/RasterTreeGridifier.java
@@ -52,13 +52,14 @@
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.regex.Pattern;
-
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
+import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.coverage.raster.AbstractRaster;
import org.deegree.coverage.raster.SimpleRaster;
import org.deegree.coverage.raster.data.RasterData;
@@ -69,15 +70,14 @@
import org.deegree.coverage.raster.data.nio.ByteBufferRasterData;
import org.deegree.coverage.raster.data.nio.PixelInterleavedRasterData;
import org.deegree.coverage.raster.geom.RasterGeoReference;
-import org.deegree.coverage.raster.geom.RasterRect;
import org.deegree.coverage.raster.geom.RasterGeoReference.OriginLocation;
+import org.deegree.coverage.raster.geom.RasterRect;
import org.deegree.coverage.raster.io.RasterIOOptions;
import org.deegree.coverage.raster.io.grid.GridMetaInfoFile;
import org.deegree.coverage.tools.RasterOptionsParser;
import org.deegree.geometry.Envelope;
import org.deegree.geometry.Geometry;
import org.deegree.geometry.GeometryFactory;
-import org.deegree.commons.tools.CommandUtils;
import org.deegree.tools.coverage.gridifier.index.MultiLevelMemoryTileGridIndex;
import org.deegree.tools.coverage.gridifier.index.MultiLevelRasterTileIndex;
import org.deegree.tools.coverage.gridifier.index.MultiResolutionTileGrid;
@@ -90,7 +90,7 @@
* @author Markus Schneider
*/
@Tool("Converts a deegree 2 raster tree into a grid of regular, non-overlapping raster cells encoded as raw RGB blobs, suitable for the WPVS.")
-public class RasterTreeGridifier {
+public class RasterTreeGridifier implements ToolboxRegistration {
final static org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(RasterTreeGridifier.class);
@@ -159,6 +159,27 @@ public class RasterTreeGridifier {
OriginLocation originLocation;
+ /**
+ * DO NOT USE
+ * @deprecated only use for registration purpose
+ */
+ public RasterTreeGridifier() {
+ this.rtbBaseDir = null;
+ this.minX = 0;
+ this.minY = 0;
+ this.maxX = 0;
+ this.maxY = 0;
+ this.outputDir = null;
+ this.tileHeight = 0;
+ this.tileWidth = 0;
+ this.maxBlobSize = 0;
+ this.domainWidth = 0;
+ this.domainHeight = 0;
+ this.tileIndex = null;
+ this.levels = null;
+ this.originLocation = null;
+ }
+
private RasterTreeGridifier(String rtbBaseDir, float minX, float minY, float maxX, float maxY, String jdbcUrl,
String rakTableName, String pyrTableName, String outputDir, int tileHeight, int tileWidth, long maxBlobSize,
OriginLocation location) throws SQLException {
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/CRSInfo.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/CRSInfo.java
index 9f3c2149fc..51ccc5dc17 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/CRSInfo.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/CRSInfo.java
@@ -53,6 +53,7 @@
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.cs.CRSCodeType;
import org.deegree.cs.coordinatesystems.ICRS;
import org.deegree.cs.exceptions.UnknownCRSException;
@@ -66,7 +67,7 @@
* @author Andreas Poth
*/
@Tool("Retrieve information about the availability|definition of a certain crs in deegree")
-public class CRSInfo {
+public class CRSInfo implements ToolboxRegistration {
/*
* Command line options
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/ConfigurationConverger.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/ConfigurationConverger.java
index 245cd00250..668ed40541 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/ConfigurationConverger.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/ConfigurationConverger.java
@@ -55,6 +55,7 @@
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.cs.coordinatesystems.ICRS;
import org.deegree.cs.exceptions.TransformationException;
import org.deegree.cs.exceptions.UnknownCRSException;
@@ -71,7 +72,7 @@
*
*/
@Tool("Export the CoordinateSystems from a given Input format to a given Output format and place the result into an output File.")
-public class ConfigurationConverger {
+public class ConfigurationConverger implements ToolboxRegistration {
private static final String OPT_IN_FILE = "input";
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/CoordinateTransform.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/CoordinateTransform.java
index f608e1d428..38a74cd64c 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/CoordinateTransform.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/CoordinateTransform.java
@@ -44,7 +44,6 @@
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
-
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.Option;
@@ -53,6 +52,7 @@
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.cs.CoordinateTransformer;
import org.deegree.cs.components.IUnit;
import org.deegree.cs.coordinatesystems.ICRS;
@@ -70,7 +70,7 @@
*
*/
@Tool("Convert a point or a list of points from one SRS to another.")
-public class CoordinateTransform {
+public class CoordinateTransform implements ToolboxRegistration {
private static final String OPT_S_SRS = "s_srs";
@@ -90,6 +90,15 @@ public class CoordinateTransform {
private ICRS targetCRS;
+ /**
+ * DO NOT USE
+ * @deprecated only use for registration purpose
+ */
+ public CoordinateTransform() {
+ this.sourceCRS = null;
+ this.targetCRS = null;
+ }
+
/**
* Construct a demo crs with following coordinate systems.
* @param sourceCRS
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/EPSGDBSynchronizer.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/EPSGDBSynchronizer.java
index 2ac6a683c6..8a4e18776b 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/EPSGDBSynchronizer.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/EPSGDBSynchronizer.java
@@ -48,6 +48,7 @@
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.cs.CRSCodeType;
import org.deegree.cs.coordinatesystems.ICRS;
import org.deegree.cs.coordinatesystems.IProjectedCRS;
@@ -86,7 +87,7 @@
*
*/
@Tool("Connects to the EPSG database at //hurricane/epsg, and for all projections (other objects to be added!) that have no CRS codetype in the CRS database, the codes are fetched from the EPSG database.")
-public class EPSGDBSynchronizer {
+public class EPSGDBSynchronizer implements ToolboxRegistration {
private static Logger LOG = LoggerFactory.getLogger(EPSGDBSynchronizer.class);
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/XMLCoordinateTransform.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/XMLCoordinateTransform.java
index 011bd08fb8..43104d85b8 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/XMLCoordinateTransform.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/XMLCoordinateTransform.java
@@ -60,6 +60,7 @@
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.commons.xml.stax.IndentingXMLStreamWriter;
import org.deegree.cs.coordinatesystems.ICRS;
import org.deegree.cs.exceptions.TransformationException;
@@ -76,7 +77,7 @@
* @author Markus Schneider
*/
@Tool("Converts the GML geometries inside an XML document from one SRS to another.")
-public class XMLCoordinateTransform {
+public class XMLCoordinateTransform implements ToolboxRegistration {
private static final Logger LOG = getLogger(XMLCoordinateTransform.class);
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/ApplicationSchemaTool.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/ApplicationSchemaTool.java
index e0f521e7ad..72e74967b0 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/ApplicationSchemaTool.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/ApplicationSchemaTool.java
@@ -67,6 +67,7 @@
import org.deegree.commons.tom.gml.property.PropertyType;
import org.deegree.commons.tom.primitive.BaseType;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.feature.persistence.FeatureStore;
import org.deegree.feature.persistence.FeatureStoreProvider;
import org.deegree.feature.persistence.sql.FeatureTypeMapping;
@@ -90,7 +91,7 @@
* @author Markus Schneider
*/
@Tool("Swiss Army knife for GML/deegree application schemas.")
-public class ApplicationSchemaTool {
+public class ApplicationSchemaTool implements ToolboxRegistration {
// command line parameters
private static final String OPT_ACTION = "action";
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/GMLSchemaAnalyzer.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/GMLSchemaAnalyzer.java
index 4cc3c133a6..335a120f99 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/GMLSchemaAnalyzer.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/GMLSchemaAnalyzer.java
@@ -44,6 +44,7 @@
import org.apache.xerces.xs.XSElementDeclaration;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.gml.GMLVersion;
import org.deegree.tools.i18n.Messages;
@@ -54,7 +55,7 @@
* @author Markus Schneider
*/
@Tool("Prints an analysis of the feature type hierarchy defined in a GML application schema as well as information on the geometry element hierarchy.")
-public class GMLSchemaAnalyzer {
+public class GMLSchemaAnalyzer implements ToolboxRegistration {
// command line parameters
private static final String OPT_INPUT_FILE = "inputfile";
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/MappingShortener.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/MappingShortener.java
index 3a9b8bb5ef..a4f9e25381 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/MappingShortener.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/MappingShortener.java
@@ -47,10 +47,11 @@
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.tools.i18n.Messages;
@Tool("Helps creating readable short versions of feature type / property names for mapping to db.")
-public class MappingShortener {
+public class MappingShortener implements ToolboxRegistration {
private static final String OPT_INPUT_FILE = "inputfile";
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/SchemaAnalyzer.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/SchemaAnalyzer.java
index 2a5149c612..41b61f5da3 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/SchemaAnalyzer.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/SchemaAnalyzer.java
@@ -65,6 +65,7 @@
import org.apache.xerces.xs.XSTypeDefinition;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.w3c.dom.bootstrap.DOMImplementationRegistry;
/**
@@ -73,7 +74,7 @@
* @author Markus Schneider
*/
@Tool("Prints an analysis of the global element declarations in an XML schema and their content models.")
-public class SchemaAnalyzer {
+public class SchemaAnalyzer implements ToolboxRegistration {
// command line parameters
private static final String OPT_INPUT_FILE = "inputfile";
@@ -82,6 +83,14 @@ public class SchemaAnalyzer {
protected final XSModel schema;
+ /**
+ * DO NOT USE
+ * @deprecated only use for registration purpose
+ */
+ public SchemaAnalyzer() {
+ this.schema = null;
+ }
+
protected SchemaAnalyzer(XSModel schema) {
this.schema = schema;
}
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/persistence/FeatureStoreLoader.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/persistence/FeatureStoreLoader.java
index 027236ca8b..a2b20c3771 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/persistence/FeatureStoreLoader.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/persistence/FeatureStoreLoader.java
@@ -50,6 +50,7 @@
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.config.ResourceInitException;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.commons.xml.XMLParsingException;
import org.deegree.cs.exceptions.UnknownCRSException;
import org.deegree.feature.FeatureCollection;
@@ -71,7 +72,7 @@
* @author Markus Schneider
*/
@Tool("Imports feature datasets into a feature store")
-public class FeatureStoreLoader {
+public class FeatureStoreLoader implements ToolboxRegistration {
// command line parameters
private static final String OPT_ACTION = "action";
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/metadata/Harvester.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/metadata/Harvester.java
index ffa2dcf3c6..5ccea1f9f3 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/metadata/Harvester.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/metadata/Harvester.java
@@ -27,6 +27,7 @@
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.config.DeegreeWorkspace;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.commons.xml.CommonNamespaces;
import org.deegree.commons.xml.NamespaceBindings;
import org.deegree.commons.xml.XMLAdapter;
@@ -48,7 +49,7 @@
*/
@Tool(value = "harvest metadata records and insert them in a CSW")
-public class Harvester {
+public class Harvester implements ToolboxRegistration {
private static final NamespaceBindings NAMESPACE_CONTEXT = CommonNamespaces.getNamespaceContext();
@@ -82,6 +83,16 @@ public enum METHODFI {
private final METHODFI methodFI;
+ /**
+ * DO NOT USE
+ * @deprecated only use for registration purpose
+ */
+ public Harvester() {
+ this.verbose = false;
+ this.methodFI = null;
+ this.createFI = null;
+ }
+
/**
* @param verbose
* @throws IOException
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/metadata/ISO19139Validator.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/metadata/ISO19139Validator.java
index d68fdef4d6..a9c4bbcb9a 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/metadata/ISO19139Validator.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/metadata/ISO19139Validator.java
@@ -39,7 +39,6 @@
import java.io.FileWriter;
import java.io.IOException;
import java.net.URL;
-
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
@@ -47,6 +46,7 @@
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.xml.sax.ErrorHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
@@ -60,7 +60,7 @@
* @author Lyn Goltz
*/
@Tool(value = "Validates single metadata records or metadata records from directory against the ISO Schema.")
-public class ISO19139Validator {
+public class ISO19139Validator implements ToolboxRegistration {
private static final String OPT_SRC = "source";
@@ -78,6 +78,14 @@ public enum SCHEMAVERSION {
private final boolean verbose;
+ /**
+ * DO NOT USE
+ * @deprecated only use for registration purpose
+ */
+ public ISO19139Validator() {
+ this.verbose = false;
+ }
+
/**
* @param verbose
*/
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/rendering/r2d/se/PostgreSQLImporter.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/rendering/r2d/se/PostgreSQLImporter.java
index 799637c0aa..f09b68d8a0 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/rendering/r2d/se/PostgreSQLImporter.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/rendering/r2d/se/PostgreSQLImporter.java
@@ -48,6 +48,7 @@
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.db.ConnectionProvider;
import org.deegree.db.ConnectionProviderUtils;
import org.deegree.style.se.parser.PostgreSQLWriter;
@@ -64,7 +65,7 @@
* @author Andreas Schmitz
*/
@Tool(value = "This tool can be used to import SLD/SE files into a WMS styles database.")
-public class PostgreSQLImporter {
+public class PostgreSQLImporter implements ToolboxRegistration {
private static Options initOptions() {
Options opts = new Options();
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/rendering/r2d/se/StyleChecker.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/rendering/r2d/se/StyleChecker.java
index e3af55e64b..5b5ef80fe1 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/rendering/r2d/se/StyleChecker.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/rendering/r2d/se/StyleChecker.java
@@ -54,6 +54,7 @@
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.db.ConnectionProvider;
import org.deegree.db.ConnectionProviderProvider;
import org.deegree.db.ConnectionProviderUtils;
@@ -70,7 +71,7 @@
* @author Andreas Schmitz
*/
@Tool(value = "This tool can be used to check and remove faulty styles in a WMS style database (PostgreSQL).")
-public class StyleChecker {
+public class StyleChecker implements ToolboxRegistration {
private static final Logger LOG = getLogger(StyleChecker.class);
diff --git a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/services/wms/FeatureTypesToLayerTree.java b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/services/wms/FeatureTypesToLayerTree.java
index 0409e0cf9a..9903577900 100644
--- a/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/services/wms/FeatureTypesToLayerTree.java
+++ b/deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/services/wms/FeatureTypesToLayerTree.java
@@ -53,6 +53,7 @@
import org.apache.commons.cli.PosixParser;
import org.deegree.commons.annotations.Tool;
import org.deegree.commons.tools.CommandUtils;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.commons.xml.XMLAdapter;
import org.deegree.commons.xml.stax.IndentingXMLStreamWriter;
import org.deegree.feature.persistence.FeatureStore;
@@ -71,7 +72,7 @@
* @author Andreas Schmitz
*/
@Tool(value = "generates a WMS layer tree/configuration file from a feature type hierarchy")
-public class FeatureTypesToLayerTree {
+public class FeatureTypesToLayerTree implements ToolboxRegistration {
private static final Logger LOG = getLogger(FeatureTypesToLayerTree.class);
diff --git a/deegree-tools/deegree-tools-base/src/main/resources/META-INF/services/org.deegree.commons.utils.ToolboxRegistration b/deegree-tools/deegree-tools-base/src/main/resources/META-INF/services/org.deegree.commons.utils.ToolboxRegistration
new file mode 100644
index 0000000000..665edcb786
--- /dev/null
+++ b/deegree-tools/deegree-tools-base/src/main/resources/META-INF/services/org.deegree.commons.utils.ToolboxRegistration
@@ -0,0 +1,20 @@
+org.deegree.tools.commons.utils.ScanEncoding
+org.deegree.tools.coverage.RTBClient
+org.deegree.tools.coverage.TransformRaster
+org.deegree.tools.coverage.converter.RasterConverter
+org.deegree.tools.coverage.gridifier.RasterTreeGridifier
+org.deegree.tools.crs.ConfigurationConverger
+org.deegree.tools.crs.CoordinateTransform
+org.deegree.tools.crs.CRSInfo
+org.deegree.tools.crs.EPSGDBSynchronizer
+org.deegree.tools.crs.XMLCoordinateTransform
+org.deegree.tools.feature.gml.ApplicationSchemaTool
+org.deegree.tools.feature.gml.GMLSchemaAnalyzer
+org.deegree.tools.feature.gml.MappingShortener
+org.deegree.tools.feature.gml.SchemaAnalyzer
+org.deegree.tools.feature.persistence.FeatureStoreLoader
+org.deegree.tools.metadata.Harvester
+org.deegree.tools.metadata.ISO19139Validator
+org.deegree.tools.rendering.r2d.se.PostgreSQLImporter
+org.deegree.tools.rendering.r2d.se.StyleChecker
+org.deegree.tools.services.wms.FeatureTypesToLayerTree
\ No newline at end of file
diff --git a/deegree-tools/deegree-tools-base/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-tools/deegree-tools-base/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..ed557d0947
--- /dev/null
+++ b/deegree-tools/deegree-tools-base/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tools.ToolsBaseModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-tools/deegree-tools-gml/src/main/java/org/deegree/tools/featurestoresql/ToolsGmlModuleInfoProvider.java b/deegree-tools/deegree-tools-gml/src/main/java/org/deegree/tools/featurestoresql/ToolsGmlModuleInfoProvider.java
new file mode 100644
index 0000000000..51b283443d
--- /dev/null
+++ b/deegree-tools/deegree-tools-gml/src/main/java/org/deegree/tools/featurestoresql/ToolsGmlModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tools.featurestoresql;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ToolsGmlModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-tools/deegree-tools-gml/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-tools/deegree-tools-gml/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..13c2f77c92
--- /dev/null
+++ b/deegree-tools/deegree-tools-gml/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tools.featurestoresql.ToolsGmlModuleInfoProvider
\ No newline at end of file
diff --git a/deegree-tools/deegree-tools-migration/src/main/java/org/deegree/tools/migration/ToolsMigrationModuleInfoProvider.java b/deegree-tools/deegree-tools-migration/src/main/java/org/deegree/tools/migration/ToolsMigrationModuleInfoProvider.java
new file mode 100644
index 0000000000..0d1734da05
--- /dev/null
+++ b/deegree-tools/deegree-tools-migration/src/main/java/org/deegree/tools/migration/ToolsMigrationModuleInfoProvider.java
@@ -0,0 +1,35 @@
+/*----------------------------------------------------------------------------
+ This file is part of deegree
+ Copyright (C) 2001-2024 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+ and
+ - grit GmbH -
+ and others
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ e-mail: info@deegree.org
+ website: http://www.deegree.org/
+----------------------------------------------------------------------------*/
+
+package org.deegree.tools.migration;
+
+import org.deegree.moduleinfo.ModuleInfoProvider;
+
+public class ToolsMigrationModuleInfoProvider implements ModuleInfoProvider {
+
+}
diff --git a/deegree-tools/deegree-tools-migration/src/main/java/org/deegree/tools/migration/WMSMigrator.java b/deegree-tools/deegree-tools-migration/src/main/java/org/deegree/tools/migration/WMSMigrator.java
index 0fab9c74e8..84aa1c16fd 100644
--- a/deegree-tools/deegree-tools-migration/src/main/java/org/deegree/tools/migration/WMSMigrator.java
+++ b/deegree-tools/deegree-tools-migration/src/main/java/org/deegree/tools/migration/WMSMigrator.java
@@ -37,6 +37,7 @@
import java.io.File;
import org.deegree.commons.annotations.Tool;
+import org.deegree.commons.utils.ToolboxRegistration;
import org.deegree.workspace.Workspace;
import org.deegree.workspace.standard.DefaultWorkspace;
@@ -44,7 +45,7 @@
* @author Andreas Schmitz
*/
@Tool(value = "Converts a 3.1 or earlier WMS configuration to 3.2 style configurations. Currently only works for feature layers.")
-public class WMSMigrator {
+public class WMSMigrator implements ToolboxRegistration {
public static void main(String[] args) {
if (args.length == 0) {
diff --git a/deegree-tools/deegree-tools-migration/src/main/resources/META-INF/services/org.deegree.commons.utils.ToolboxRegistration b/deegree-tools/deegree-tools-migration/src/main/resources/META-INF/services/org.deegree.commons.utils.ToolboxRegistration
new file mode 100644
index 0000000000..335bd90e44
--- /dev/null
+++ b/deegree-tools/deegree-tools-migration/src/main/resources/META-INF/services/org.deegree.commons.utils.ToolboxRegistration
@@ -0,0 +1 @@
+org.deegree.tools.migration.WMSMigrator
\ No newline at end of file
diff --git a/deegree-tools/deegree-tools-migration/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/deegree-tools/deegree-tools-migration/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..96fe882c13
--- /dev/null
+++ b/deegree-tools/deegree-tools-migration/src/main/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tools.migration.ToolsMigrationModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/base/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/base/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..6c2d5dd308
--- /dev/null
+++ b/java/org/deegree/base/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.base.CoreBaseModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/client/core/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/client/core/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..5fee259972
--- /dev/null
+++ b/java/org/deegree/client/core/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.client.core.JsfCoreModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/client/wpsprinter/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/client/wpsprinter/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..404c72e953
--- /dev/null
+++ b/java/org/deegree/client/wpsprinter/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.client.wpsprinter.WpsprinterWebclientModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/commons/annotations/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/commons/annotations/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..72a75455e2
--- /dev/null
+++ b/java/org/deegree/commons/annotations/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.commons.annotations.AnnotationsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/commons/gdal/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/commons/gdal/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..b5ada1e997
--- /dev/null
+++ b/java/org/deegree/commons/gdal/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.commons.gdal.CoreGdalModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/commons/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/commons/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..17660f5d01
--- /dev/null
+++ b/java/org/deegree/commons/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.commons.CoreCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/console/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/console/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..7a3b776c8a
--- /dev/null
+++ b/java/org/deegree/console/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.console.WebservicesModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/coverage/raster/io/oraclegeoraster/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/coverage/raster/io/oraclegeoraster/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..256f487553
--- /dev/null
+++ b/java/org/deegree/coverage/raster/io/oraclegeoraster/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.coverage.raster.io.oraclegeoraster.CoveragestoreOracleGeorasterModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/coverage/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/coverage/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..b1abcc185d
--- /dev/null
+++ b/java/org/deegree/coverage/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.coverage.CoreCoverageModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/cs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/cs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..6090a49cd5
--- /dev/null
+++ b/java/org/deegree/cs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.cs.CoreCSModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/db/datasource/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/db/datasource/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..cd03aafa6b
--- /dev/null
+++ b/java/org/deegree/db/datasource/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.db.datasource.ConnectionsproviderDatasourceModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/db/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/db/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..cf2d791ba8
--- /dev/null
+++ b/java/org/deegree/db/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.db.CoreDBModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/feature/persistence/memory/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/feature/persistence/memory/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..67f6cadd09
--- /dev/null
+++ b/java/org/deegree/feature/persistence/memory/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.feature.persistence.memory.FeaturestoreMemoryModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/feature/persistence/remotewfs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/feature/persistence/remotewfs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..507cccfe02
--- /dev/null
+++ b/java/org/deegree/feature/persistence/remotewfs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.feature.persistence.remotewfs.FeaturestoreRemoteWFSModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/feature/persistence/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/feature/persistence/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..b0f4ce2a8a
--- /dev/null
+++ b/java/org/deegree/feature/persistence/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.feature.persistence.FeaturestoreCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/feature/persistence/shape/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/feature/persistence/shape/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..136e872f09
--- /dev/null
+++ b/java/org/deegree/feature/persistence/shape/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.feature.persistence.shape.FeaturestoreShapeModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/feature/persistence/simplesql/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/feature/persistence/simplesql/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..a6abd2ad8f
--- /dev/null
+++ b/java/org/deegree/feature/persistence/simplesql/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.feature.persistence.simplesql.FeaturestoreSimpleSQLModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/feature/persistence/sql/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/feature/persistence/sql/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..24d444bd65
--- /dev/null
+++ b/java/org/deegree/feature/persistence/sql/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.feature.persistence.sql.FeaturestoreSqlModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/featureinfo/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/featureinfo/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..f4f6ee2f43
--- /dev/null
+++ b/java/org/deegree/featureinfo/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.featureinfo.CoreFeatureinfoModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/filter/function/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/filter/function/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..eff6ab2548
--- /dev/null
+++ b/java/org/deegree/filter/function/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.filter.function.FilterFunctionsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/filter/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/filter/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..40b344289a
--- /dev/null
+++ b/java/org/deegree/filter/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.filter.CoreFilterfunctionsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/geometry/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/geometry/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..b8a0609d3e
--- /dev/null
+++ b/java/org/deegree/geometry/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.geometry.CoreGeometryModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/layer/persistence/coverage/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/layer/persistence/coverage/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..c844cbb14a
--- /dev/null
+++ b/java/org/deegree/layer/persistence/coverage/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.layer.persistence.coverage.LayersCoverageModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/layer/persistence/feature/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/layer/persistence/feature/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..34dec4c86b
--- /dev/null
+++ b/java/org/deegree/layer/persistence/feature/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.layer.persistence.feature.LayersFeatureModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/layer/persistence/gdal/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/layer/persistence/gdal/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..e733c78056
--- /dev/null
+++ b/java/org/deegree/layer/persistence/gdal/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.layer.persistence.gdal.LayersGdalModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/layer/persistence/remotewms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/layer/persistence/remotewms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..a0e7c583c4
--- /dev/null
+++ b/java/org/deegree/layer/persistence/remotewms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.layer.persistence.remotewms.LayersRemoteWMSModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/layer/persistence/tile/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/layer/persistence/tile/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..c0c89c222d
--- /dev/null
+++ b/java/org/deegree/layer/persistence/tile/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.layer.persistence.tile.LayersTileModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/layer/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/layer/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..00150395f5
--- /dev/null
+++ b/java/org/deegree/layer/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.layer.CoreLayerModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/metadata/iso/persistence/memory/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/metadata/iso/persistence/memory/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..ca5aed440f
--- /dev/null
+++ b/java/org/deegree/metadata/iso/persistence/memory/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.metadata.iso.persistence.memory.MdstoreIsoMemoryModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/metadata/iso/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/metadata/iso/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..c36597fb13
--- /dev/null
+++ b/java/org/deegree/metadata/iso/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.metadata.iso.MdstoreIsoModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/metadata/persistence/ebrim/eo/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/metadata/persistence/ebrim/eo/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..88b4f90f70
--- /dev/null
+++ b/java/org/deegree/metadata/persistence/ebrim/eo/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.metadata.persistence.ebrim.eo.MdstoreEbrimEoModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/metadata/persistence/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/metadata/persistence/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..c1e8cdbe3b
--- /dev/null
+++ b/java/org/deegree/metadata/persistence/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.metadata.persistence.MdstoreCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/metadata/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/metadata/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..966b219a98
--- /dev/null
+++ b/java/org/deegree/metadata/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.metadata.CoreMetadataModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/protocol/csw/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/protocol/csw/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..03b2d6a841
--- /dev/null
+++ b/java/org/deegree/protocol/csw/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.protocol.csw.ProtocolCswModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/protocol/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/protocol/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..55bcaa97ad
--- /dev/null
+++ b/java/org/deegree/protocol/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.protocol.ProtocolCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/protocol/wfs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/protocol/wfs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..31069885f5
--- /dev/null
+++ b/java/org/deegree/protocol/wfs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.protocol.wfs.ProtocolWfsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/protocol/wms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/protocol/wms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..a33a4f1ca3
--- /dev/null
+++ b/java/org/deegree/protocol/wms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.protocol.wms.ProtocolWmsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/protocol/wmts/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/protocol/wmts/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..8863a132ad
--- /dev/null
+++ b/java/org/deegree/protocol/wmts/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.protocol.wmts.ProtocolWmtsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/remoteows/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/remoteows/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..f2e0046766
--- /dev/null
+++ b/java/org/deegree/remoteows/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.remoteows.RemoteowsCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/remoteows/wms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/remoteows/wms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..6c3a5d656b
--- /dev/null
+++ b/java/org/deegree/remoteows/wms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.remoteows.wms.RemoteowsWmsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/remoteows/wmts/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/remoteows/wmts/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..19ff7a47e8
--- /dev/null
+++ b/java/org/deegree/remoteows/wmts/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.remoteows.wmts.RemoteowsWmtsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/rendering/r2d/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/rendering/r2d/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..d442528b6d
--- /dev/null
+++ b/java/org/deegree/rendering/r2d/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.rendering.r2d.CoreRendering2dModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/rendering/r3d/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/rendering/r3d/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..0aac9870df
--- /dev/null
+++ b/java/org/deegree/rendering/r3d/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.rendering.r3d.CoreR3DModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/services/config/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/services/config/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..5000aed2db
--- /dev/null
+++ b/java/org/deegree/services/config/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.config.ServicesConfigModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/services/csw/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/services/csw/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..fd9376ef1b
--- /dev/null
+++ b/java/org/deegree/services/csw/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.csw.ServicesCswModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/services/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/services/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..2c9f2cd7d3
--- /dev/null
+++ b/java/org/deegree/services/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.ServicesCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/services/wcs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/services/wcs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..8e328ba043
--- /dev/null
+++ b/java/org/deegree/services/wcs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wcs.ServicesWcsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/services/wfs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/services/wfs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..5501e0a0e2
--- /dev/null
+++ b/java/org/deegree/services/wfs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wfs.ServicesWfsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/services/wms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/services/wms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..418ec8c949
--- /dev/null
+++ b/java/org/deegree/services/wms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wms.ServicesWmsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/services/wmts/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/services/wmts/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..02fc08bb9c
--- /dev/null
+++ b/java/org/deegree/services/wmts/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wmts.ServicesWmtsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/services/wps/provider/fme/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/services/wps/provider/fme/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..d24543c7f2
--- /dev/null
+++ b/java/org/deegree/services/wps/provider/fme/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wps.provider.fme.ProcessproviderFmeModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/services/wps/provider/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/services/wps/provider/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..83e1f269e1
--- /dev/null
+++ b/java/org/deegree/services/wps/provider/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wps.provider.ProcessproviderExampleModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/services/wps/provider/style/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/services/wps/provider/style/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..b362924de3
--- /dev/null
+++ b/java/org/deegree/services/wps/provider/style/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wps.provider.style.ProcessproviderStyleModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/services/wps/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/services/wps/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..0c5b90a079
--- /dev/null
+++ b/java/org/deegree/services/wps/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wps.ServicesWpsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/services/wpvs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/services/wpvs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..6471fa93cc
--- /dev/null
+++ b/java/org/deegree/services/wpvs/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.services.wpvs.ServicesWpvsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/sqldialect/mssql/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/sqldialect/mssql/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..34893c1da4
--- /dev/null
+++ b/java/org/deegree/sqldialect/mssql/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.sqldialect.mssql.SqldialectMssqlModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/sqldialect/oracle/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/sqldialect/oracle/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..951c3a87fc
--- /dev/null
+++ b/java/org/deegree/sqldialect/oracle/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.sqldialect.oracle.SqldialectOracleModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/sqldialect/postgis/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/sqldialect/postgis/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..2a4269866c
--- /dev/null
+++ b/java/org/deegree/sqldialect/postgis/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.sqldialect.postgis.SqldialectPostgisModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/sqldialect/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/sqldialect/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..9a67b59169
--- /dev/null
+++ b/java/org/deegree/sqldialect/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.sqldialect.SqldialectCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/style/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/style/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..8accd52324
--- /dev/null
+++ b/java/org/deegree/style/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.style.CoreStyleModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/theme/persistence/remotewms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/theme/persistence/remotewms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..c34c7eae68
--- /dev/null
+++ b/java/org/deegree/theme/persistence/remotewms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.theme.persistence.remotewms.ThemesRemotewmsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/theme/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/theme/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..654ec9cf8d
--- /dev/null
+++ b/java/org/deegree/theme/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.theme.CoreThemeModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/tile/persistence/cache/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/tile/persistence/cache/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..a0dcb16656
--- /dev/null
+++ b/java/org/deegree/tile/persistence/cache/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.cache.TilestoreCacheModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/tile/persistence/filesystem/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/tile/persistence/filesystem/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..b848fad4b9
--- /dev/null
+++ b/java/org/deegree/tile/persistence/filesystem/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.filesystem.TilestoreFilesystemModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/tile/persistence/gdal/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/tile/persistence/gdal/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..2d3c98c821
--- /dev/null
+++ b/java/org/deegree/tile/persistence/gdal/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.gdal.TilestoreGDALModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/tile/persistence/geotiff/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/tile/persistence/geotiff/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..dbae64f32d
--- /dev/null
+++ b/java/org/deegree/tile/persistence/geotiff/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.geotiff.TilestoreGeotiffModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/tile/persistence/merge/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/tile/persistence/merge/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..20903e4807
--- /dev/null
+++ b/java/org/deegree/tile/persistence/merge/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.merge.TilestoreMergeModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/tile/persistence/remotewms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/tile/persistence/remotewms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..4a5dfa2dfc
--- /dev/null
+++ b/java/org/deegree/tile/persistence/remotewms/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.remotewms.TilestoreRemoteWMSModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/tile/persistence/remotewmts/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/tile/persistence/remotewmts/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..3ee4364fbc
--- /dev/null
+++ b/java/org/deegree/tile/persistence/remotewmts/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.persistence.remotewmts.TilestoreRemoteWMTSModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/tile/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/tile/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..5890cc9188
--- /dev/null
+++ b/java/org/deegree/tile/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tile.TilestoreCommonsModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/tools/alkis/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/tools/alkis/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..79cdd5e57c
--- /dev/null
+++ b/java/org/deegree/tools/alkis/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tools.alkis.ToolsAlkisModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/tools/featurestoresql/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/tools/featurestoresql/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..13c2f77c92
--- /dev/null
+++ b/java/org/deegree/tools/featurestoresql/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tools.featurestoresql.ToolsGmlModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/tools/migration/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/tools/migration/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..96fe882c13
--- /dev/null
+++ b/java/org/deegree/tools/migration/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tools.migration.ToolsMigrationModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/tools/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/tools/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..ed557d0947
--- /dev/null
+++ b/java/org/deegree/tools/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.tools.ToolsBaseModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/workspace/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/workspace/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..d303ab13ad
--- /dev/null
+++ b/java/org/deegree/workspace/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.workspace.CoreWorkspaceModuleInfoProvider
\ No newline at end of file
diff --git a/java/org/deegree/wpsclient/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider b/java/org/deegree/wpsclient/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
new file mode 100644
index 0000000000..f3fa045c5c
--- /dev/null
+++ b/java/org/deegree/wpsclient/resources/META-INF/services/org.deegree.moduleinfo.ModuleInfoProvider
@@ -0,0 +1 @@
+org.deegree.wpsclient.WpsWebclientModuleInfoProvider
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 9f3a21380a..c8178726b2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -315,10 +315,14 @@
- true
+ true
+ ${project.name}
+ ${project.version}
+ ${project.groupId}:${project.artifactId}:${buildNumber}:${buildTimestamp} ${user.name}
+ ${project.groupId}
${project.artifactId}
${user.name}
${buildTimestamp}
@@ -1137,21 +1141,6 @@
3.6.0
-
- org.reflections
- reflections
- 0.10.2
-
-
- ch.qos.logback
- logback-classic
-
-
- ch.qos.logback
- logback-core
-
-
-
com.google.code.gson
gson