浏览代码

Added helpers to export the datamodel

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@1653 a333f486-631f-4898-b8df-5754b55c2be0
romainq 13 年之前
父节点
当前提交
fe16591f2c
共有 4 个文件被更改,包括 16 次插入37 次删除
  1. 4 12
      core/attributedef.class.inc.php
  2. 0 15
      core/filterdef.class.inc.php
  3. 0 10
      core/metamodel.class.php
  4. 12 0
      core/valuesetdef.class.inc.php

+ 4 - 12
core/attributedef.class.inc.php

@@ -116,20 +116,12 @@ abstract class AttributeDefinition
 		$this->m_aParams = $aParams;
 		$this->m_aParams = $aParams;
 		$this->ConsistencyCheck();
 		$this->ConsistencyCheck();
 	}
 	}
-	public function OverloadParams($aParams)
+
+	public function GetParams()
 	{
 	{
-		foreach ($aParams as $sParam => $value)
-		{
-			if (!array_key_exists($sParam, $this->m_aParams))
-			{
-				throw new CoreException("Unknown attribute definition parameter '$sParam', please select a value in {".implode(", ", array_keys($this->m_aParams))."}");
-			}
-			else
-			{
-				$this->m_aParams[$sParam] = $value;
-			}
-		}
+		return $this->m_aParams;
 	}
 	}
+
 	public function SetHostClass($sHostClass)
 	public function SetHostClass($sHostClass)
 	{
 	{
 		$this->m_sHostClass = $sHostClass;
 		$this->m_sHostClass = $sHostClass;

+ 0 - 15
core/filterdef.class.inc.php

@@ -50,21 +50,6 @@ abstract class FilterDefinition
 		$this->ConsistencyCheck();
 		$this->ConsistencyCheck();
 	}
 	}
 
 
-	public function OverloadParams($aParams)
-	{
-		foreach ($aParams as $sParam => $value)
-		{
-			if (!array_key_exists($sParam, $this->m_aParams))
-			{
-				throw new CoreException("Unknown attribute definition parameter '$sParam', please select a value in {".implode(", ", $this->m_aParams)."}");
-			}
-			else
-			{
-				$this->m_aParams[$sParam] = $value;
-			}
-		}
-	}
-
 	// to be overloaded
 	// to be overloaded
 	static protected function ListExpectedParams()
 	static protected function ListExpectedParams()
 	{
 	{

+ 0 - 10
core/metamodel.class.php

@@ -1542,16 +1542,6 @@ if (!array_key_exists($sAttCode, self::$m_aAttribDefs[$sClass]))
 			self::$m_aChildClasses[$sAncestorClass][] = $sTargetClass;
 			self::$m_aChildClasses[$sAncestorClass][] = $sTargetClass;
 		}
 		}
 	}
 	}
-	public static function Init_OverloadAttributeParams($sAttCode, $aParams)
-	{
-		$sTargetClass = self::GetCallersPHPClass("Init");
-		
-		if (!self::IsValidAttCode($sTargetClass, $sAttCode))
-		{
-			throw new CoreException("Could not overload '$sAttCode', expecting a code from {".implode(", ", self::GetAttributesList($sTargetClass))."}");
-		}
-		self::$m_aAttribDefs[$sTargetClass][$sAttCode]->OverloadParams($aParams);
-	}
 
 
 	protected static function Init_IsKnownClass($sClass)
 	protected static function Init_IsKnownClass($sClass)
 	{
 	{

+ 12 - 0
core/valuesetdef.class.inc.php

@@ -187,6 +187,11 @@ class ValueSetObjects extends ValueSetDefinition
 	{
 	{
 		return 'Filter: '.$this->m_sFilterExpr;
 		return 'Filter: '.$this->m_sFilterExpr;
 	}
 	}
+
+	public function GetFilterExpression()
+	{
+		return $this->m_sFilterExpr;
+	}
 }
 }
 
 
 
 
@@ -278,6 +283,13 @@ class ValueSetEnum extends ValueSetDefinition
 		$this->m_values = $Values;
 		$this->m_values = $Values;
 	}
 	}
 
 
+	// Helper to export the datat model
+	public function GetValueList()
+	{
+		$this->LoadValues($aArgs = array());
+		return $this->m_aValues;
+	}
+
 	protected function LoadValues($aArgs)
 	protected function LoadValues($aArgs)
 	{
 	{
 		if (is_array($this->m_values))
 		if (is_array($this->m_values))