Bladeren bron

Better track unknown classes exceptions

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@2076 a333f486-631f-4898-b8df-5754b55c2be0
dflaven 13 jaren geleden
bovenliggende
commit
8a0ed7208a
2 gewijzigde bestanden met toevoegingen van 9 en 2 verwijderingen
  1. 2 2
      core/dbobjectsearch.class.php
  2. 7 0
      core/oql/oqlinterpreter.class.inc.php

+ 2 - 2
core/dbobjectsearch.class.php

@@ -1131,7 +1131,7 @@ class DBObjectSearch
 
 		if (!MetaModel::IsValidClass($sClass))
 		{
-			throw new OqlNormalizeException('Unknown class', $sQuery, $oOqlQuery->GetClassDetails(), MetaModel::GetClasses());
+			throw new UnknownClassOqlException($sQuery, $oOqlQuery->GetClassDetails(), MetaModel::GetClasses());
 		}
 
 		$oResultFilter = new DBObjectSearch($sClass, $sClassAlias);
@@ -1151,7 +1151,7 @@ class DBObjectSearch
 				$sJoinClassAlias = $oJoinSpec->GetClassAlias();
 				if (!MetaModel::IsValidClass($sJoinClass))
 				{
-					throw new OqlNormalizeException('Unknown class', $sQuery, $oJoinSpec->GetClassDetails(), MetaModel::GetClasses());
+					throw new UnknownClassOqlException($sQuery, $oJoinSpec->GetClassDetails(), MetaModel::GetClasses());
 				}
 				if (array_key_exists($sJoinClassAlias, $aAliases))
 				{

+ 7 - 0
core/oql/oqlinterpreter.class.inc.php

@@ -31,6 +31,13 @@ class OqlNormalizeException extends OQLException
 		parent::__construct($sIssue, $sInput, 0, $oName->GetPos(), $oName->GetValue(), $aExpecting);
 	}
 }
+class UnknownClassOqlException extends OqlNormalizeException
+{
+	public function __construct($sInput, OqlName $oName, $aExpecting = null)
+	{
+		parent::__construct('Unknown class', $sInput, $oName, $aExpecting);
+	}
+}
 
 class OqlInterpreterException extends OQLException
 {