Hi Matthew,

The way to do this is to create a new filter type.  You can add FilterHandlers 
to the Muse environment by calling FilterFactory.addHandler (make sure you only 
add them once at startup BEFORE you process any messages), all you need to do 
is specify a Dialect string, so perhaps 
"urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"  would be ideal.  Follow the code 
for TopicFilter and TopicFilterHandler as an example (from source download or 
via online svn).

Then the actual query string can have whatever format you wish.  The Filters 
accepts message is where you add the logic for the query.  Be aware that its 
multithreaded, any thread can publish a message.  The rest of the subscription 
handling is the same as the online docs and WSN example code.

The entire chain for handling subscriptions is then taken care of by Muse 
itself allowing you to subscribe with as many filter types as you want.

cheers,
Chris

-----Original Message-----
From: msw1234567890 [mailto:[EMAIL PROTECTED]
Sent: Wednesday, September 10, 2008 10:18 PM
To: [email protected]
Subject: High level design question


Hello,

Let me first give a little background on the idea.  I am working on developing 
an implementation of a spec which "uses" ws notification.  The only major 
difference is that this spec says that we want to populate the xsd:anyType 
which comes along with a subscribe message with an element which will act as 
our topic or filter.  We are putting a rim:adhocquery in this subscribe message 
which we will then need to access and process in our notificationproducer 
capability.

I notice that the subscribe function which I may override has a consumer, 
filter, terminationTime, and policy as inputs.  So which of those inputs would 
I look in to find my adhocquery "payload".

Here is an example message which I might see in a typical subscribe request.

<wsnt:Subscribe xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2";
    xmlns:wsa="http://www.w3.org/2005/08/addressing";
    xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">

    <wsnt:ConsumerReference>
        <!-- this is the endpoint to notify -->
        <wsa:Address>http://www.carespark.org/AccessConsentUpdateService
        </wsa:Address>
    </wsnt:ConsumerReference>

    <rim:AdhocQuery id="urn:uuid:14d4debf-8f97-4251-9a74-a90016b0af0d">
        <rim:Slot name="$XDSDocumentEntryPatientId">
            <rim:ValueList>
                <!-- this is the patient ID as known by NCHICA -->

<rim:Value>222498764^^^&amp;2.16.840.1.113883.3.18.103&amp;ISO</rim:Value>
            </rim:ValueList>
        </rim:Slot>
        <!--  this ClassCode indicates the Access Consent Policy Document
-->
        <rim:Slot name="$XDSDocumentEntryClassCode">
            <rim:ValueList>
                <rim:Value>XNHIN-CONSENT</rim:Value>
            </rim:ValueList>
        </rim:Slot>
    </rim:AdhocQuery>
</wsnt:Subscribe>


Please let me know if I need to provide more information.  I just started 
looking at Apache Muse so I am still a little shaky on how it all works.
Thanks for your time,

msw
--
View this message in context: 
http://www.nabble.com/High-level-design-question-tp19422315p19422315.html
Sent from the Muse User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to