diff --git a/core/oql/oqlexception.class.inc.php b/core/oql/oqlexception.class.inc.php index 4df947e4b..e940d9dbe 100644 --- a/core/oql/oqlexception.class.inc.php +++ b/core/oql/oqlexception.class.inc.php @@ -72,9 +72,15 @@ class OQLException extends CoreException } else { - $sExpectations = '{'.implode(', ', $this->m_aExpecting).'}'; + $sMessage = "$sIssue - found '{$this->m_sUnexpected}' at $iCol in '$sInput'"; + if (count($this->m_aExpecting) < 30) { + $sExpectations = '{'.implode(', ', $this->m_aExpecting).'}'; + $sMessage .= ', expecting '.json_encode($sExpectations); + } $sSuggest = self::FindClosestString($this->m_sUnexpected, $this->m_aExpecting); - $sMessage = "$sIssue - found '{$this->m_sUnexpected}' at $iCol in '$sInput', expecting $sExpectations, I would suggest to use '$sSuggest'"; + if (strlen($sSuggest) > 0) { + $sMessage .= ", I would suggest to use ".json_encode($sSuggest); + } } // make sure everything is assigned properly @@ -155,5 +161,3 @@ class OQLException extends CoreException return $sRet; } } - -?> diff --git a/sources/Forms/IO/Converter/OqlToClassConverter.php b/sources/Forms/IO/Converter/OqlToClassConverter.php index a70851236..15eec0321 100644 --- a/sources/Forms/IO/Converter/OqlToClassConverter.php +++ b/sources/Forms/IO/Converter/OqlToClassConverter.php @@ -33,6 +33,8 @@ class OqlToClassConverter extends AbstractConverter $oModelReflection = DIService::GetInstance()->GetService('ModelReflection'); try { $oQuery = $oModelReflection->GetQuery($oData); + } catch (\OQLParserException $e) { + throw new FormBlockIOException($e->GetIssue(), $e->getCode(), $e); } catch (Exception $e) { throw new FormBlockIOException($e->getMessage(), $e->getCode(), $e); }