<?php

require_once "../../bootstrap.php";
KalturaLog::setContext("TESTME");
$type = $_GET["type"];
$bench_start = microtime(true);
KalturaLog::INFO(">------- api_v3 testme type [{$type}]-------");
function toArrayRecursive(KalturaPropertyInfo $propInfo)
{
    return $propInfo->toArray(true);
}
$subClasses = array();
try {
    KalturaTypeReflector::setClassInheritMapPath(KAutoloader::buildPath(kConf::get("cache_root_path"), "api_v3", "KalturaClassInheritMap.cache"));
    if (!KalturaTypeReflector::hasClassInheritMapCache()) {
        $config = new Zend_Config_Ini("../../config/testme.ini");
        $indexConfig = $config->get('testme');
        $include = $indexConfig->get("include");
        $exclude = $indexConfig->get("exclude");
        $excludePaths = $indexConfig->get("excludepaths");
        $additional = $indexConfig->get("additional");
        $clientGenerator = new DummyForDocsClientGenerator();
        $clientGenerator->setIncludeOrExcludeList($include, $exclude, $excludePaths);
        $clientGenerator->setAdditionalList($additional);
        $clientGenerator->load();
        $objects = $clientGenerator->getTypes();
        KalturaTypeReflector::setClassMap(array_keys($objects));
    }
    $subClassesNames = KalturaTypeReflector::getSubClasses($type);
    foreach ($subClassesNames as $subClassName) {
        $subClass = new KalturaPropertyInfo($subClassName);