* There's no need to return metadata fields like visibility for the
source in the case where we're returning in the context of an
annotation. This will extend to other security markings elsewhere.
- Implements FederatedAnnotationReader that can read from multiple
sources and reconcile results.
- Removes unfinished write implementations from AnnotationManagerBean
due to new write path design via microservices.
- Removes separate AnnotationSourceReader/Writer interfaces and moved
source specific methods to AnnotationReader/Writer to eliminate
complexity.
- Added truthmark cases to AnnotationManagerBeanFunctionalTest.
- Added assertion to compare two annotation lists to ensure equivalence.
Co-authored-by: Laura Schanno <[email protected]>
## Summary
- Replaces all 120 uses of `datawave.util.TableName` (deprecated since
7.40.0, `forRemoval=true`) with the new
`datawave.table.constants.TableName` class in `core/tables`
- Adds an explicit `datawave-core-tables` dependency to
`core/query/pom.xml` — the only affected module that didn't already have
it transitively
## Test plan
- [x] Formatting build passes (`mvn clean install -DskipTests
-DskipITs`)
- [x] Full test suite passes on CI
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <[email protected]>
* Now provides separate validators for checking annotation data vs.
annotation identity, so that writes of unidentified annotations can be
performend and validated prior to assigning ids.
* Updates ingest tests to add segment hashes
The AnnotationManagerBean's lifecycle as a stateless bean meant we were
caching some objects across requests. This updates the
AnnotationManagerBean to maintain per-reuqest state explicitly instead
of assuming the bean framework will do it for us.
Co-authored-by: Joseph Alphonso <[email protected]>
The major change here is that `lookupDocumentIdentifier` in
AnnotationManagerBean now returns a `List<Metadata>` instead of a
`Metadata` objects, so all bean methods had to be updated to work with
more than one `Metadata` object.
Also implemented a separate annotation-sepecific `Metadata` different
from the one in the event package because the two contexts has different
needs and it made sense to decouple the two.
* Addressed some late comments to the PR
* Enforce the AnnotationWriter role for annotation adds and updates
* Trim the webservices/annotations pom of unused or unnecessary
dependencies
* Replaced `jackson-databind-protobuf` because its response
serialization was inconsistent with request deserialization. The result
is simpler.