private function _build() { $deploy = $this->_get_deploy(); // get domains $domains = array(); foreach ($deploy->{'domains'} as $d) { $domain = Domain::fromJson($d); $domains[$domain->getId()] = $domain; Logger::debug("load domain %s", $domain->toString()); } // get layers foreach ($deploy->{'layers'} as $l) { $domain = $domains[$l->{'domain_id'}]; $layer = new Layer($l->{'id'}, $domain); $this->_layers[$l->{'id'}] = $layer; Logger::debug("load layer %s", $layer->toString()); } // assign experiments foreach ($deploy->{'experiments'} as $e) { $exp = Experiment::fromJson($e); $this->_exps[$exp->getId()] = $exp; $layer = $this->_layers[$exp->getLayerId()]; $layer->assign($exp); Logger::debug("load exp %s", $exp->toString()); } foreach ($deploy->{'parameters'} as $p) { $param = Parameter::fromJson($p); $this->_baseParams[$param->getName()] = $param->getValue(); Logger::debug("load param %s => %s", $param->getName(), $param->getValue()); } }