<!--
 * Copyright (c) 2001, 2003, Oracle Corporation.  All rights reserved.  
 *
 *      NAME
 *       searchFileSysOnHosts.uix
 *
 *      NOTES
 *       search Oracle Patchsets installed in Homes
 *
 * MODIFIED (MM/DD/YY)  VERSION
 *  awarkar  12/03/03 - Bug Fix For Issue#3280397 
 *  kchiasso 10/28/03 - bugfix 3211721 
 *  kchiasso 10/08/03 - add login to title 
 *  shuberma 09/29/03 - Use mgmt$group_flat_memberships 
 *  kchiasso 03/25/03 - bugfix csv name
 *  shuberma 03/05/03 - Adding group membership filter
 *  goramamo 11/01/02 - removed mount time
 *    kchias 10/29/02 - bugfix 2635634
 *    kchias 10/14/02 - ui review cleanup
 *    kchias 10/02/02 - ADA compliant
 *    kchias 09/30/02 - 
 *    kchias 09/18/02 - fix 2565994
 *    kchias 08/27/02 - kchiasso_ecm_search_aug1902
 *
 *
 *  @author  kChiasson
 *
-->
<page xmlns="http://bali.us.oracle.com/cabo/baja"
      xmlns:baja="http://bali.us.oracle.com/cabo/baja"
      xmlns:marlin="http://bali.us.oracle.com/cabo/marlin"
      xmlns:uix="http://bali.us.oracle.com/cabo/marlin"
      xmlns:html="http://www.w3.org/TR/REC-html40"
      xmlns:data="http://bali.us.oracle.com/cabo/marlin">

 <baja:head   xmlns="http://bali.us.oracle.com/cabo/marlin"
              xmlns:uix="http://bali.us.oracle.com/cabo/marlin"
              xmlns:html="http://www.w3.org/TR/REC-html40">
  <dataScope>
   <contents>
         <head>
           <boundAttribute name="title">
             <concat>
                <dataObject select="loginTitle"
                            source="getLoginTitle"/>
                <fixed javaType="string">&nbsp;-&nbsp;</fixed>
                <dataObject select="TITLE_SEARCHFILESYSONHOSTS" source="ResourceBundle"/>
             </concat>
           </boundAttribute>
         </head> 
   </contents>
      <provider>
       <data name="getLoginTitle">
          <method class="oracle.sysman.eml.ecm.util.EcmSessionUtil" method="getLoginTitle"/>
        </data>
        <data name="ResourceBundle">
           <bundle class = "oracle.sysman.eml.ecm.search.util.SearchResourceBundle"/>
        </data>
      </provider>
  </dataScope>

 </baja:head>
    <!-- special handler to load help topic -->
   <handlers>
    <event name="null">
      <method class="oracle.sysman.eml.ecm.OnlineHelp"
              method="loadSearchHelpTopic"/>
    </event>
   </handlers>

 <baja:content xmlns="http://bali.us.oracle.com/cabo/marlin">
  <dataScope>
   <contents>
    <script>
     <contents>
      // clear out the previous selections
      function clearParams()
      {
       with(document.searchFileSysOnHosts)
       {
        hostNameText.value = "";
        resNameText.value = "";
        typeText.value = "";
        mntLocText.value = "";
        mntOptText.value = "";
        groupMembershipText.value = "";
       }
      }
     </contents>
    </script>
    <form name="searchFileSysOnHosts" >
     <contents>
      <formValue name="blockStart" uix:value="blockStart@patchList"/>
      <formValue name="anchor" uix:value="anchor@patchList"/>
      <pageLayout xmlns="http://bali.us.oracle.com/cabo/marlin"
           uix:title="TITLE_SEARCHFILESYSONHOSTS@ResourceBundle">
       <mediumAdvertisement>
        <include baja:node="../../oemBanner" />
       </mediumAdvertisement>
       <marlin:globalButtons>
        <include baja:node="../../globalButtonBar" />
       </marlin:globalButtons>
       <marlin:tabs>
        <include baja:node="../../globalTabs" />
       </marlin:tabs>
       <marlin:location>
        <include baja:node="../../breadCrumbs" />
       </marlin:location>
       <marlin:pageHeader>
        <include baja:node="../../globalHeader" />
       </marlin:pageHeader>
       <copyright>
        <include baja:node="../../copyright" />
       </copyright>

       <pageButtons>
        <pageButtonBar>
        <contents>
            <submitButton name="event"
                          value="doSQLSearch"
                          uix:text="BTN_SEARCHSQL@ResourceBundle"/>
        </contents>
        </pageButtonBar>
       </pageButtons>


       <contents>
        <messageBox automatic="true" />
         <!-- make sure valid patch data -->
         <switcher uix:childName="status@searchList" childName="success">
          <case name="failure">
           <messageBox automatic="false"
                       uix:text="errHdr@searchList"
                       uix:message="errMsg@searchList"
                       messageType="error" />


          </case>
          <case name="success">
           <stackLayout>
            <contents>
            <include baja:node="../../targetTime" /> 
              <header uix:text="HDR_SEARCHCRITERIA@ResourceBundle">
               <contents>
                <tableLayout width="65%" align="center">
                 <contents>

                  <rowLayout>
                   <contents>
                    <rowLayout hAlign="right">
                    <contents>
                    <cellFormat wrappingDisabled="true">
                     <contents>
                     <spacer width="10"/>
                     <styledText labeledNodeId="hostNameID" styleClass="OraPromptText" uix:text="LBL_HOSTNAME@ResourceBundle"/>
                     </contents>
                     </cellFormat>
                    </contents>
                   </rowLayout>
                   <rowLayout hAlign="right">
                    <contents>
                     <spacer width="10"/>
                     <choice name="hostNameQuery"
                             id="hostNameID"
                             uix:selectedValue="hostNameQuery@searchData">
                      <contents >
                        <option uix:text="OPT_CONTAINS@ResourceBundle"
                                value="OPT_CONTAINS"/>
                        <option uix:text="OPT_EXACT@ResourceBundle"
                                value="OPT_EXACT"/>
                        <option uix:text="OPT_NOTEXACT@ResourceBundle"
                                value="OPT_NOTEXACT"/>
                        <option uix:text="OPT_NOTCONTAINS@ResourceBundle"
                                value="OPT_NOTCONTAINS"/>
                      </contents>
                    </choice>
                   </contents>
                  </rowLayout>
                  <rowLayout hAlign="left">
                   <contents>
                    <spacer width="20"/>
                    <textInput required="no"
                               name="hostNameText"
                               id="hostNameID"
                               uix:text="hostNameText@searchData"
                               columns="20"/>
                   </contents>
                  </rowLayout>
                 </contents>
                </rowLayout>

                  <rowLayout vAlign="top">
                   <contents>
                    <rowLayout hAlign="right">
                    <contents>
                    <cellFormat wrappingDisabled="true">
                     <contents>
                     <spacer width="10"/>
                     <styledText labeledNodeId="groupMembershipID" styleClass="OraPromptText" uix:text="LBL_GROUPNAME@ResourceBundle"/>
                     </contents>
                     </cellFormat>
                    </contents>
                   </rowLayout>
                   <rowLayout hAlign="right">
                    <contents>
                     <spacer width="10"/>
                     <choice name="groupMembershipQuery"
                             id="groupMembershipID"
                             uix:selectedValue="groupMembershipQuery@searchData">
                      <contents>
                        <option uix:text="OPT_CONTAINS@ResourceBundle"
                                value="OPT_CONTAINS"/>
                        <option uix:text="OPT_EXACT@ResourceBundle"
                                value="OPT_EXACT"/>
                        <option uix:text="OPT_NOTEXACT@ResourceBundle"
                                value="OPT_NOTEXACT"/>
                        <option uix:text="OPT_NOTCONTAINS@ResourceBundle"
                                value="OPT_NOTCONTAINS"/>
                      </contents>
                    </choice>
                   </contents>
                  </rowLayout>
                  <rowLayout hAlign="left">
                   <contents>
                    <spacer width="18"/>
                    <messageTextInput required="no"
                               uix:tip="LBL_HOSTGROUPHINT@ResourceBundle"
                               name="groupMembershipText"
                               id="groupMembershipID"
                               uix:text="groupMembershipText@searchData"
                               columns="20"/>
                   </contents>
                  </rowLayout>
                 </contents>
                </rowLayout>

                  <rowLayout>
                   <contents>
                    <rowLayout hAlign="right">
                    <contents>
                    <cellFormat wrappingDisabled="true">
                     <contents>
                     <spacer width="10"/>
                     <styledText labeledNodeId="resNameID" styleClass="OraPromptText" uix:text="LBL_RESNAME@ResourceBundle"/>
                     </contents>
                     </cellFormat>
                    </contents>
                   </rowLayout>
                   <rowLayout hAlign="right">
                    <contents>
                     <spacer width="10"/>
                     <choice name="resNameQuery"
                             id="resNameID"
                             uix:selectedValue="resNameQuery@searchData">
                      <contents >
                        <option uix:text="OPT_CONTAINS@ResourceBundle"
                                value="OPT_CONTAINS"/>
                        <option uix:text="OPT_EXACT@ResourceBundle"
                                value="OPT_EXACT"/>
                        <option uix:text="OPT_NOTEXACT@ResourceBundle"
                                value="OPT_NOTEXACT"/>
                        <option uix:text="OPT_NOTCONTAINS@ResourceBundle"
                                value="OPT_NOTCONTAINS"/>
                      </contents>
                    </choice>
                   </contents>
                  </rowLayout>
                  <rowLayout hAlign="left">
                   <contents>
                    <spacer width="20"/>
                    <textInput required="no"
                               name="resNameText"
                               id="resNameID"
                               uix:text="resNameText@searchData"
                               columns="20"/>
                   </contents>
                  </rowLayout>
                 </contents>
                </rowLayout>

                  <rowLayout>
                   <contents>
                    <rowLayout hAlign="right">
                    <contents>
                    <cellFormat wrappingDisabled="true">
                     <contents>
                     <spacer width="10"/>
                     <styledText labeledNodeId="typeID" styleClass="OraPromptText" uix:text="LBL_TYPE@ResourceBundle"/>
                     </contents>
                     </cellFormat>
                    </contents>
                   </rowLayout>
                   <rowLayout hAlign="right">
                    <contents>
                     <spacer width="10"/>
                     <choice name="typeQuery"
                             id="typeID"
                             uix:selectedValue="typeQuery@searchData">
                      <contents >
                        <option uix:text="OPT_CONTAINS@ResourceBundle"
                                value="OPT_CONTAINS"/>
                        <option uix:text="OPT_EXACT@ResourceBundle"
                                value="OPT_EXACT"/>
                        <option uix:text="OPT_NOTEXACT@ResourceBundle"
                                value="OPT_NOTEXACT"/>
                        <option uix:text="OPT_NOTCONTAINS@ResourceBundle"
                                value="OPT_NOTCONTAINS"/>
                      </contents>
                    </choice>
                   </contents>
                  </rowLayout>
                  <rowLayout hAlign="left">
                   <contents>
                    <spacer width="20"/>
                    <textInput required="no"
                               name="typeText"
                               id="typeID"
                               uix:text="typeText@searchData"
                               columns="20"/>
                   </contents>
                  </rowLayout>
                 </contents>
                </rowLayout>

                  <rowLayout>
                   <contents>
                    <rowLayout hAlign="right">
                    <contents>
                    <cellFormat wrappingDisabled="true">
                     <contents>
                     <spacer width="10"/>
                     <styledText labeledNodeId="mntLocID" styleClass="OraPromptText" uix:text="LBL_MNTLOC@ResourceBundle"/>
                     </contents>
                     </cellFormat>
                    </contents>
                   </rowLayout>
                   <rowLayout hAlign="right">
                    <contents>
                     <spacer width="10"/>
                     <choice name="mntLocQuery"
                             id="mntLocID"
                             uix:selectedValue="mntLocQuery@searchData">
                      <contents >
                        <option uix:text="OPT_CONTAINS@ResourceBundle"
                                value="OPT_CONTAINS"/>
                        <option uix:text="OPT_EXACT@ResourceBundle"
                                value="OPT_EXACT"/>
                        <option uix:text="OPT_NOTEXACT@ResourceBundle"
                                value="OPT_NOTEXACT"/>
                        <option uix:text="OPT_NOTCONTAINS@ResourceBundle"
                                value="OPT_NOTCONTAINS"/>
                      </contents>
                    </choice>
                   </contents>
                  </rowLayout>
                  <rowLayout hAlign="left">
                   <contents>
                    <spacer width="20"/>
                    <textInput required="no"
                               name="mntLocText"
                               id="mntLocID"
                               uix:text="mntLocText@searchData"
                               columns="20"/>
                   </contents>
                  </rowLayout>
                 </contents>
                </rowLayout>

                  <rowLayout>
                   <contents>
                    <rowLayout hAlign="right">
                    <contents>
                    <cellFormat wrappingDisabled="true">
                     <contents>
                     <spacer width="10"/>
                     <styledText labeledNodeId="mntOptID" styleClass="OraPromptText" uix:text="LBL_MNTOPT@ResourceBundle"/>
                     </contents>
                     </cellFormat>
                    </contents>
                   </rowLayout>
                   <rowLayout hAlign="right">
                    <contents>
                     <spacer width="10"/>
                     <choice name="mntOptQuery"
                             id="mntOptID"
                             uix:selectedValue="mntOptQuery@searchData">
                      <contents >
                        <option uix:text="OPT_CONTAINS@ResourceBundle"
                                value="OPT_CONTAINS"/>
                        <option uix:text="OPT_EXACT@ResourceBundle"
                                value="OPT_EXACT"/>
                        <option uix:text="OPT_NOTEXACT@ResourceBundle"
                                value="OPT_NOTEXACT"/>
                        <option uix:text="OPT_NOTCONTAINS@ResourceBundle"
                                value="OPT_NOTCONTAINS"/>
                      </contents>
                    </choice>
                   </contents>
                  </rowLayout>
                  <rowLayout hAlign="left">
                   <contents>
                    <spacer width="20"/>
                    <textInput required="no"
                               name="mntOptText"
                               id="mntOptID"
                               uix:text="mntOptText@searchData"
                               columns="20"/>
                   </contents>
                  </rowLayout>
                 </contents>
                </rowLayout>

                </contents>
               </tableLayout>
              </contents>
             </header>
             <tableLayout width="45%" >
              <contents>
               <spacer height="5"/>
               <rowLayout hAlign="right">
                <contents>
                 <cellFormat wrappingDisabled="true">
                  <contents>
                   <submitButton name="event"
                                 value="doSearch"
                                 uix:text="BTN_SEARCH@ResourceBundle"/>
                   <spacer width="8"/>
                   <button uix:text="BTN_CLEAR@ResourceBundle"
                           onClick="clearParams();" />
                   <spacer width="8"/>
                  </contents>
                 </cellFormat>
                </contents>
               </rowLayout>
              </contents>
             </tableLayout>
             <header uix:text="HDR_RESULTS@ResourceBundle">
              <contents>

                <rowLayout hAlign="right">
                    <contents>
                     <button uix:text="BTN_SAVETOFILE@ResourceBundle"
                        destination="export/exportSearch$searchType=FileSystemsOnHosts"/>
                    </contents>
                  </rowLayout>
                  <html:br></html:br>
                  <spacer height="5"/>

               <table name="resultsTable"
                      width="100%"
                      formSubmitted="true"
                      minValue="1"
                      uix:value="value@searchList"
                      uix:maxValue="maxValue@searchList"
                      uix:blockSize="blockSize@searchList"
                      uix:alternateText="MSG_PRESSSEARCH@ResourceBundle"
                      uix:tableData="tabledata@searchList"
                      uix:summary="TBLSUM_RESULTSTABLE@PatchResourceBundle">
                <tableFormat tableBanding="rowBanding"/>

                <columnHeaderStamp>
                 <sortableHeader data:text="text"
                                uix:value="value"
                                uix:sortable="sort">
                   <boundAttribute name="sortable">
                    <defaulting>
                        <dataObject data:source="(value)@sortColumnHeader"/>
                        <dataObject select="sort"/>
                    </defaulting>
                   </boundAttribute>
                 </sortableHeader>
                </columnHeaderStamp>

                <columnHeaderData>
                  <col id="hdrhostname" uix:text="LBL_HOSTNAME@ResourceBundle"    uix:sort="SORT_HOSTNAME@searchList"     value="LBL_HOSTNAME"/>
                  <col id="hdrresname"  uix:text="LBL_RESNAME@ResourceBundle"      uix:sort="SORT_RESNAME@searchList"      value="LBL_RESNAME"/>
                  <col id="hdrtype"     uix:text="LBL_TYPE@ResourceBundle"         uix:sort="SORT_TYPE@searchList"         value="LBL_TYPE"/>
                  <col id="hdrmntloc"   uix:text="LBL_MNTLOC@ResourceBundle"      uix:sort="SORT_MNTLOC@searchList"       value="LBL_MNTLOC"/>
                  <col id="hdrmntopt"   uix:text="LBL_MNTOPT@ResourceBundle"      uix:sort="SORT_MNTOPT@searchList"       value="LBL_MNTOPT"/>
                </columnHeaderData>

                <contents>
                 <link       headers="hdrhostname"  uix:text="LBL_HOSTNAME"
                       uix:destination="LBL_HOSTNAME^"/>
                 <styledText headers="hdrresname"   uix:text="LBL_RESNAME"/>
                 <styledText headers="hdrtype"      uix:text="LBL_TYPE"/>
                 <styledText headers="hdrmntloc"    uix:text="LBL_MNTLOC"/>
                 <styledText headers="hdrmntopt"    uix:text="LBL_MNTOPT"/>
                </contents>
               </table>
              </contents>
             </header>
          </contents>
         </stackLayout>
        </case>
       </switcher>
      </contents>
     </pageLayout>
    </contents>
   </form>
  </contents>
  <provider>
   <data name="searchCallbackText">
    <inline innerQuery="select p.host_name as LBL_HOSTNAME, p.resource_name as LBL_RESNAME, p.type as LBL_TYPE, p.mount_location as LBL_MNTLOC, p.mount_options as LBL_MNTOPT from mgmt$os_fs_mount p"
            distinct="true" />
   </data>
    <data name="columnListInfo">
     <inline>
      <column displayName="LBL_HOSTNAME"
              destLink="monitoring/hostOverview$target=LBL_HOSTNAME$ctxType=All Targets$type=host?event=doLoad"
              filterOp="hostNameQuery"
              filterVal="hostNameText"/>
     <column displayName="LBL_RESNAME"
              filterOp="resNameQuery"
              filterVal="resNameText"/>
       <column displayName="LBL_TYPE"
              filterOp="typeQuery"
              filterVal="typeText"/>
      <column displayName="LBL_MNTLOC"
              filterOp="mntLocQuery"
              filterVal="mntLocText"/>
      <column displayName="LBL_MNTOPT"
              filterOp="mntOptQuery"
              filterVal="mntOptText"/>
      <column displayName="LBL_GROUPNAME"
              selectColumn="false"
              filterOp="groupMembershipQuery"
              filterVal="groupMembershipText"
              OPT_CONTAINS="membershipContainsOperator"
              OPT_NOTCONTAINS="membershipNotContainsOperator"
              OPT_EXACT="membershipExactOperator"
              OPT_NOTEXACT="membershipNotExactOperator"/>
     </inline>
    </data>
    <data name="predicateOperatorOverrides">
      <inline>
        <condition name="membershipContainsOperator"
                   predicate="exists (select * from mgmt$group_flat_memberships where disjunction and member_target_name = LBL_HOSTNAME and member_target_type = 'host')"
                   disjunction="NLS_UPPER( composite_target_name ) like NLS_UPPER( '%filterVal%' ) {escape '#'} " />
        <condition name="membershipNotContainsOperator"
                   predicate="not exists (select * from mgmt$group_flat_memberships where disjunction and member_target_name = LBL_HOSTNAME and member_target_type = 'host' )"
                   disjunction="NLS_UPPER( composite_target_name ) like NLS_UPPER( '%filterVal%' ) {escape '#'} " />
        <condition name="membershipExactOperator"
                   predicate="exists (select * from mgmt$group_flat_memberships where disjunction and member_target_name = LBL_HOSTNAME and member_target_type = 'host')"
                   disjunction="composite_target_name = 'filterVal'" />
        <condition name="membershipNotExactOperator"
                   predicate="not exists (select * from mgmt$group_flat_memberships where disjunction and member_target_name = LBL_HOSTNAME and member_target_type = 'host' )"
                   disjunction="composite_target_name = 'filterVal'" />
      </inline>
    </data>
    <data name="ResourceBundle">
     <bundle class = "oracle.sysman.eml.ecm.search.util.SearchResourceBundle"/>
    </data>
    <data name="PatchResourceBundle">
       <bundle class = "oracle.sysman.eml.ecm.patch.util.PatchResourceBundle"/>
    </data>
    <data name="searchData">
     <method class="oracle.sysman.eml.ecm.search.SearchData"
             method="populateSearchData"/>
    </data>
    <data xmlns="http://bali.us.oracle.com/cabo/marlin" name="searchList">
     <method class="oracle.sysman.eml.ecm.search.SearchData"
             method="populateResultsTable"/>
    </data>
   <data name="sortColumnHeader">
     <method class="oracle.sysman.eml.ecm.search.SearchData"
             method="getSortColumnHeader"/>
    </data>


   </provider>
  </dataScope>
 </baja:content>

 <handlers>

  <event name="sort">
   <method class="oracle.sysman.eml.ecm.search.SearchHandler"
           method="doSort"/>
  </event>
  <event name="doSearch">
   <method class="oracle.sysman.eml.ecm.search.SearchHandler"
           method="doSearch"/>
  </event>
  <event name="doSQLSearch">
   <method class="oracle.sysman.eml.ecm.search.SearchHandler"
           method="doSQLSearch"/>
  </event>

  <!-- This handles the next/prev buttons in the results table -->
  <event name="goto">
   <method class="oracle.sysman.eml.ecm.search.SearchHandler"
           method ="tableGoto"/>
  </event>
 </handlers>
</page>


