@utilities.arguments_not_none<EOL><INDENT>def get_repository_ids_by_composition(self, composition_id):<DEDENT>
mgr = self._get_provider_manager('<STR_LIT>', local=True)<EOL>lookup_session = mgr.get_composition_lookup_session(proxy=self._proxy)<EOL>lookup_session.use_federated_repository_view()<EOL>lookup_session.use_unsequestered_composition_view()<EOL>composition = lookup_session.get_composition(composition_id)<EOL>id_list = []<EOL>if '<STR_LIT>' in composition._my_map:<EOL><INDENT>for idstr in composition._my_map['<STR_LIT>']:<EOL><INDENT>id_list.append(Id(idstr))<EOL><DEDENT><DEDENT>return IdList(id_list)<EOL>
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.*