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

Development branch for v3.0.0 #264

Draft
wants to merge 66 commits into
base: master
Choose a base branch
from
Draft

Development branch for v3.0.0 #264

wants to merge 66 commits into from

Conversation

Pfeil
Copy link
Member

@Pfeil Pfeil commented Jan 24, 2025

Current changes:

  • validation speedup
  • type API and EOSC DTR support

Breaking changes:

  • Due to the validation rewrite, validation errors may occur in different order. While we never gave a guarantee on this, it may be unexpected.
  • A profile is not required anymore in order to support records following profiles in the EOSC DTR, which do not require this. In such a case, only attribute validation is being performed (as always). Before, we expected at least one profile within the record.
  • If a profile does not explicitly state otherwise, additional attributes (that are not defined in a profile) are allowed in a record. Their values will also be validated (attribute validation).

Pfeil and others added 30 commits August 29, 2024 14:53
- support for records without profiles
- support for records with multiple profiles
- support for multiple profile attribute keys/types
- support for additional attributes
- in general, attribute validation and profile validation are now separate tasks
…experiments

# Conflicts:
#	build.gradle
#	src/main/java/edu/kit/datamanager/pit/web/impl/TypingRESTResourceImpl.java
…validation error to the user, not as a PidNotFoundError.
@Pfeil Pfeil added the breaking change Solving the issue will break the API, configuration, or similar. label Jan 24, 2025
@Pfeil Pfeil changed the title v3.0.0 Development branch for v3.0.0 Jan 24, 2025
@coveralls
Copy link

coveralls commented Jan 24, 2025

Pull Request Test Coverage Report for Build #475

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 371 of 466 (79.61%) changed or added relevant lines in 22 files are covered.
  • 2 unchanged lines in 1 file lost coverage.
  • Overall coverage increased (+5.5%) to 77.85%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/main/java/edu/kit/datamanager/pit/cli/CliTaskBootstrap.java 0 1 0.0%
src/main/java/edu/kit/datamanager/pit/resolver/Resolver.java 26 27 96.3%
src/main/java/edu/kit/datamanager/pit/typeregistry/schema/SchemaInfo.java 1 3 33.33%
src/main/java/edu/kit/datamanager/pit/pidsystem/impl/handle/HandleProtocolAdapter.java 4 9 44.44%
src/main/java/edu/kit/datamanager/pit/pitservice/impl/TypingService.java 5 10 50.0%
src/main/java/edu/kit/datamanager/pit/pidsystem/impl/handle/HandleDiff.java 32 38 84.21%
src/main/java/edu/kit/datamanager/pit/pitservice/impl/EmbeddedStrictValidatorStrategy.java 39 45 86.67%
src/main/java/edu/kit/datamanager/pit/typeregistry/RegisteredProfile.java 16 22 72.73%
src/main/java/edu/kit/datamanager/pit/typeregistry/schema/DtrTestSchemaGenerator.java 34 41 82.93%
src/main/java/edu/kit/datamanager/pit/typeregistry/impl/TypeApi.java 97 106 91.51%
Files with Coverage Reduction New Missed Lines %
src/main/java/edu/kit/datamanager/pit/pitservice/impl/EmbeddedStrictValidatorStrategy.java 2 84.31%
Totals Coverage Status
Change from base Build #466: 5.5%
Covered Lines: 956
Relevant Lines: 1228

💛 - Coveralls

@Pfeil Pfeil added this to the 3.0.0 milestone Jan 26, 2025
Pfeil added 8 commits January 27, 2025 16:24
# Conflicts:
#	build.gradle
#	gradle.properties
… the current version of the EOSC schema generator
It will check if we have control over the prefix of the PID we are trying to resolve, and if so, use the configured system as we likely have administrative access and may have a better connection or other advantages.
Otherwise, use a read-only client to the handle system, to make sure we can resolve external PIDs, even if we only create sandboxed ones.
Separate resolver from the configured system
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change Solving the issue will break the API, configuration, or similar.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants