def get_repository_ids_by_composition(self, composition_id):
        """Gets the ``Repository``  ``Ids`` mapped to a ``Composition``.

        arg:    composition_id (osid.id.Id): ``Id`` of a ``Composition``
        return: (osid.id.IdList) - list of repository ``Ids``
        raise:  NotFound - ``composition_id`` is not found
        raise:  NullArgument - ``composition_id`` is ``null``
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        *compliance: mandatory -- This method must be implemented.*

        """
        mgr = self._get_provider_manager('REPOSITORY', local=True)
        lookup_session = mgr.get_composition_lookup_session(proxy=self._proxy)
        lookup_session.use_federated_repository_view()
        lookup_session.use_unsequestered_composition_view()
        composition = lookup_session.get_composition(composition_id)
        id_list = []
        if 'assignedRepositoryIds' in composition._my_map:
            for idstr in composition._my_map['assignedRepositoryIds']:
                id_list.append(Id(idstr))
        return IdList(id_list)
Gets the ``Repository``  ``Ids`` mapped to a ``Composition``.

        arg:    composition_id (osid.id.Id): ``Id`` of a ``Composition``
        return: (osid.id.IdList) - list of repository ``Ids``
        raise:  NotFound - ``composition_id`` is not found
        raise:  NullArgument - ``composition_id`` is ``null``
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        *compliance: mandatory -- This method must be implemented.*