Uploaded image for project: 'Aries'
  1. Aries
  2. ARIES-1303

Return type for public API getRespository() is not exported

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • blueprint-core-1.3.0
    • blueprint-core-1.4.4
    • Blueprint
    • None

    Description

      The interface class "org.apache.aries.blueprint.services.ExtendedBlueprintContainer" in the blueprint-core component is a public interface that contains a deprecated internal API method:

      /**

      • To be removed as internal API
        */
        @Deprecated
        Repository getRepository();

      Because this is a public API interface this method is part of a public exported package and is visible to applications, however the return type for the method "org.apache.aries.blueprint.di.Repository" is an internal class and is not exported.

      This can cause issues with tooling that performs checking that all public methods, parameters and return types form a consistent set.

      Ideally this deprecated method should be removed from the public interface (I don't believe it can actually be used by anyone as the return type is not accessible), but as it is used internally it would need moving to some other internal only interface (along with all resulting references).

      Alternatively, while the deprecated method remains visible, the return type should be publicly exported too.

      Attachments

        Activity

          People

            hughesj Jeremy Hughes
            baldwint Tim Baldwin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: