$contents) { // Name and metadata isset($contents['name']) == TRUE ? $name = $contents['name'] : $name = ''; isset($contents['description']) == TRUE ? $description = $contents['description'] : $description = ''; isset($contents['vendor']) == TRUE ? $vendor = $contents['vendor'] : $vendor = ''; isset($contents['project_name']) == TRUE ? $project = $contents['project_name'] : $project = ''; isset($contents['wiki']) == TRUE ? $wiki = $contents['wiki'] : $wiki = ''; // Creating a nested DataObject of each supported release and it's name and URL $releasesDataObjectSet = new ArrayList(); if (isset($contents['releases_info'])) { $releases = $contents['releases_info']; foreach ($releases as $release) { $releaseEntry = new ArrayData(array( 'Name' => $release['name'], 'Url' => $release['wiki'] )); $releasesDataObjectSet->push($releaseEntry); } } // each row of the table is an ArrayData object $tableEnty = new ArrayData(array( 'Project' => $project, 'Name' => $name, 'Description' => $description, 'Vendor' => $vendor, 'Project' => $project, 'Url' => $wiki, 'Releases' => $releasesDataObjectSet )); // add row to tableEntries DO $tableEntries->push($tableEnty); } return $tableEntries; } }