find the location according location id (prioritary) or location name
        :param loc_id: the location id
        :param loc_name: the location name
        :return: found location or None if not found

def find_location(loc_id=None, loc_name=None):
        """
        find the location according location id (prioritary) or location name
        :param loc_id: the location id
        :param loc_name: the location name
        :return: found location or None if not found
        """
        LOGGER.debug("LocationService.find_location")
        if (loc_id is None or not loc_id) and (loc_name is None or not loc_name):
            raise exceptions.ArianeCallParametersError('id and name')

        if (loc_id is not None and loc_id) and (loc_name is not None and loc_name):
            LOGGER.warn('LocationService.find_location - Both id and name are defined. Will give you search on id.')
            loc_name = None

        params = None
        if loc_id is not None and loc_id:
            params = {'id': loc_id}
        elif loc_name is not None and loc_name:
            params = {'name': loc_name}

        ret = None
        if params is not None:
            args = {'http_operation': 'GET', 'operation_path': 'get', 'parameters': params}
            response = LocationService.requester.call(args)
            if response.rc == 0:
                ret = Location.json_2_location(response.response_content)
            elif response.rc != 404:
                err_msg = 'LocationService.find_location - Problem while finding location (id:' + str(loc_id) + \
                          ', name:' + str(loc_name) + '). ' \
                          'Reason: ' + str(response.response_content) + '-' + str(response.error_message) + \
                          " (" + str(response.rc) + ")"
                LOGGER.warning(err_msg)

        return ret