MainJavadocExample
ExplorerSourceMapTreeRenderer Example

The ExplorerSourceMapTreeRenderer is used in the Raritan Federated demo application to select sources by taxonomy browsing.


JSP Tag used in this example:
  <search:SourceMapTree
     sourceMapTreeName="Subjects" 
     sourceMapName="TreeSources"
     rendererName="basicRenderer"
     sourceTreeURL="TreeView.jsp"
     searchFormName="AdvancedSearch"
     searchFormURL="TreeView.jsp"
     displayFormName="brief"
     pageSize="10"
   />

XML Configuration for this Example: From the application SourceMap.xml:
  <!-- ============================================================================= -->
  <!--               Source Map Tree for Source browsing                             -->
  <!-- ============================================================================= -->
  <SourceMapTree name="Subjects" param="treepath"  >

    <SourceMapTreeNode name="News" displayFormName="brief" searchForm="AdvancedSearch" category="news" />

    <SourceMapTreeNode name="Healthcare" displayFormName="brief" searchForm="AdvancedSearch" >

      <SourceMapTreeNode name="Consumer" displayFormName="brief" 
                         searchForm="AdvancedSearch" category="consumerHealth" />
      <SourceMapTreeNode name="Research" displayFormName="brief" 
                         searchForm="AdvancedSearch" category="healthcare" >

          <SourceMapTreeNode name="Cardiology" displayFormName="brief" 
                             searchForm="AdvancedSearch" category="healthcare" />
          <SourceMapTreeNode name="Oncology" displayFormName="brief" 
                             searchForm="AdvancedSearch" category="healthcare" />
      </SourceMapTreeNode>
    </SourceMapTreeNode>

    <SourceMapTreeNode name="Government" displayFormName="brief" searchForm="AdvancedSearch" category="government" />

  </SourceMapTree>


  <!-- ============================================================================= -->
  <!--      SourceMapTreeRenderer combines above SourceMapTree and BasicSourceMap    -->
  <!-- ============================================================================= -->
  <SourceMapTreeRenderers>
    <SourceMapTreeRenderer name="basicRenderer"
             class="com.raritantechnologies.searchApp.sourceMap.taglibrary.ExplorerSourceMapTreeRenderer"
             openNodeImg="./images/plus.gif"
             closeNodeImg="./images/minus.gif" 
             treeBgColor="#dfdfdf" 
             searchBgColor="#cceeff" 
             resultBgColor="#eeeeee"
             treeWidth="200" 
             searchResultWidth="600"
             tableHeight="100%" 
             tableClass="sourceMapTreeControl"
             savePageParams="false" >

       <PageLinkRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.CompositePageLinkRenderer"
                       position="both" alignment="sizeRight" pageURL="TreeView.jsp" 
                       break="  |  "  pageSizeText="Results per page: " >
          <pageSize size="10" />
          <pageSize size="20" />
          <pageSize size="50" />
          <pageSize size="100" />
       </PageLinkRenderer>
    </SourceMapTreeRenderer>

  </SourceMapTreeRenderers>
Search Forms Configuration :
(Source dependent search forms selected by SourceMapTree configuration above)
    <!-- ================================================ -->
    <!--        SearchForm for healthcare sites           -->
    <!-- ================================================ -->
    <SearchForm name="AdvancedSearch" category="healthcare" >
     
     <!-- <Field ID="TI" type="text" width="50" name="Title" />
     <Field ID="AU" type="text" width="50" name="Author" /> -->

     <Field ID="KY" type="text" width="50" name="Keywords" />

     <DisplayOptions>
       <PageSize>
           <Option value="10" default="true" />
           <Option value="20"  />
           <Option value="50"  />
       </PageSize>

     </DisplayOptions>
   </SearchForm>


   <!-- ================================================ -->
   <!--           SearchForm for news sites              -->
   <!-- ================================================ -->
   <SearchForm name="AdvancedSearch" category="news" >
     <Field ID="KY" type="text" width="50" name="Keywords" />

     <DisplayOptions>
       <PageSize>
           <Option value="10" default="true" />
           <Option value="20"  />
           <Option value="50"  />
       </PageSize>

     </DisplayOptions>

   </SearchForm>

   <!-- ================================================ -->
   <!--     SearchForm for consumer Health sites         -->
   <!-- ================================================ -->
   <SearchForm name="AdvancedSearch" category="consumerHealth" >
     <Field ID="KY" type="text" width="50" name="Keywords" />

     <DisplayOptions>
       <PageSize>
           <Option value="10" default="true" />
           <Option value="20"  />
           <Option value="50"  />
       </PageSize>

     </DisplayOptions>

   </SearchForm>

   <!-- ================================================ -->
   <!--         SearchForm for Government sites          -->
   <!-- ================================================ -->
   <SearchForm name="AdvancedSearch" category="government" >
     <Field ID="CO" type="text" width="50" name="Company" />
     <Field ID="AU" type="text" width="50" name="Author" />
     <Field ID="KY" type="text" width="50" name="Keywords" />

     <DisplayOptions>
       <PageSize>
           <Option value="10" default="true" />
           <Option value="20"  />
           <Option value="50"  />
       </PageSize>

     </DisplayOptions>

    </SearchForm>
Display Form Configuration:
(Uses DynamicResultRenderer to enable a single DisplayForm to be used for different result types).
   <DisplayForm name="brief" 
                 rendererClass="com.raritantechnologies.quickstart.taglibrary.TableDisplayFormRenderer"
                 bgcolor1="#ffffff" bgcolor2="#EDF3FE" >

    <ResultRenderer 
         rendererClass="com.raritantechnologies.searchApp.taglibrary.DynamicResultRenderer" 
         name="federatedRenderer"
         matchOn="show" >
       <UseRenderer sourceName="MedlineSource,Medline,Toxline" >

         <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.ResultColumnRenderer"
                         width="600" >

            <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.forms.CheckboxResultRenderer"
                          formField="theID" width="50" cacheResultSetName="SelectedRecords" >
               <Field ID="url" />
            </ResultRenderer>

            <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.XSLResultRenderer" 
                           align="left" valign="top" defaultString="&nbsp;" width="550">
              <Source name="Medline" xslFile="BASE_PATH/WEB-INF/conf/Medline/MedlineDisplayTransform.xsl" />
              <Source name="MedlineSource" xslFile="BASE_PATH/WEB-INF/conf/Medline/MedlineDisplayTransform.xsl" />
              <Source name="Toxline" xslFile="BASE_PATH/WEB-INF/conf/Toxline/ToxlineDisplayTransform.xsl" />
            </ResultRenderer>
         </ResultRenderer>
       </UseRenderer>

       <UseRenderer sourceName="BusinessWeek,CBSNews" >
        <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.ResultRowRenderer"
                        width="600" >

         <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.ResultColumnRenderer"
                         width="600" >

            <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.forms.CheckboxResultRenderer"
                          formField="theID" width="50" cacheResultSetName="SelectedRecords" >
               <Field ID="url" />
            </ResultRenderer>
 
            <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.FieldHyperlinkRenderer"
                         width="550" >
              <HrefField ID="url" />
             <LabelField ID="title" />
           </ResultRenderer>
         </ResultRenderer>

         <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.SimpleFieldRenderer"
                         width="600" >
           <Field ID="summary" />
         </ResultRenderer>

         <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.ResultColumnRenderer"
                         width="600" >

           <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.LabelRenderer"
                           width="100" >
             <Label>Source:</Label>
           </ResultRenderer>
 
           <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.SimpleFieldRenderer"
                           width="500" >
             <Field ID="source" />
           </ResultRenderer>
         </ResultRenderer>
        </ResultRenderer>
       </UseRenderer>

       <UseRenderer sourceNames="MayoClinic,WebMD" >

         <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.ResultColumnRenderer"
                         width="600" >

            <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.forms.CheckboxResultRenderer"
                          formField="theID" width="50" cacheResultSetName="SelectedRecords" >
               <Field ID="url" />
            </ResultRenderer>

            <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.XSLResultRenderer" 
                           align="left" valign="top" defaultString="&nbsp;" width="550">
              <Source name="MayoClinic" xslFile="BASE_PATH/WEB-INF/conf/MayoClinic/MayoClinicDisplayTransform.xsl" />
              <Source name="WebMD" xslFile="BASE_PATH/WEB-INF/conf/WebMD/WebMDDisplayTransform.xsl" />
            </ResultRenderer>
         </ResultRenderer>
       </UseRenderer>


       <UseRenderer sourceNames="ClinicalTrials" >

        <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.ResultRowRenderer"
                        width="600" >

         <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.ResultColumnRenderer"
                         width="600" >

            <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.forms.CheckboxResultRenderer"
                          formField="theID" width="50" cacheResultSetName="SelectedRecords" >
               <Field ID="url" />
            </ResultRenderer>
            <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.FieldHyperlinkRenderer"
                         width="550" >
              <HrefField ID="url" />
              <LabelField ID="title" />
            </ResultRenderer>
         </ResultRenderer>

         <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.ResultColumnRenderer"
                         width="600" >

             <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.LabelRenderer"
                           width="100" >
                 <Label>Condition:</Label>
             </ResultRenderer>
 
             <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.SimpleFieldRenderer"
                         width="200" >
               <Field ID="Condition" />
             </ResultRenderer>

             <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.LabelRenderer"
                           width="100" >
                 <Label>Recruiting:</Label>
             </ResultRenderer>
 
             <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.SimpleFieldRenderer"
                         width="200" >
               <Field ID="Recruiting" />
             </ResultRenderer>

         </ResultRenderer>

         <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.LabelRenderer"
                           width="100" >
             <Label>Source: Clinical Trials</Label>
         </ResultRenderer>

        </ResultRenderer>
       </UseRenderer>

       <UseRenderer sourceNames="USPatentOffice" >

         <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.ResultColumnRenderer"
                         width="600" >

            <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.forms.CheckboxResultRenderer"
                          formField="theID" width="50" cacheResultSetName="SelectedRecords" >
               <Field ID="url" />
            </ResultRenderer>
            <ResultRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.XSLResultRenderer" 
                           align="left" valign="top" defaultString="&nbsp;" width="550">
              <Source name="USPatentOffice" xslFile="BASE_PATH/WEB-INF/conf/USPatentOffice/USPTODisplayTransform.xsl" />
            </ResultRenderer>
        </ResultRenderer>
      </UseRenderer>
      </ResultRenderer>
    </DisplayForm>