loadFile("./Cached_Alerts.xml"); $cached_alerts = $doc->getRootDataObject(); // Use the alertService reference $request = $this->alert_service->createDataObject("http://tuscany.apache.org/sca/samples/aggregator/service", "getAllNewAlerts"); $request->parm = "AString"; $new_alerts = $this->alert_service->getAllNewAlerts($request); foreach($new_alerts->parm->Alert as $alert){ $new_alert = $cached_alerts->createDataObject('Alert'); $new_alert->Title = $alert->Title; $new_alert->Summary = $alert->Summary; $new_alert->Address = $alert->Address; $new_alert->Date = $alert->Date; $new_alert->SourceId = $alert->SourceId; $new_alert->Unread = true; } $return_table = ""; $alert_id_number = 0; foreach($cached_alerts->Alert as $alert){ $alert->Id = "alert_" . $alert_id_number; $title = substr($alert->Title,0,80); $summary = substr($alert->Summary,0,40); $unread_string = $alert->Unread ? "unread_title" : "read_title"; $return_row = << ALERTROW; $return_table = $return_table . $return_row; $alert_id_number += 1; } $return_table = $return_table . "
$title - $summary ... $alert->Date
"; // as php is one shot we have to save away the alerts we want to cache $xmldas->saveFile($doc, "./Cached_Alerts.xml"); return $return_table; } /** * @param string $alert_id * @return string */ public function readAlert($alert_id) { $xmldas = SDO_DAS_XML::create("./Alerter.xsd"); $doc = $xmldas->loadFile("./Cached_Alerts.xml"); $cached_alerts = $doc->getRootDataObject(); $return_summary = ""; foreach($cached_alerts->alert as $alert){ if (strcmp($alert->Id,$alert_Id) == 0){ SCA::$logger->log("Match"); $alert->Unread = false; $return_summary = "
" . $alert->Summary . "
"; } } // as php is one shot we have to save away the alerts we want to cache $xmldas->saveFile($doc, "./Cached_Alerts.xml"); return $return_summary; } /** * @return string */ public function getAlertSourcesHTMLTable() { $request = $this->alert_sources_service->createDataObject("http://tuscany.apache.org/sca/samples/aggregator/sources", "getAlertSources"); $request->parm = "AString"; $alert_sources = $this->alert_sources_service->getAlertSources($request); $return_table = "\n"; $no_of_sources = 0; foreach ($alert_sources->parm->Source as $alert_source){ $source_id = $alert_source->Id; $return_row = << SOURCEROW; $return_table = $return_table . $return_row; $no_of_sources = $no_of_sources + 1; } $source_id = $no_of_sources + 1; $return_row = << ADDROW; $return_table = $return_table . $return_row; $return_table = $return_table . "
  $alert_source->Name
\n"; return $return_table; } /** * @param integer $source_id * @return string */ public function deleteAlertSource($source_id){ $this->alert_sources_service->removeAlertSource($source_id); } /** * @param SingleSourceType $alert_source http://tuscany.apache.org/sca/samples/aggregator/types */ public function addAlertSource($alert_source){ $request = $this->alert_sources_service->createDataObject("http://tuscany.apache.org/sca/samples/aggregator/sources", "addAlertSource"); $source = $request->createDataObject("parm"); $source->Name = $alert_source->Name; $source->Address = $alert_source->Address; $source->Id = $alert_source->Id; $source->Type = $alert_source->Type; $this->alert_sources_service->addAlertSource($request); } /** * @param SourceType $alert_source http://tuscany.apache.org/sca/samples/aggregator/types */ public function updateAlertSource($alert_source){ $this->alert_sources_service->updateAlertSource($alert_source); } } /* Some debugging lines ob_start(); print_r( $new_alerts ); $debug = ob_get_contents(); ob_end_clean(); SCA::$logger->log($debug); */ ?>