From: cvs@openprivacy.orgCVS update: openprivacy/htdocs/notes
Date:	Monday December 18, 19100 @ 23:36
Author:	fen
CVSWEB Options: -------------------
Main CVSWeb:     http://openprivacy.org/cgi-bin/cvsweb/cvsweb.cgi
View this module:  http://openprivacy.org/cgi-bin/cvsweb/cvsweb.cgi/openprivacy/htdocs/notes
-----------------------------------
Update of /usr/local/cvsroot/openprivacy/htdocs/notes
In directory openprivacy.org:/home/fen/projects/openprivacy/htdocs/notes
Modified Files:
        flow.txt 
Log Message:
jetspeek.getStream
*****************************************************************
File:  openprivacy/htdocs/notes/flow.txt
CVSWEB Options: -------------------
CVSWeb: Annotate this file:         http://openprivacy.org/cgi-bin/cvsweb/cvsweb.cgi/openprivacy/htdocs/notes/flow.txt?annotate=1.36
CVSWeb: View this file:             http://openprivacy.org/cgi-bin/cvsweb/cvsweb.cgi/openprivacy/htdocs/notes/flow.txt?rev=1.36&content-type=text/x-cvsweb-markup
CVSWeb: Diff to previous version:   http://openprivacy.org/cgi-bin/cvsweb/cvsweb.cgi/openprivacy/htdocs/notes/flow.txt.diff?r1=1.36&r2=1.35
-----------------------------------
Index: openprivacy/htdocs/notes/flow.txt
diff -u openprivacy/htdocs/notes/flow.txt:1.35 openprivacy/htdocs/notes/flow.txt:1.36
--- openprivacy/htdocs/notes/flow.txt:1.35	Mon Dec 18 23:15:41 2000
+++ openprivacy/htdocs/notes/flow.txt	Mon Dec 18 23:36:56 2000
@@ -1,4 +1,4 @@
-$Id: flow.txt,v 1.35 2000/12/19 07:15:41 fen Exp $
+$Id: flow.txt,v 1.36 2000/12/19 07:36:56 fen Exp $
 
 http://pix.comedia.com/OpenPrivacy/20001214/DSCN5532.JPG
 
@@ -98,34 +98,39 @@
 
 // ========== in JetsPeek ========== return filtered RSS set
 
-// SCDS returns streams collection (size of collection may be zero)
-// note that this can be optimized a lot (use database, btree, etc...)
+// implementation of (SCDS) getStream facility
+// note: this can be optimized (a lot!) using database, btree, etc...
 //
-resultSet[] = NULL
-for (iterator prob = probStore.retrieve(namespace="RSS*"); prob.hasNext();) {
-    if match( prob.getProperty( "description" ), keyword ) {
-        append( resultSet, prob )
+jetspeek.getStream(filter) {    // filter is a keyword in this example
+    resultSet[] = NULL
+    try {
+        iterator i = probStore.retrieve(namespace="RSS*")
+        while (i.hasNext()) {
+            prob = i.next
+            if match(prob.getProperty("description"), filter) {
+                append(resultSet, prob)
+            }
+        }
+        op = New Opinion(rss.getPropertyResolver())
+        op.setProperty(rssStream, resultSet)    // how is this really done?
+        prob = ProbFactory.create(op, JPN1p)
+
+        // send the resultSet encapsulated in a prob (may be null)
+        //
+        jetspeek.sendMessage(
+            address=Agent1,
+            facility=rssStreamResults,
+            prob=prob,
+            returnAddress=JetsPeek)
+    }
+    catch (Exception e) {       // SCDS.getStream may return an exception
+        jetspeek.sendMessage(
+            address=Agent1,
+            facility=exception,
+            value=ServiceNotAvailable,
+            returnAddress=JetsPeek)
     }
 }
-op = New Opinion(rss.getPropertyResolver())
-op.setProperty(rssStream, resultSet)    // how is this really done?
-prob = ProbFactory.create(op, JPN1p)
-
-// send the resultSet encapsulated in a prob (may be null)
-//
-jetspeek.sendMessage(
-    address=Agent1,
-    facility=rssStreamResults,
-    prob=prob,
-    returnAddress=JetsPeek)
-
-// or SCDS may return an exception is the service is not currently available
-//
-jetspeek.sendMessage(
-    address=Agent1,
-    facility=exception,
-    value=ServiceNotAvailable,
-    returnAddress=JetsPeek)
 
 // ========== in Agent1 ========== choose channels
 // AJ1: RSS1
This archive was generated by hypermail 2b30 : Mon Jan 22 2001 - 15:52:14 PST