Skip to content

Support for the structured products in the registry#728

Open
al-niessner wants to merge 2 commits intostructuredfrom
issue_632
Open

Support for the structured products in the registry#728
al-niessner wants to merge 2 commits intostructuredfrom
issue_632

Conversation

@al-niessner
Copy link
Contributor

🗒️ Summary

In order for the registry-api to use the structured field names, need to quit doing the property name conversions. Made it selectable via the properties file just because the transition from one to the other may take a while. This gives us the freedom to use the same API code for older or newer registry-apis.

⚙️ Test Data and/or Report

All postman tests pass.

♻️ Related Issues

Last step. Closes #632

🤓 Reviewer Checklist

Reviewers: Please verify the following before approving this pull request.

Security & Quality

  • SonarCloud: Confirmed no new High or Critical security findings.
  • Secrets Detection: Verified that the Secrets Detection scan passed and no sensitive information (keys, tokens, PII) is exposed.
  • Code Quality: Code follows organization style guidelines and best practices for the specific language (e.g., PEP 8, Google Java Style).

Testing & Validation

  • Test Accuracy: Verified that test data is accurate, representative of real-world PDS4 scenarios, and sufficient for the logic being tested.
  • Coverage: Automated tests cover new logic and edge cases.
  • Local Verification: (If applicable) Successfully built and ran the changes in a local or staging environment.

Documentation

  • Documentation: README, Wiki, or inline documentation (Sphinx, Javadoc, Docstrings) have been updated to reflect these changes.

Maintenance

  • Issue Traceability: The PR is linked to a valid GitHub Issue or Jira Ticket.
  • Backward Compatibility: Confirmed that these changes do not break existing downstream dependencies or API contracts (or that breaking changes are clearly documented).

Al Niessner added 2 commits February 2, 2026 09:23
In order for the registry-api to use the structured field names, need to quit doing the property name conversions. Made it selectable via the properties file just because the transition from one to the other may take a while. This gives us the freedom to use the same API code for older or newer registry-apis.
@al-niessner al-niessner self-assigned this Feb 2, 2026
@al-niessner al-niessner requested a review from a team as a code owner February 2, 2026 17:28
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 2, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
B Maintainability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE


# signal if the database being used is "flat" or "structured"
# used an enum of strings, "flat" or "structured" for future new types
registry.field.name.architecture=structured No newline at end of file
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@tloubrieu-jpl

This is how you want to change between flat and structured DB. I am not sure if the postman tests will pass unless you have jumped them to structured already.


static public String jsonPropertyToOpenProperty(String jsonProperty) {
return jsonProperty.replace(".", "/");
if (SearchUtil.fnArch == null || SearchUtil.fnArch.equalsIgnoreCase("flat")) return jsonProperty.replace(".", "/");
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@jordanpadams @tloubrieu-jpl

I made the default (older registry-api applications.properties file) behave as flat. We will need to change the == to != and the || to && if you want the missing property condition to be structured instead.

@al-niessner
Copy link
Contributor Author

@nutjob4life @tloubrieu-jpl

Why is sonar stuff now hidden? Not very useful that it tells me there is one new problem then will not tell me what it is. Should I just start randomly guessing?

@nutjob4life
Copy link
Member

@al-niessner I'm not sure what's being hidden? I can visit the URL https://sonarcloud.io/dashboard?id=NASA-PDS_registry-api&pullRequest=728 — and I don't have to log in

@al-niessner
Copy link
Contributor Author

al-niessner commented Feb 2, 2026 via email

@nutjob4life
Copy link
Member

@nutjob4life
Copy link
Member

No idea why it doesn't load 🤷

@tloubrieu-jpl tloubrieu-jpl changed the base branch from develop to structured February 2, 2026 20:07
@tloubrieu-jpl
Copy link
Member

Hi @al-niessner , we don't want to merge that in develop I believe because we have other updates which need to go to develop for an earlier release. I creted a 'structured' branch which will be the target branch for this PR.

@al-niessner
Copy link
Contributor Author

@nutjob4life

Different browser. I can see it in this browser. Anyway, gonna have to live with it as it is an artifact of springboot.

@al-niessner
Copy link
Contributor Author

@tloubrieu-jpl

It is written to work in both by changing the java property. If the develop is the flat branch then just change java property to flat. When merged into structured branch, change it to structured.

Maybe I do not understand your development idea. Are develop and structured always going to remain apart or will structured be merged into develop? Anyway, I will be in the meeting tomorrow so we can cover it then.

@al-niessner
Copy link
Contributor Author

@tloubrieu-jpl

I do not understand the build failure that registry-loader-test-init did not complete successfully. Did you want me to dig into the cause?

I see you moved the merge into branch to structured already. Thanks.

@tloubrieu-jpl tloubrieu-jpl changed the title last step Support for the structured products in the registry Feb 5, 2026
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.

Add Support for Searching Full PDS4 Structured Metadata

3 participants