Skip to content

refactor: flatten the sharing packages into the iam namespace#647

Merged
yasithdev merged 1 commit into
apache:masterfrom
yasithdev:iam-namespace-unify
Jun 8, 2026
Merged

refactor: flatten the sharing packages into the iam namespace#647
yasithdev merged 1 commit into
apache:masterfrom
yasithdev:iam-namespace-unify

Conversation

@yasithdev

Copy link
Copy Markdown
Contributor

Now that the sharing code lives in iam-service, this collapses its org.apache.airavata.sharing.{config,event,grpc,model,repository,service,util} Java packages into the matching org.apache.airavata.iam.* packages so the module has a single coherent namespace. It is an internal, server-side-only move: the proto packages (org.apache.airavata.api.sharing / .groupmanager) and the shared org.apache.airavata.sharing.registry.models.proto types are deliberately left untouched, and every external reference to sharing went through those proto/facade types, so there is no consumer import or gRPC/REST wire-contract change. The redundant SharingServiceConfig is removed because IamServiceConfig already component- and entity-scans org.apache.airavata.iam, which now covers the moved beans and entities. The one name clash — two different AbstractRepository base classes — is resolved by renaming the entity-direct sharing base to AbstractSharingRepository; it has a different type arity and a checked-exception contract than iam's model-converting AbstractRepository, so the two are kept distinct rather than force-merged. The full reactor builds green and iam-service tests (including the relocated ResourceSharingServiceTest) pass.

A follow-up PR will nest the proto packages under api.iam.* (wire-breaking; includes Python SDK regeneration).

Now that the sharing code lives in iam-service, collapse its org.apache.airavata.sharing.{config,event,grpc,model,repository,service,util} Java packages into the matching org.apache.airavata.iam.* packages so the module has a single coherent namespace. This is an internal, server-side-only move: the proto packages (org.apache.airavata.api.sharing / .groupmanager) and the shared org.apache.airavata.sharing.registry.models.proto types are deliberately left untouched, and every external reference to sharing went through those proto/facade types, so no consumer import or gRPC/REST wire contract changes. The redundant SharingServiceConfig is removed because IamServiceConfig already component- and entity-scans org.apache.airavata.iam, which now covers the moved beans and entities. The one name clash — two different AbstractRepository base classes — is resolved by renaming the entity-direct sharing base to AbstractSharingRepository; it has a different type arity and a checked-exception contract than iam's model-converting AbstractRepository, so the two are kept distinct rather than force-merged. The full reactor builds green and iam-service tests (including the relocated ResourceSharingServiceTest) pass.
@yasithdev yasithdev merged commit c5e5199 into apache:master Jun 8, 2026
7 checks passed
@yasithdev yasithdev deleted the iam-namespace-unify branch June 8, 2026 03:01
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.

1 participant