<rdf:RDF
    xmlns:s='http://snipsnap.org/rdf/snip-schema#'
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xml:base='http://ulc-community.canoo.com/snipsnap/rdf'>
    <s:Snip rdf:ID='RegexSearch'
         s:name='RegexSearch'
         s:cUser='admin'
         s:oUser='admin'
         s:mUser='admin'>
        <s:content>&lt;h2&gt;Full-text Regex Search&lt;/h2&gt;&#xD;&#xA;&#xD;&#xA;&lt;form name=&quot;search-form&quot; method=&quot;GET&quot; action=&quot;/snipsnap/space/RegexSearch&quot;&gt;&#xD;&#xA;&lt;input type=&quot;text&quot; name=&quot;searchExpression&quot;&#xD;&#xA;&lt;%&#xD;&#xA;if (isSearch()) println &apos;value=&quot;&apos;+ searchExpression + &apos;&quot;&apos;&#xD;&#xA;%&gt;&#xD;&#xA;&gt;&#xD;&#xA;&lt;select name=&quot;sortOrder&quot;&gt;&#xD;&#xA;  &lt;option value=&quot;viewCount.dsc&quot; &lt;%sel(&apos;viewCount.dsc&apos;)%&gt;&gt;by popularity&lt;/option&gt;&#xD;&#xA;  &lt;option value=&quot;title.asc&quot; &lt;%sel(&apos;title.asc&apos;)%&gt;&gt;by name&lt;/option&gt;&#xD;&#xA;  &lt;option value=&quot;mTime.dsc&quot; &lt;%sel(&apos;mTime.dsc&apos;)%&gt;&gt;by last modified&lt;/option&gt;&#xD;&#xA;  &lt;option value=&quot;mUser.asc&quot; &lt;%sel(&apos;mUser.asc&apos;)%&gt;&gt;by user&lt;/option&gt;&#xD;&#xA;&lt;/select&gt;&#xD;&#xA;&lt;input type=&quot;submit&quot; value=&quot;Search&quot;&gt; &lt;small&gt;&lt;a href=&quot;space/RegexSearch/RegexSearchSyntax&quot;&gt;see Search Syntax&lt;/a&gt;&lt;/small&gt;&#xD;&#xA;&lt;/form&gt;&lt;br&gt;&#xD;&#xA;&#xD;&#xA;&lt;%&#xD;&#xA;int MAX=100&#xD;&#xA;&#xD;&#xA;if (isSearch())&#xD;&#xA;{&#xD;&#xA;    if (null == sortOrder) sortOrder=&apos;viewCount.dsc&apos;&#xD;&#xA;&#xD;&#xA;    fac = org.snipsnap.snip.SnipSpaceFactory.instance&#xD;&#xA;&#xD;&#xA;    words = searchExpression.tokenize()&#xD;&#xA;&#xD;&#xA;    list = fac.all.findAll{ snip |&#xD;&#xA;        words.every { currExp |&#xD;&#xA;            currExp = &apos;(?si)&apos;+currExp&#xD;&#xA;            snip.content =~ currExp || snip.title =~ currExp } }.&#xD;&#xA;              sort{ &#xD;&#xA;                atr=it[sortOrder[0..-5]]&#xD;&#xA;                atr instanceof java.lang.String?atr.toLowerCase():atr }&#xD;&#xA;    if (sortOrder.endsWith(&apos;.dsc&apos;)) list = list.reverse()&#xD;&#xA;    list = list[0..MAX]&#xD;&#xA;    table = new SearchResultTable()&#xD;&#xA;    table.renderTable(out, &apos;&lt;hr&gt;Search Results: &apos;, list)&#xD;&#xA;}&#xD;&#xA;&#xD;&#xA;def isSearch() {&#xD;&#xA;    return (searchExpression != null &amp;&amp; searchExpression.size() &gt; 0)&#xD;&#xA;}&#xD;&#xA;&#xD;&#xA;def sel(order) {&#xD;&#xA;   if ( ( isSearch() &amp;&amp; order.equals(sortOrder) ) || (!isSearch() &amp;&amp; order.equals(&apos;viewCount.dsc&apos;) ) ) print &quot;selected&quot;&#xD;&#xA;}&#xD;&#xA;&#xD;&#xA;class SearchResultTable extends com.canoo.snipsnap.macro.AbstractSnipTableMacro {&#xD;&#xA;public String getName() {&#xD;&#xA;   return &quot;search-results&quot;;&#xD;&#xA;}&#xD;&#xA;public void execute(java.io.Writer writer, org.snipsnap.render.macro.parameter.SnipMacroParameter params) {&#xD;&#xA;}&#xD;&#xA;}&#xD;&#xA;%&gt;&#xD;&#xA;&lt;br&gt;&#xD;&#xA;&#xD;&#xA;</s:content>
        <s:mTime>2005-11-14 22:45:19.96</s:mTime>
        <s:cTime>2005-11-14 17:29:54.452</s:cTime>
        <s:comments
             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
        <s:snipLinks>
            <rdf:Bag>
                <rdf:li rdf:resource='#snipsnap-index'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Application Template'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets/Eclipse IDE Integration'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets/Portlet Integration'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Good Practices'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Utilities/Sorted Table Model'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Table Layout'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Fixed Columns Table'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Graphics/JFreeChart Extension II'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Sample Applications/PDF Object Browser'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Graphics/JFreeChart Extension I'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#RegexSearch/RegexSearchSyntax'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets/JFreeReport Usage'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Utilities/Form Model'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Utilities/Printing'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Sample Applications/ULC Editor'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/File Transfer'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Sample Applications/Computer Shopping Application'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets/JSSE Integration'/>
                <rdf:li rdf:resource='#snipsnap-notfound'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Graphics/JGraph Extension'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Title Bar'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Small Template'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Iconizer'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Validation TextField'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Graphics/JGoodies Animation Extension'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Searchable ComboBox'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets/Spring Integration'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Lookup TextField'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Select On Focus TextField'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Link Support'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Sample Applications/ULC Chat'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Date Component'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Date Chooser'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets/UI Testing with JFCUnit'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets/Log4J Integration'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets/Log4J MDC Integration'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Push/Polling Timer'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets/Eclipse RCP Integration'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Validation Components'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extension Template'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Sample Applications/ULC Online Shop'/>
                <rdf:li rdf:resource='#snipsnap-help'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Utilities/Admin Console'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Progress Pane'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Utilities/Splash Screen'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Utilities/Filtered Table Model'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Message Bar'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Border Layout'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets/UI Testing with Jemmy'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets/JMeter Integration'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Sample Applications/Knight Tour'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets/IDEA IDE Integration'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Null Layout'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Utilities/Date Selection Dialog'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Value Field'/>
                <rdf:li rdf:resource='#etienne'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Subset Chooser'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Eclipse Update Site'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Variable Row Height Table'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Fixed Columns TableTree'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#How to Contribute'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Utilities/Serializable Check'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Minimum Size Frame'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Graphics'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets'/>
                <rdf:li rdf:resource='#admin'/>
                <rdf:li rdf:resource='#snipsnap-portlet-1'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#SnipSnap/config'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Extensions/Grid Bag Layout'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#SnipSnap/themes/Canoo'/>
                <rdf:li rdf:resource='#brey.pattison'/>
                <rdf:li rdf:resource='#sandro'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#start/2004-05-02/5'/>
                <rdf:li rdf:resource='#daniel'/>
                <rdf:li rdf:resource='#hugo.kortschak'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Integration Snippets/JDIC Integration'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#start/2005-10-11/1'/>
                <rdf:li rdf:resource='#News'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Utilities/Font Selection'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#Contributions/Sample Applications'/>
                <rdf:li rdf:resource='#sibylle'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#start/2006-05-02/1'/>
                <rdf:li rdf:resource='http://ulc-community.canoo.com/snipsnap/rdf#'/>
            </rdf:Bag>
        </s:snipLinks>
        <s:attachments
             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
        <rdf:type>text/gsp,RegexSearch,RegexSearch</rdf:type>
    </s:Snip>
</rdf:RDF>
