Skip to content

main#4

Open
bradbrowne wants to merge 3863 commits into
mapdojo:masterfrom
geonetwork:main
Open

main#4
bradbrowne wants to merge 3863 commits into
mapdojo:masterfrom
geonetwork:main

Conversation

@bradbrowne

Copy link
Copy Markdown

No description provided.

cmangeat and others added 10 commits September 15, 2025 11:33
* Refactor common code for GN harvesters.
* GeoNetwork 4.x harvester.
* Add support for authentication.
* Unit tests.
* Improve GeoNetwork harvesters documentation pages.

---------

Co-authored-by: Jody Garnett <jody.garnett@gmail.com>
Co-authored-by: Juan Luis Rodríguez <juanluisrp@gmail.com>
Required for the rdf-localised template, for example when processing prov:wasGeneratedBy.
The changes were applied to config-security-openidconnectbearer.xml in the following PR. But seems to have missed applying the changes in config-security-openidconnect.xml
#8875
#8761
… improve sanitize of table / field names (#8930)

* Database harvester / support qualified table names (schema.table) and improve sanitize of table / field names

* Database harvester / support qualified table names (schema.table) and improve sanitize of table / field names / Unit tests
* Update batch privileges dialog texts

* Apply suggestions from code review

---------

Co-authored-by: Juan Luis Rodríguez Ponce <juanluisrp@gmail.com>
Remove the old DOI configuration, which was not removed during the migration to version 4.4.5 if the DOI server was disabled (#9016)
* simplify the default configuration datahub

* change simple config

* fix: add default datahub configuration if  source.datahubConfiguration was empty

* feat: add documentation link in simple toml file

* feat: bump datahub to 2.6.2

---------

Co-authored-by: Florian Necas <florian.necas@camptocamp.com>
…9049)

* Use the artifact identifier id naming convention (only lowercase...)

* housekeeping: avoid ConcurrentModificationException when race condition occurs

---------

Co-authored-by: sebr72 <sebastien_riollet@hotmail.com>
Copilot AI review requested due to automatic review settings October 2, 2025 08:31

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements a comprehensive modernization of GeoNetwork's metadata management system, transitioning from Lucene to Elasticsearch for indexing, refactoring core components for better maintainability, and updating various metadata validation and management features.

  • Migration from Lucene to Elasticsearch with new search manager and indexing infrastructure
  • Refactored metadata managers, validators, and indexers for improved separation of concerns
  • Enhanced multilingual support and schema validation capabilities

Reviewed Changes

Copilot reviewed 167 out of 6389 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
DraftMetadataIndexer.java Migrated to Elasticsearch with new field structures and status management
BaseMetadataValidator.java Updated validation with better error reporting and metadata inflation
BaseMetadataUtils.java Enhanced utils with URL building, DOI support, and modernized repository calls
BaseMetadataStatus.java Improved status management with user transfer capabilities
BaseMetadataOperations.java Streamlined operations with better privilege management
BaseMetadataManager.java Major refactoring for Elasticsearch integration and validation improvements
BaseMetadataIndexer.java Complete rewrite for Elasticsearch with new field mapping and caching
Various other files Updated dependencies, repository calls, and modernized code patterns

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@@ -150,15 +148,16 @@ public void validateExternalMetadata(String schema, Element xml, ServiceContext

if ((!failedAssert.isEmpty()) || (!failedSchematronVerification.isEmpty())) {
StringBuilder errorReport = new StringBuilder();
String errorReportSeparator = "";

Copilot AI Oct 2, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The errorReportSeparator pattern is repeated multiple times. Consider extracting this into a helper method or using a more conventional approach like joining a list of strings.

Copilot uses AI. Check for mistakes.
Comment on lines +159 to +160
errorReport.append(errorReportSeparator).append("schematronVerificationError: " + schematronVerificationError.getTextTrim());
errorReportSeparator = ", ";

Copilot AI Oct 2, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The errorReportSeparator pattern is repeated multiple times. Consider extracting this into a helper method or using a more conventional approach like joining a list of strings.

Copilot uses AI. Check for mistakes.
Comment on lines +186 to +187
errorReport.append(errorReportSeparator).append(reportType).append(':').append(msg);
errorReportSeparator = ", ";

Copilot AI Oct 2, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The errorReportSeparator pattern is repeated multiple times. Consider extracting this into a helper method or using a more conventional approach like joining a list of strings.

Copilot uses AI. Check for mistakes.
return metadataRepository.findOne(id);
java.util.Optional<Metadata> metadata = metadataRepository.findById(id);

return metadata.isPresent()?metadata.get():null;

Copilot AI Oct 2, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Use Optional.orElse(null) instead of the ternary operator for better readability and consistency with Optional patterns.

Suggested change
return metadata.isPresent()?metadata.get():null;
return metadata.orElse(null);

Copilot uses AI. Check for mistakes.
Set<String> waitForIndexing = new HashSet<String>();
Set<String> indexing = new HashSet<String>();
Set<IndexMetadataTask> batchIndex = new ConcurrentHashSet<IndexMetadataTask>();
Set<IndexMetadataTask> batchIndex = ConcurrentHashMap.newKeySet();

Copilot AI Oct 2, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Consider initializing the ConcurrentHashMap.newKeySet() with an expected size to avoid unnecessary resizing operations during bulk indexing operations.

Suggested change
Set<IndexMetadataTask> batchIndex = ConcurrentHashMap.newKeySet();
Set<IndexMetadataTask> batchIndex = ConcurrentHashMap.newKeySet(32);

Copilot uses AI. Check for mistakes.

private void indexMdsReferencingSubTemplate(ServiceContext context, AbstractMetadata subTemplate) throws Exception {
String query = String.format("xlink:*%s*", subTemplate.getUuid());
SearchResponse response = this.searchManager.query(query, null, Set.of("id"),0, maxMdsReferencingSubTemplate);

Copilot AI Oct 2, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The magic number 0 for the 'from' parameter should be extracted as a named constant for better readability.

Copilot uses AI. Check for mistakes.
Comment on lines +155 to +158
THESAURUS_SEARCH_CACHE = CacheBuilder.newBuilder()
.maximumSize(thesaurusCacheMaxSize)
.expireAfterAccess(25, TimeUnit.HOURS)
.build();

Copilot AI Oct 2, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The cache expiration time of 25 hours is a magic number. Consider extracting this as a configurable parameter or named constant.

Copilot uses AI. Check for mistakes.

if (metadataSchema.getElementValues(qualifiedName, currentNode.getQualifiedName()) != null) {
if (isAttribute) {
existingElement = false; // Attribute is created and set after.

Copilot AI Oct 2, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The comment 'Attribute is created and set after.' could be more descriptive about when and where the attribute creation happens.

Suggested change
existingElement = false; // Attribute is created and set after.
// Attribute will be created and set in a subsequent step after the element traversal is complete,
// typically handled after the XPath navigation loop when the attribute name and value are available.
existingElement = false;

Copilot uses AI. Check for mistakes.

if (metadataSchema.getElementValues(qualifiedName, currentNode.getQualifiedName()) != null) {
if (isAttribute) {
existingElement = false; // Attribute is created and set after.

Copilot AI Oct 2, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The comment 'Attribute is created and set after.' could be more descriptive about when and where the attribute creation happens.

Suggested change
existingElement = false; // Attribute is created and set after.
// Attribute will be created and set in a subsequent step after the element node is processed,
// specifically when the code handling attribute creation is executed after this block.
existingElement = false;

Copilot uses AI. Check for mistakes.
sebr72 and others added 12 commits October 2, 2025 11:04
…nDate and standardVersion (#7506)

* Set correct type for ES but does not fail to index when it resourceEditionDate is not a date

* Separate tests than must be run sequentially from the other tests

* Check Elasticsearch indexes are reset before each tests

* Minor refactoring to introduce parameterised xml

* Cleanup xml to almost validate

* Cleanup xml to almost validate (phase 2)
Fixes issue where harvester validation did not have an HTTP request attributes which was causing null pointer error.
* csw, output, summary, mrd:name and mrd:version cannot be copied as they do not exist in the schema.

cf. https://github.com/geonetwork/core-geonetwork/blob/main/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/schema/standards.iso.org/19115/-3/mrd/1.0/distribution.xsd#L121

add extra test: csw output does not change with or without format name an version copy, as input does not carry name or version for format.

* edit.xsl on subtemplate with multilingual elements use correct language id

* test: keyword as xlink: to-iso19115-3.2018-keyword transformation aligned with to-iso19139-keyword

* fix: keyword as xlink: to-iso19115-3.2018-keyword transformation aligned with to-iso19139-keyword
* reactivate CswGetRecords_Test

* csw get record test: use a relative path in 'elementname' using typeNames value a xpath root (relative path should imply use of typeNames as xpath root, /{typeNames}//{ElementName})

* add support for typeNames="che:CHE_MD_Metadata" to csw query

cf. "OpenGIS® Catalogue Services Specification", 07-006r1
DQ_UsabilityElement does not exist in ISO19139. Exclude it from the mapping.
DQ_NonQuantitativeAttributeAccuracy is DQ_NonQuantitativeAttributeCorrectness in ISO19115-3. Also convert it properly in ISO19139.
* Update transifex translations

* Update transifex translations

* Update transifex translations

* Update transifex translations

* Javascript formatting change

* Update transifex translations

* Update transifex translations

---------

Co-authored-by: Olivia <olivia.guyot@camptocamp.com>
* Changelog for 4.4.9

* Update version to 4.4.9-0

* Update version to 4.4.10-SNAPSHOT
Following an error during the merge of the 4.4.9 branch
juanluisrp and others added 30 commits July 4, 2026 13:30
Replace the bundled proj4js-compressed.js with the official npm 2.20.9
minified build (dist/proj4.js), keeping the leading version comment as
before.

proj4 keeps a stable 2.x API: the proj4.defs() / proj4() transform
functions and the interface consumed by ol.proj.proj4.register() are
unchanged, and the build still exposes the global proj4 for the script
tag include. Coordinate transforms for the projections used in the UI
are identical (sub-millimeter for datum-shift grids), so no code
changes are required.
Replace the bundled ace editor files (ace.js, ext-language_tools,
ext-searchbox, the xml/json/html/toml modes and their workers) with the
official ace-builds 1.44.0 src-min build. The files are byte-identical
to the published npm package. The GeoNetwork-specific snippets file
(snippets/gn.js) is kept as is and still loads under the new module
loader.

This normalizes the files back to the upstream minified distribution
(the previous copies had been run through a beautifier). The prettier
maven plugin only formats catalog/{style,components,js,templates,views},
not catalog/lib, so these files are left untouched by the build.
* Bump jackson.version from 2.18.2 to 2.22.0

Updates `com.fasterxml.jackson.datatype:jackson-datatype-hibernate5` from 2.18.2 to 2.22.0
- [Commits](FasterXML/jackson-datatype-hibernate@jackson-datatype-hibernate-parent-2.18.2...jackson-datatype-hibernate-parent-2.22.0)

Updates `com.fasterxml.jackson.core:jackson-databind` from 2.18.2 to 2.22.0
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.18.2 to 2.22.0
- [Commits](FasterXML/jackson-core@jackson-core-2.18.2...jackson-core-2.22.0)

Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.18.2 to 2.22.0

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-hibernate5
  dependency-version: 2.22.0
  dependency-type: direct:production
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-version: 2.22.0
  dependency-type: direct:production
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.22.0
  dependency-type: direct:production
- dependency-name: com.fasterxml.jackson.core:jackson-annotations
  dependency-version: 2.22.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Manage Jackson dependencies with the Jackson BOM

Since Jackson 2.20 the jackson-annotations artifact is released
without the patch component (2.20, 2.21, 2.22), so a single shared
jackson.version property can no longer address every Jackson
artifact: jackson-annotations:2.22.0 does not exist and dependency
resolution fails.

Import com.fasterxml.jackson:jackson-bom instead of managing the
individual artifacts. The BOM maps each artifact to its correct
version, including jackson-datatype-hibernate5, and keeps transitive
Jackson modules aligned with the core version.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juan Luis Rodriguez Ponce <juanluisrp@gmail.com>
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@v4...v5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juan Luis Rodríguez Ponce <juanluisrp@geocat.com>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.4 to 4.36.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](github/codeql-action@v2.2.4...v4.36.2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.36.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.3.1 to 2.4.3.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](ossf/scorecard-action@0864cf1...4eaacf0)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-version: 2.4.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#9325)

Bumps [advanced-security/maven-dependency-submission-action](https://github.com/advanced-security/maven-dependency-submission-action) from 4 to 5.
- [Release notes](https://github.com/advanced-security/maven-dependency-submission-action/releases)
- [Commits](advanced-security/maven-dependency-submission-action@v4...v5)

---
updated-dependencies:
- dependency-name: advanced-security/maven-dependency-submission-action
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.1 to 7.0.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@5d5d22a...043fb46)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juan Luis Rodríguez Ponce <juanluisrp@geocat.com>
Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.3 to 42.7.11.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](pgjdbc/pgjdbc@REL42.7.3...REL42.7.11)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-version: 42.7.11
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juan Luis Rodríguez Ponce <juanluisrp@geocat.com>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.36.2 to 4.36.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@v4.36.2...v4.36.3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.1.0 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](actions/checkout@v3.1.0...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.2.1 to 5.4.0.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](actions/setup-java@v4.2.1...v5.4.0)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-version: 5.4.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@v5...v6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps org.apache.logging.log4j:log4j-core from 2.24.3 to 2.25.4.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-version: 2.25.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…auth config

When a custom UI configuration overrides the authentication block without
including signinAPI or signinUrl, the previous code would set
signInFormActionWithHash/signInFormLinkWithHash to a string starting with
"undefined", producing a broken form action on the catalog.signin page.

Add explicit fallbacks to the built-in defaults so that partial
authentication config overrides do not silently break the login form.
…nts (#9365)

- EsHttpProxy / Unify process source node information for search endpoints
- EsHttpProxy / Streamline metadata schema filters processing
- Skip the JsonPath serialize/deserialize round trip when no schema
  filter applies to the document, keeping the _source node untouched.
- Fetch the editor groups of the user at most once per search response
  instead of once per returned document.
- Fall back to the restrictive behaviour when the edit, download or
  dynamic flags are missing from the document instead of failing.
- Remove a duplicated _source presence check.
- Add tests for the source node processing of _search and _msearch
  responses and the schema filters behaviour.

---------

Co-authored-by: Juan Luis Rodriguez Ponce <juanluisrp@gmail.com>
…#9403)

Reverse the schema comparison in Aligner.updatingLocalMetadata so the
non-null autodetected schema is the receiver, avoiding an NPE when the
catalog record's RecordInfo.schema is null (regression from #9052).

Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Bumps [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) from 4.36.2 to 4.36.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@8aad20d...54f647b)

---
updated-dependencies:
- dependency-name: github/codeql-action/upload-sarif
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Escape HTML content in dashboard controllers
* Escape HTML content in gnVectorFeatureToolTip, GnFeaturesLoader and gnUserSearchManager
* Escape '=' character in escapeHtml utility
* Declare gn_utility_service dependency in gn_featurestable_loader

---------

Co-authored-by: Juan Luis Rodriguez Ponce <juanluisrp@gmail.com>
…o schema is null (#9404)

* Fix GeoNetwork and SFTP harvester NullPointerException when RecordInfo schema is null.

Analog to #9403 (for CSW harvester)

* Add regression tests for RecordInfo null-schema NPE in harvesters

Cover the GeoNetwork and SFTP aligners' schema-comparison branches
with a null catalog schema (as produced by RecordInfo's 2-arg
constructor) and with a matching schema, exercising the fix directly.

* CSW harvester: create RecordInfo with schema information. Related to missing change in #9403

* Add regression tests for RecordInfo null-schema NPE in CSW harvester

---------

Co-authored-by: Juan Luis Rodriguez Ponce <juanluisrp@gmail.com>
* Refactor Xml to extract transformer creation and Fix broken test

* Add security restrictions

* Add authorised gn functions
* Handle async responses asynchronously.

This improves indexing time, especially when the ES connection has a high latency or the ES load is high.

* Delegate the responsibility for batching to the caller

* Dynamically compute the batch size based on the number of expected index entries

* Use a cleaner to make sure all documents get send to the index, even in case on of not properly closed submittors

* Don't use list version of indexMetadata for single entries

* Remove no longer required method forceIndexChanges

* Remove commit index changes from frontend

* Change how a running index job is determined

* Fixed using the wrong map in BatchingIndexSubmittor

* Fix field updating not refreshing

This causes issues with some tests. This issue was already present before the changes

* Fix UserSelectionsApiTest being too strict about the submittor

* Add support for batch deletion as well

* Fix batch deletion

* Allow delete by query to be "batched" by running them async

* submittor -> submitter

* Remove debug sleep

* Remove unused never implemented that still references forceRefreshReaders

* Improve log message when deleting

* Move DatabaseHarvester to new indexing system

* Update core/src/main/java/org/fao/geonet/kernel/search/submission/DirectDeletionSubmitter.java

Co-authored-by: Jose García <josegar74@gmail.com>

* Update core/src/main/java/org/fao/geonet/kernel/search/submission/DirectIndexSubmitter.java

Co-authored-by: Jose García <josegar74@gmail.com>

* Update core/src/main/java/org/fao/geonet/kernel/search/submission/IDeletionSubmitter.java

Co-authored-by: Jose García <josegar74@gmail.com>

* Update core/src/main/java/org/fao/geonet/kernel/search/submission/IIndexSubmitter.java

Co-authored-by: Jose García <josegar74@gmail.com>

* Update core/src/main/java/org/fao/geonet/kernel/search/submission/batch/BatchingDeletionSubmitter.java

Co-authored-by: Jose García <josegar74@gmail.com>

* Update core/src/main/java/org/fao/geonet/kernel/search/submission/batch/BatchingIndexSubmitter.java

Co-authored-by: Jose García <josegar74@gmail.com>

* Update core/src/main/java/org/fao/geonet/kernel/search/submission/batch/BatchingSubmitterBase.java

Co-authored-by: Jose García <josegar74@gmail.com>

* Update core/src/main/java/org/fao/geonet/kernel/search/submission/batch/StateBase.java

Co-authored-by: Jose García <josegar74@gmail.com>

* Fixes after merge

* Fixes after merge

* Fixes after merge

* Fix compile errors after merge

* Adjust batch size calculation

* Trigger another build

---------

Co-authored-by: Jose García <josegar74@gmail.com>
The `gnLinkToSibling` search panel was not supported search by UUID. It was related to some logic to make LIKE query using "*" (made long time ago 86c853c).

There is no such logic for other related types (parent, services, sources, ...) and current search configuration made with `queryBase` configuration option works fine for text and uuid search.

Removing this wildcard search which is not really needed and make the search consistent with other types and the main search.
* Use version 2.5.2 of markdown-page-generator-plugin plugin, compatible with Java 11

* Remove ActiveMQ/JMS and migrate to Camel SEDA

- Removed 'messaging' module and JMS-related dependencies (ActiveMQ).
- Migrated internal messaging from ActiveMQ queues to Camel SEDA components.
- Updated  to use  instead of .
- Replaced  with  in  for sending events.
- Cleaned up JMS-related configuration properties and Maven profiles.
- Updated  to use SEDA as the default consumer URI.

* Remove from the delete route the ActiveMQ queue: prefix and align the periodic-producer URI

* Add tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.