示例#1
0
 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());
     }
 }
示例#2
0
 public static function fromJson($json)
 {
     $parameters = array();
     foreach ($json->{'parameters'} as $p) {
         $param = Parameter::fromJson($p);
         $parameters[$param->getName()] = $param->getValue();
     }
     $conditions = array();
     foreach ($json->{'conditions'} as $c) {
         $cond = Condition::fromJson($c);
         $conditions[$cond->getName()] = $cond->getArgs();
     }
     // TODO ranges seems useless
     $ranges = array();
     foreach ($json->{'ranges'} as $range) {
         $ranges[] = BucketRange::fromJson($range);
     }
     return new self($json->{'id'}, $json->{'layer_id'}, $json->{'start_time'}, $json->{'end_time'}, $json->{'diversion'}, $parameters, $conditions, $ranges);
 }