fileSystemRoot/lib/subscriptions/SubscriptionManager.inc");
require_once("$default->fileSystemRoot/lib/subscriptions/SubscriptionEngine.inc");
$oSubscriptionManager = new SubscriptionManager();
echo "
- create some test subscriptions for subscription firing testing
";
// add some subscriptions
$iFolderID = 1;
echo "- Creating folder subscriptions
";
for ($tmpUserID = 1; $tmpUserID<=5; $tmpUserID++) {
if ($oSubscriptionManager->createSubscription($tmpUserID, $iFolderID, SubscriptionConstants::subscriptionType("FolderSubscription"))) {
echo "- created folder subscription folderID=$iFolderID for userID=$tmpUserID
";
} else {
echo "- folder subscription creation failed(" . $_SESSION["errorMessage"] . "): folderID=$iFolderID for userID=$tmpUserID
";
}
}
echo "
";
$iDocumentID = 5;
echo "- Creating document subscriptions
";
for ($tmpUserID = 6; $tmpUserID<=10; $tmpUserID++) {
if ($oSubscriptionManager->createSubscription($tmpUserID, $iDocumentID, SubscriptionConstants::subscriptionType("DocumentSubscription"))) {
echo "- created document subscription documentID=$iDocumentID for userID=$tmpUserID
";
} else {
echo "- document subscription creation failed(" . $_SESSION["errorMessage"] . "): documentID=$iDocumentID for userID=$tmpUserID
";
}
}
echo "
";
// test subscription firing
echo "- Testing subscription firing
";
require_once("../../phpSniff/phpTimer.class.php");
$timer = new phpTimer();
$iTotalCount = 0;
$timer->start('subscriptionFiring');
$timer->start('AddFolder');
$count = SubscriptionEngine::fireSubscription($iFolderID, SubscriptionConstants::subscriptionAlertType("AddFolder"),
SubscriptionConstants::subscriptionType("FolderSubscription"),
array( "newFolderName" => "Fictitious Folder",
"parentFolderName" => "Medical Research Council"));
$iTotalCount += $count;
$timer->stop('AddFolder');
$time = $timer->get_current('AddFolder');
echo "- AddFolder: processed alerts=$count; time=$time; subs/s=" . ($time/$count) . "
";
$timer->start('RemoveFolder');
$count = SubscriptionEngine::fireSubscription($iFolderID, SubscriptionConstants::subscriptionAlertType("RemoveFolder"),
SubscriptionConstants::subscriptionType("FolderSubscription"),
array( "removedFolderName" => "Fictitious Folder",
"parentFolderName" => "Medical Research Council"));
$iTotalCount += $count;
$timer->stop('RemoveFolder');
$time = $timer->get_current('RemoveFolder');
echo "- RemoveFolder: processed alerts=$count; time=$time; subs/s=" . ($time/$count) . "
";
$timer->start('AddDocument');
$count = SubscriptionEngine::fireSubscription($iFolderID, SubscriptionConstants::subscriptionAlertType("AddDocument"),
SubscriptionConstants::subscriptionType("FolderSubscription"),
array( "newDocumentName" => "Fictitious Document",
"folderName" => "Medical Research Council"));
$timer->stop('AddDocument');
$iTotalCount += $count;
$time = $timer->get_current('AddDocument');
echo "- AddDocument: processed alerts=$count; time=$time; subs/s=" . ($time/$count) . "
";
$timer->start('RemoveDocument');
$count = SubscriptionEngine::fireSubscription($iFolderID, SubscriptionConstants::subscriptionAlertType("RemoveDocument"),
SubscriptionConstants::subscriptionType("FolderSubscription"),
array( "removedDocumentName" => "Fictitious Document",
"folderName" => "Medical Research Council"));
$iTotalCount += $count;
$timer->stop('RemoveDocument');
$time = $timer->get_current('RemoveDocument');
echo "- RemoveDocument: processed alerts=$count; time=$time; subs/s=" . ($time/$count) . "
";
$timer->start('ModifyDocument');
$count = SubscriptionEngine::fireSubscription($iDocumentID, SubscriptionConstants::subscriptionAlertType("ModifyDocument"),
SubscriptionConstants::subscriptionType("DocumentSubscription"),
array( "modifiedDocumentName" => "dashboardBL.html"));
$iTotalCount += $count;
$timer->stop('ModifyDocument');
$time = $timer->get_current('ModifyDocument');
echo "- ModifyDocument: processed alerts=$count; time=$time; subs/s=" . ($time/$count) . "
";
$timer->stop('subscriptionFiring');
$time = $timer->get_current('subscriptionFiring');
echo "
- All Subscriptions: processed alerts=$iTotalCount; time=$time; subs/s=" . ($time/$iTotalCount) . "
";
/*
// cleanup silently
for ($i = 1; $i<=10; $i++) {
if ($i<=5) {
$oSubscriptionManager->removeSubscription($i, $iFolderID, SubscriptionConstants::subscriptionType("FolderSubscription"));
} else {
$oSubscriptionManager->removeSubscription($i, $iDocumentID, SubscriptionConstants::subscriptionType("DocumentSubscription"));
}
}
*/
}
?>