private function bindModelToResourceList() { $modelBindedResourceList = array(); foreach ($this->resourceList as $resource) { $modelBindedResource = $resource; foreach ($resource['apis'] as $api) { foreach ($api['operations'] as $operation) { if (isset($operation['responseClass'])) { $model = TypeUtils::getType($operation['responseClass']); if (false === TypeUtils::isPrimitive($model)) { $modelBindedResource = $this->bindModelToResource($modelBindedResource, $this->modelTable, $model); } } if (isset($operation['parameters'])) { foreach ($operation['parameters'] as $parameter) { $model = $parameter['dataType']; if (false === TypeUtils::isPrimitive($model)) { $modelBindedResource = $this->bindModelToResource($modelBindedResource, $this->modelTable, $model); } } } } } array_push($modelBindedResourceList, $modelBindedResource); } return $modelBindedResourceList; }
private function setupProperty($value) { @(list($id, $typeAndDesc) = explode(':', $value, 2)); if (!isset($typeAndDesc)) { die('The type of property ' . $id . ' is empty.'); } @(list($type, $description) = explode(' ', $typeAndDesc, 2)); if (isset($description)) { $this->curParams['description'] = $description; } $type = trim($type); $this->curParams['id'] = $id; if (TypeUtils::isArray($type)) { if (TypeUtils::isPrimitive(TypeUtils::getType($type))) { $itemType = 'type'; } else { $itemType = '$ref'; } $this->curParams['itemType'] = $itemType; $this->curParams['items'] = TypeUtils::getType($type); $type = 'Array'; } else { if (TypeUtils::isRange($type)) { list($min, $max) = TypeUtils::getRange($type); $this->curParams['min'] = intval(trim($min)); $this->curParams['max'] = intval(trim($max)); $this->curParams['valueType'] = 'RANGE'; $type = 'int'; } else { if (TypeUtils::isList($type)) { list($type, $values) = TypeUtils::getList($type); $this->curParams['values'] = $values; $this->curParams['valueType'] = "LIST"; } } } $this->curParams['type'] = $type; }