def assign_objective_requisite(self, objective_id=None, requisite_objective_id=None):
        """Creates a requirement dependency between two Objectives.

        arg:    objective_id (osid.id.Id): the Id of the dependent
                Objective
        arg:    requisite_objective_id (osid.id.Id): the Id of the
                required Objective
        raise:  AlreadyExists - objective_id already mapped to
                requisite_objective_id
        raise:  NotFound - objective_id or requisite_objective_id not
                found
        raise:  NullArgument - objective_id or requisite_objective_id is
                null
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        compliance: mandatory - This method must be implemented.

        """
        if objective_id is None or requisite_objective_id is None:
            raise NullArgument()
        ors = ObjectiveRequisiteSession(self._objective_bank_id, runtime=self._runtime)
        ids_arg = {'ids': []}
        for objective in ors.get_requisite_objectives(objective_id):
            if objective.get_id() == requisite_objective_id:
                raise AlreadyExists()
            ids_arg['ids'].append(str(objective.get_id()))
        ids_arg['ids'].append(str(requisite_objective_id))

        url_path = construct_url('requisiteids',
                                 bank_id=self._catalog_idstr,
                                 obj_id=objective_id)
        try:
            result = self._put_request(url_path, ids_arg)
        except Exception:
            raise
        id_list = list()
        for identifier in result['ids']:
            id_list.append(Id(idstr=identifier))
        return id_objects.IdList(id_list)
def assign_objective_requisite ( self , objective_id = None , requisite_objective_id = None ) : if objective_id is None or requisite_objective_id is None : raise NullArgument ( ) ors = ObjectiveRequisiteSession ( self . _objective_bank_id , runtime = self . _runtime ) ids_arg = { 'ids' : [ ] } for objective in ors . get_requisite_objectives ( objective_id ) : if objective . get_id ( ) == requisite_objective_id : raise AlreadyExists ( ) ids_arg [ 'ids' ] . append ( str ( objective . get_id ( ) ) ) ids_arg [ 'ids' ] . append ( str ( requisite_objective_id ) ) url_path = construct_url ( 'requisiteids' , bank_id = self . _catalog_idstr , obj_id = objective_id ) try : result = self . _put_request ( url_path , ids_arg ) except Exception : raise id_list = list ( ) for identifier in result [ 'ids' ] : id_list . append ( Id ( idstr = identifier ) ) return id_objects . IdList ( id_list )
Creates a requirement dependency between two Objectives.

        arg:    objective_id (osid.id.Id): the Id of the dependent
                Objective
        arg:    requisite_objective_id (osid.id.Id): the Id of the
                required Objective
        raise:  AlreadyExists - objective_id already mapped to
                requisite_objective_id
        raise:  NotFound - objective_id or requisite_objective_id not
                found
        raise:  NullArgument - objective_id or requisite_objective_id is
                null
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        compliance: mandatory - This method must be implemented.