Skip to content

feat(calm-hub): refactored namespaces from simple string to full object and added description#2084

Merged
markscott-ms merged 2 commits intofinos:mainfrom
grahampacker-ms:issue-1440-namespace-refactor
Feb 23, 2026
Merged

feat(calm-hub): refactored namespaces from simple string to full object and added description#2084
markscott-ms merged 2 commits intofinos:mainfrom
grahampacker-ms:issue-1440-namespace-refactor

Conversation

@grahampacker-ms
Copy link
Copy Markdown
Member

@grahampacker-ms grahampacker-ms commented Jan 28, 2026

Description

Changed the namespace to a full object from a simple string. This will allow future extension without breaking change. This is a data model change so will break existing calm hubs. Given calm-hub is not ready for proper usage I don't think a migration guide is needed.

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📚 Documentation update
  • 🎨 Code style/formatting changes
  • ♻️ Refactoring (no functional changes)
  • ⚡ Performance improvements
  • ✅ Test additions or updates
  • 🔧 Chore (maintenance, dependencies, CI, etc.)

Affected Components

  • CLI (cli/)
  • Shared (shared/)
  • CALM Widgets (calm-widgets/)
  • CALM Hub (calm-hub/)
  • CALM Hub UI (calm-hub-ui/)
  • Documentation (docs/)
  • VS Code Extension (calm-plugins/vscode/)
  • Dependencies
  • CI/CD

Commit Message Format ✅

Testing

  • I have tested my changes locally
  • I have added/updated unit tests
  • All existing tests pass

Checklist

  • My commits follow the conventional commit format
  • I have updated documentation if necessary
  • I have added tests for my changes (if applicable)
  • My changes follow the project's coding standards

@github-actions github-actions Bot added calm-hub Affects `calm-hub` config calm-hub-ui Affects `calm-hub-ui` labels Jan 28, 2026
@markscott-ms
Copy link
Copy Markdown
Contributor

@grahampacker-ms @willosborne could we have a wider discussion on the roadmap for CalmHub and how these individual changes align to how entitlements, immutable artifact repository, etc, are aligned?

@grahampacker-ms grahampacker-ms force-pushed the issue-1440-namespace-refactor branch 2 times, most recently from 70d5a49 to e3278ef Compare January 28, 2026 20:47
@grahampacker-ms grahampacker-ms changed the title feat(calm-hub): refactored namespaces from simple string to full obje… feat(calm-hub): refactored namespaces from simple string to full obect and added description Jan 29, 2026
@github-actions github-actions Bot added cli Affects `cli` code docs Improvements of additions to documentation labels Feb 3, 2026
@grahampacker-ms grahampacker-ms force-pushed the issue-1440-namespace-refactor branch from 17a4b90 to f366d11 Compare February 3, 2026 11:32
@markscott-ms markscott-ms requested a review from Copilot February 3, 2026 19:02
@markscott-ms
Copy link
Copy Markdown
Contributor

@grahampacker-ms and I had a conversation. happy for this PR to proceed - in fact it is definitely necessary.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 refactors the namespace representation from a simple string to a full object with name and description fields. This is a breaking change that enables future extensibility without additional breaking changes. The refactoring affects both the calm-hub backend and calm-hub-ui frontend.

Changes:

  • Introduced a new NamespaceInfo class with name and description fields
  • Updated NamespaceRequest to include a description field alongside the name field
  • Modified all store implementations (Nitrite and MongoDB) to handle the new namespace structure
  • Updated database initialization scripts and integration tests to use the new format
  • Adapted the UI service to extract name values from the new namespace objects

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
calm-hub/src/main/java/org/finos/calm/domain/namespaces/NamespaceInfo.java New domain class representing namespace information with name and description
calm-hub/src/main/java/org/finos/calm/domain/NamespaceRequest.java Updated to replace namespace field with name and added description field
calm-hub/src/main/java/org/finos/calm/store/NamespaceStore.java Updated interface to return NamespaceInfo objects and accept separate name/description parameters
calm-hub/src/main/java/org/finos/calm/store/nitrite/NitriteNamespaceStore.java Updated to store and retrieve namespace objects with name and description fields
calm-hub/src/main/java/org/finos/calm/store/mongo/MongoNamespaceStore.java Updated to store and retrieve namespace objects with name and description fields
calm-hub/src/main/java/org/finos/calm/resources/NamespaceResource.java Updated to handle the new namespace structure in API requests and responses
calm-hub/src/test/java/org/finos/calm/store/nitrite/TestNitriteNamespaceStoreShould.java Updated tests to work with NamespaceInfo objects
calm-hub/src/test/java/org/finos/calm/store/mongo/TestMongoNamespaceStoreShould.java Updated tests to work with NamespaceInfo objects
calm-hub/src/test/java/org/finos/calm/resources/TestNamespaceResourceShould.java Updated tests for new API structure and removed redundant comments
calm-hub/src/integration-test/java/integration/PermittedScopesIntegration.java Updated to verify both name and description fields in responses
calm-hub/src/integration-test/java/integration/MongoNamespaceIntegration.java Updated to verify both name and description fields in responses
calm-hub/src/integration-test/java/integration/MongoSetup.java Updated test data to include description field
calm-hub/mongo/init-mongo.js Updated initialization script to use new namespace structure
calm-hub-ui/src/service/calm-service.tsx Updated to extract name values from the new namespace object structure

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread calm-hub/src/main/java/org/finos/calm/domain/NamespaceRequest.java
Comment thread calm-hub-ui/src/service/calm-service.tsx Outdated
Comment thread calm-hub/src/main/java/org/finos/calm/resources/NamespaceResource.java Outdated
Comment thread calm-hub/src/main/java/org/finos/calm/resources/NamespaceResource.java Outdated
@markscott-ms markscott-ms marked this pull request as draft February 14, 2026 19:50
@markscott-ms markscott-ms changed the title feat(calm-hub): refactored namespaces from simple string to full obect and added description feat(calm-hub): refactored namespaces from simple string to full object and added description Feb 14, 2026
@markscott-ms markscott-ms added this to the CalmHub MVP milestone Feb 14, 2026
…ct and added description

# Conflicts:
#	package-lock.json
@grahampacker-ms grahampacker-ms force-pushed the issue-1440-namespace-refactor branch from f366d11 to d5884f6 Compare February 23, 2026 09:07
@grahampacker-ms grahampacker-ms marked this pull request as ready for review February 23, 2026 09:21
@markscott-ms markscott-ms merged commit 7f2ce5f into finos:main Feb 23, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

calm-hub Affects `calm-hub` calm-hub-ui Affects `calm-hub-ui` cli Affects `cli` code config docs Improvements of additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants