Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace @Tool annotations and remove outdated tools #1386

Closed
lgoltz opened this issue Sep 17, 2022 · 2 comments
Closed

Replace @Tool annotations and remove outdated tools #1386

lgoltz opened this issue Sep 17, 2022 · 2 comments
Assignees
Labels
TMC discussion to be discussed by technical management committee members tools deegree command line tools (CLI)

Comments

@lgoltz
Copy link
Contributor

lgoltz commented Sep 17, 2022

Currently the following tools are available:

  • deegree-tools/deegree-tools-alkis/src/main/java/org/deegree/tools/alkis/BackReferenceFixer.java:
    • @tool(value = "adds inversDientZurDarstellungVon properties for GeoInfoDok 6.0.1 files")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/ConfigurationConverger.java:
    • @tool("Export the CoordinateSystems from a given Input format to a given Output format and place the result into an output File.")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/CRSInfo.java:
    • @tool("Retrieve information about the availability|definition of a certain crs in deegree")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/XMLCoordinateTransform.java:
    • @tool("Converts the GML geometries inside an XML document from one SRS to another.")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/CoordinateTransform.java:
    • @tool("Convert a point or a list of points from one SRS to another.")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/crs/EPSGDBSynchronizer.java:
    • @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.")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/gridifier/RasterTreeGridifier.java:
    • @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.")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/RTBClient.java:
    • @tool("Builds a raster tree from a given set of rasters.")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/converter/RasterConverter.java:
    • @tool("Converts a raster from one type into another.")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/coverage/TransformRaster.java:
    • @tool("Transforms a raster with the given crs into another crs")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/services/wms/FeatureTypesToLayerTree.java:
    • @tool(value = "generates a WMS layer tree/configuration file from a feature type hierarchy")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/metadata/ISO19139Validator.java:
    • @tool(value = "Validates single metadata records or metadata records from directory against the ISO Schema.")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/metadata/Harvester.java:
    • @tool(value = "harvest metadata records and insert them in a CSW")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/rendering/r2d/se/StyleChecker.java:
    • @tool(value = "This tool can be used to check and remove faulty styles in a WMS style database (PostgreSQL).")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/rendering/r2d/se/PostgreSQLImporter.java:
    • @tool(value = "This tool can be used to import SLD/SE files into a WMS styles database.")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/persistence/FeatureStoreLoader.java:
    • @tool("Imports feature datasets into a feature store")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/GMLSchemaAnalyzer.java:
    • @tool("Prints an analysis of the feature type hierarchy defined in a GML application schema as well as information on the geometry element hierarchy.")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/SchemaAnalyzer.java:
    • @tool("Prints an analysis of the global element declarations in an XML schema and their content models.")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/MappingShortener.java:
    • @tool("Helps creating readable short versions of feature type / property names for mapping to db.")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/feature/gml/ApplicationSchemaTool.java:
    • @tool("Swiss Army knife for GML/deegree application schemas.")
  • deegree-tools/deegree-tools-base/src/main/java/org/deegree/tools/commons/utils/ScanEncoding.java:
    • @tool(value = "scans the argument files and tries to guess their encoding, treats dbf files specially")
  • deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/dem/filtering/DEMRasterFilterer.java:
    • @tool("Applies a filter to a dem, which is loaded from a raster.")
  • deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/dem/builder/DEMDatasetGenerator.java:
    • @tool("Generates DEM multiresolution datasets from rasters, suitable for the WPVS.")
  • deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/InteractiveWPVS.java:
    • @tool("Reads in a configuration document for the deegree WPVS and allows the user to interactively navigate through the scene.")
  • deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/ModelGeneralizor.java:
    • @tool("Generates a generalization of a building by projecting the boundaries on a 2d plane and calculating a convex hull from them.")
  • deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/PrototypeAssigner.java:
    • @tool("Interface to the WPVS backend for assigning prototypes to QualityLevel in a world object model.")
  • deegree-tools/deegree-tools-3d/src/main/java/org/deegree/tools/rendering/manager/DataManager.java:
    • @tool("The DataManager inserts, updates and deletes 3d-objects in/from the WPVS backend")
  • deegree-tools/deegree-tools-migration/src/main/java/org/deegree/tools/migration/WMSMigrator.java:
    • @tool(value = "Converts a 3.1 or earlier WMS configuration to 3.2 style configurations. Currently only works for feature layers.")
@tfr42 tfr42 added TMC discussion to be discussed by technical management committee members tools deegree command line tools (CLI) labels Sep 17, 2022
@stephanr
Copy link
Member

I would suggest changing the loading of the sub-tools from reflections to ServiceLoader.
Each tool would have to implement an interface and a service file has to be created.
Then the description could be converted into a method or the annotations of the class could be kept using regular API.

@stephanr stephanr self-assigned this Jun 5, 2024
@stephanr
Copy link
Member

stephanr commented Jun 5, 2024

The implementation of Tool discovery was changed in #1642 from org.reflections to Java ServiceLoader.
With this change, the @Tool annotation is still used to create the list of available tools on CLI.

Some obsolete tools were also removed in #1693.

@stephanr stephanr closed this as completed Jun 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
TMC discussion to be discussed by technical management committee members tools deegree command line tools (CLI)
Projects
None yet
Development

No branches or pull requests

3 participants