@utilities.arguments_not_none<EOL><INDENT>def order_assets(self, asset_ids, composition_id):<DEDENT>
if (not isinstance(composition_id, ABCId) and<EOL>composition_id.get_identifier_namespace() != '<STR_LIT>'):<EOL><INDENT>raise errors.InvalidArgument('<STR_LIT>')<EOL><DEDENT>composition_map, collection = self._get_composition_collection(composition_id)<EOL>composition_map['<STR_LIT>'] = order_ids(asset_ids, composition_map['<STR_LIT>'])<EOL>collection.save(composition_map)<EOL>
Reorders a set of assets in a composition.

        arg:    asset_ids (osid.id.Id[]): ``Ids`` for a set of
                ``Assets``
        arg:    composition_id (osid.id.Id): ``Id`` of the
                ``Composition``
        raise:  NotFound - ``composition_id`` not found or, an
                ``asset_id`` not related to ``composition_id``
        raise:  NullArgument - ``instruction_ids`` or ``agenda_id`` is
                ``null``
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        *compliance: mandatory -- This method must be implemented.*