Changeset 22738 in main


Ignore:
Timestamp:
03/23/21 20:19:22 (3 weeks ago)
Author:
GarthBraithwaite_STG
Message:

view - view, admin - Added commonLocalContentPath for saving query and user xml files. css heading and spacing tweaks. topic desc to admin ip topic selection page.

Location:
trunk
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • trunk/ibisph-admin/src/main/webapp/WEB-INF/jsp/indicator/topics.jsp

    r19380 r22738  
    5656        </c:if>
    5757        <c:set var="selected">${indicatorTopic[topic.name] != null}</c:set>
    58                         <tr ${selected ? "class=\"Selected\"" : ""}>
     58                        <tr ${selected ? "class=\"Selected\"" : ""} title="${topic.description}">
    5959                                <td class="Selection">
    6060                                <%-- Because there's a sort order input field, a hidden
     
    6868                                                ${selected ? "checked=\"checked\"" : ""}
    6969                                                ${disabled} ${onChange}
     70                                                title="Selects/deselects this topic"
    7071                                        />
    7172                                        <input type="hidden" name="name" value="${topic.name}" ${disabled}/>
     
    8485                                                value="${indicatorTopic[topic.name].sortOrder}"
    8586                                                ${disabled} ${onChange}
     87                                                title="Independent sort order for this indicator's topics."
    8688                                        />
    8789                                </td>
  • trunk/ibisph-view/src/main/webapp/WEB-INF/config/SiteSpecific.properties

    r22683 r22738  
    4747#       deployed webapp.
    4848#
    49 #       There are two types of content published XML and static content.  Published
    50 #       XML is the ibis-admin app's data that is published to XML files (org units,
    51 #       topics, measures, published indicators etc.).  Static content include images,
    52 #       json, pdfs, HTML_CONTENT XML files, query module XML files, SELECTION XML
    53 #       files and any content that is maintained by hand.  Published and static files
    54 #       can exist in different places although most adopters will likely keep them
    55 #       together.  The exception is if the static content is on a different server
    56 #       so that it is more easily managed while the published data is on a server
    57 #       that has the ibis data admin app.
     49#       There are three types of content published XML, static content (xml, pdf,
     50#       images, etc), and saved XML content (saved query, self registered users). 
     51#       - Published XML is the ibisph-admin app's published content data (org units,
     52#       topics, measures, published indicators etc.).  These files should always be
     53#       referenced and never versionsed as they are dynamic content.  These files
     54#       will live on the same server (or fileserver) as the ibisph-admin app. 
     55#       - Static content include images, json, pdfs, HTML_CONTENT XML files, query
     56#       module XML files, SELECTION XML files and any content that is maintained by
     57#       hand.  This content is read only and can live anywhere as long as the file
     58#       is accessible via a URL (shared fileserver or web server etc.).  These types
     59#       of files are likely versioned and maintained by hand.
     60#       - Saved XML (saved query, self registered users, and possibly cached data)
     61#       are view webapp dynamically created files.  As such just like the admin app,
     62#       theese produced files will live on the same webapp server (or fileserver). 
     63#       IMPORTANT NOTE: These file should never be saved within the view webapp
     64#       because future webapp deployment conflicts (could overwrite the user saved
     65#       files) or for those adopters who deploy as an .ear or .war and choose to keep
     66#       the file zipped instead of expanding it. 
     67#
     68#       It is possible for all three published, static, and saved files to live on
     69#       the same app server and in the same directory structure.  It is also very
     70#       likely that all live on their own server.
    5871#
    5972#commonContentBasePath.string =../../ibisph-content/
     
    6881#       specified.
    6982#commonPublishedXMLBasePath.string =http://admin.ibis.org/ibisph-admin-published-content/xml
     83
     84#--- Example of saved/local XML on same webapp server but within a different dir.
     85#       If not defined, the app config defaults to the commonContentBasePath.
     86#       IMPORTANT: If the commonContentBasePath is a URL and points to a different
     87#       server this value MUST be specified and MUST be locally accessible file path.
     88#commonLocalBasePath.string =../ibisph-user-content
     89#commonLocalBasePath.string =file:/s:/ibisph-view-saved-content
    7090
    7191
  • trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/SiteSpecific.xml

    r22683 r22738  
    333333                                <property name="publishedIndicatorsFilePathAndName" value="#{indicatorPublishedIndicatorsFilePathAndName.string}"/>
    334334                                <property name="indicatorProfileFilePath" value="#{indicatorProfileFilePath.string}"/>
    335                                 <property name="documentDAOService"             ref="commonContentDocumentDAOService"/>
     335                                <property name="documentDAOService"             ref="commonPublishedDocumentDAOService"/>
    336336                        </bean>
    337337                </property>
  • trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/common.xml

    r22683 r22738  
    7676        </bean>
    7777
    78 
    7978        <bean id="commonPublishedXMLBasePath" class="org.ibisph.model.StringHolder">
    8079                <description>
     
    9998        </bean>
    10099
     100        <bean id="commonLocalBasePath" class="org.ibisph.model.StringHolder">
     101                <description>
     102                        Base file path that points to the root of all local saved content.
     103                        This local area contains any and all saved query, self registered
     104                        users, and cached query module index type files.  This value can
     105                        be in to form of a complete URL or relative to the webapp's context.
     106                        This path MUST be local so that the view app can write files to this
     107                        location.  This path defaults to the content base path for those
     108                        deployments that have the content on the same server as the webapp.
     109                        For deployments where the content is located on a different server
     110                        this value MUST be specficied and should NOT be an app sub directory
     111                        so that backups are easier and to keep those files without manual
     112                        intervention during new app deployments.
     113                </description>
     114                <constructor-arg value="#{commonContentBasePath.string}"/>
     115        </bean>
     116        <bean id="commonLocalBasePathURL" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
     117                <description>
     118                        Full/explicit base "local" file path.  The commonLocalBasePath
     119                        string value, if not a URL, is processed based on the webapp's
     120                        context path which is returned as a URL which is one of the accepted
     121                        values the XML/XSLT translation is able to process.  This path is
     122                        the root of all static content - json, images, pdf, XML etc.
     123                </description>
     124                <property name="targetObject" ref="commonContextAndPathService"/>
     125                <property name="targetMethod" value="getPathURL"/>
     126                <property name="arguments"><list><value>#{commonLocalBasePath.string}</value></list></property>
     127        </bean>
    101128
    102129        <bean id="commonWebAppBaseRequestPath" class="org.ibisph.model.StringHolder">
     
    145172        </bean>
    146173
    147 
    148174        <bean id="commonPublishedDocumentDAOService" class="org.ibisph.xml.service.FileStoredDocumentDAO">
    149175                <description>
     
    163189                <property name="outputFormat" ref="commonXMLOutputFormat"/>
    164190        </bean>
    165         <bean id="commonContentDocumentDAOService" class="org.ibisph.xml.service.FileStoredDocumentDAO">
    166                 <description>
    167                         Provides a local disk based document get, save, delete service. 
     191        <bean id="commonLocalDocumentDAOService" class="org.ibisph.xml.service.FileStoredDocumentDAO">
     192                <description>
     193                        Provides a local disk based document get, save, delete service. Used
     194                        for saved queries, self registered user xmls, and future qm indexes.
    168195                        This service also implements GetModelService so get(filename) works
    169196                        and can be used in place of the commonXMLFilePathModelService
     
    175202                        XSLT access a file via the "document()" call.
    176203                </description>
    177                 <property name="basePath"     ref="commonContentXMLBasePathURL"/>
    178                 <property name="escapeTextWhenSaving" value="true"/>
    179                 <property name="dateFormat"   ref="commonDateFormat"/>
    180                 <property name="outputFormat" ref="commonXMLOutputFormat"/>
    181         </bean>
    182         <bean id="commonRestrictedDocumentDAOService" class="org.ibisph.xml.service.FileStoredDocumentDAO">
    183                 <description>
    184                         Provides "restricted" disk based document get, save, delete service. 
    185                         This is mainly used for the user profile XML files.
    186                 </description>
    187                 <property name="basePath"     ref="commonRestrictedXMLBasePathURL"/>
     204                <property name="basePath"     ref="commonLocalBasePathURL"/>
    188205                <property name="escapeTextWhenSaving" value="true"/>
    189206                <property name="dateFormat"   ref="commonDateFormat"/>
     
    354371        <bean id="commonContentBasePathModelMap" class="org.ibisph.modelmap.SimpleGetModelMap">
    355372                <description>
    356                         Used by Java code to access remote XML files (like query modules)
    357                         and is passed into the XSLT enviro to dynamically access the 2ndardy
    358                         XML files (like community profile reports that loop a set of IPs)
    359                         as well as leaflet map and kendo json files.  This value is injected
    360                         into the common alternate model maps with a handle defined in /Page.xslt.
     373                        Used ibis:getContentPath xslt function that allows XSLT code to build
     374                        content paths for static content/resource requests.
    361375                </description>
    362376                <property name="modelMapKey" value="ContentBasePath"/>
     
    588602
    589603
    590 
    591604        <!--  X M L   R E S O U R C E S  -->
    592605        <bean id="commonXMLEncodingScheme" class="org.ibisph.model.StringHolder">
     
    692705                Note that the resolver is ONLY used for exceptions thrown/uncaught
    693706                within controller objects e.g. objects controlled by the Request Dispatcher
    694                 servlet/container.  For "view" related errors a HandlerInterceptor
    695                 is needed see:
    696                
    697                 http://stackoverflow.com/questions/196495/how-to-configure-spring-handlerexceptionresolver-to-handle-nullpointerexception-t)
    698                
    699                 Other types of errors that happen outside of the servlet (like filter
    700                 errors) are also not able to be handled.  Many of these errors that occur
    701                 within the IBIS applications are view related and due to the fact that
    702                 the web.xml error handling can be used to handle ALL types of errors,
    703                 there's not much value in an ErrorResolver.  As if 2010, all errors
    704                 simply go through to the container which will then use the web.xml
    705                 which uses a centralized error jsp to handle all errors.  The error
    706                 page logs the error and returns an error page to the user.  The two
    707                 major down sides to this centralized JSP approach is that 1) the error
    708                 JSP has to be bullet proof, and 2) the error handling is limited to
    709                 what can be done within a JSP.  The pro to this approach is that it
    710                 is all centralized and handled consistently.
    711         -->
    712 
    713         <!-- Below is a basic ExceptionResolver that many Spring MVC apps implement.
    714                 Specific exceptions are handled by the simple exception to view resolver
    715                 This resolver needs to be used first and MUST not be configured to do the
    716                 general error handling as the next resolver will not be called.  Note that
    717                 this can be setup to handle everything but it's was easier to understand
    718                 and control doing this way.
    719 
    720         <bean id="commonSpecificExceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    721                 <property name="order" value="1"/>
    722                 <property name="defaultStatusCode" value="700"/>
    723                 <property name="defaultErrorView" value="/WEB-INF/jsp/error/detail.jsp"/>
    724                 <property name="exceptionAttribute" value="Exception"/>
    725                 <property name="mappedHandlers">
    726                         <set><value>java.lang.Throwable</value><ref local="commonDefault.ExceptionHandler"/></set>
    727                 </property>
    728                 <property name="exceptionMappings">
    729                         <props>
    730                                 <prop key="org.ibisph.web.springmvc.controller.query.NullModuleException">Query.NullModuleDocument.View</prop>
    731                                 <prop key="java.lang.Exception ">Query.NullModuleDocument.View</prop>
    732                         </props>
    733                 </property>
    734         </bean>
    735 
    736         For many years a simple logging type ExceptionResolver was used.  The code
    737         below is left in case the logging exception handler is wanted by an adopter.
    738 
    739         <bean id="commonDefaultExceptionHandler" class="org.ibisph.web.springmvc.LoggingControllerExceptionHandler">
    740                 <property name="order" value="1"/>
    741         </bean>
     707                servlet/container.  For "view" related errors use a HandlerInterceptor.
     708                See commits prior to 3/2021 for error handling bean defs and notes.
    742709        -->
    743710</beans>
  • trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/query-definition.xml

    r22683 r22738  
    3030        <!-- S E R V I C E S -->
    3131        <bean id="queryDefinitionXMLService" class="org.ibisph.querydefinition.service.QueryDefinitionXML">
    32                 <property name="filePath"           value="query/definition"/>
    33                 <property name="documentDAOService" ref="commonContentDocumentDAOService"/>
     32                <property name="filePath"           value="xml/query/definition"/>
     33                <property name="documentDAOService" ref="commonLocalDocumentDAOService"/>
    3434        </bean>
    3535        <bean id="queryDefinitionDefinitionToModuleService" class="org.ibisph.querydefinition.service.QueryDefinitionXMLToQueryModuleXML"/>
  • trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/query.xml

    r22593 r22738  
    2222                <property name="arguments"><list><value>xml/query/module/ConfigurationIncludeCriteriaExclude.xslt</value></list></property>
    2323        </bean>
     24
     25        <bean id="queryModuleSessionName" class="org.ibisph.model.StringHolder">
     26                <constructor-arg value="QueryModule"/>
     27        </bean>
     28
     29        <bean id="queryApplyQueryDefinitionSessionName" class="org.ibisph.model.StringHolder">
     30                <constructor-arg value="ApplyQueryDefinition"/>
     31        </bean>
     32
     33        <bean id="queryIBISQRequestPath" class="org.ibisph.model.StringHolder">
     34                <constructor-arg value="http://localhost/cgi-bin/hi_iq_func.exe"/>
     35        </bean>
     36
     37        <bean id="queryResult.DateTimestampFormat" class="java.text.SimpleDateFormat">
     38                <constructor-arg value="EEE, d MMM yyyy HH:mm:ss z"/>
     39                <constructor-arg type="java.util.Locale" ref="commonLocale"/>
     40        </bean>
     41
     42
     43        <!-- S E R V I C E S -->
    2444        <bean id="queryModuleXMLModelService" class="org.ibisph.xml.service.IncludeProcessingGetModel">
    2545                <property name="getModelService"       ref="commonXMLFilePathModelService"/>
     
    2747                <property name="transformation"        ref="commonXSLTTransformation"/>
    2848        </bean>
    29 
    30 
    31         <bean id="queryModuleSessionName" class="org.ibisph.model.StringHolder">
    32                 <constructor-arg value="QueryModule"/>
    33         </bean>
    34 
    35         <bean id="queryApplyQueryDefinitionSessionName" class="org.ibisph.model.StringHolder">
    36                 <constructor-arg value="ApplyQueryDefinition"/>
    37         </bean>
    38 
    39         <bean id="queryIBISQRequestPath" class="org.ibisph.model.StringHolder">
    40                 <constructor-arg value="http://localhost/cgi-bin/hi_iq_func.exe"/>
    41         </bean>
    42 
    43         <bean id="queryResult.DateTimestampFormat" class="java.text.SimpleDateFormat">
    44                 <constructor-arg value="EEE, d MMM yyyy HH:mm:ss z"/>
    45                 <constructor-arg type="java.util.Locale" ref="commonLocale"/>
    46         </bean>
    47 
    48 
    49         <!-- S E R V I C E S -->
    5049        <bean id="queryModuleXMLService" class="org.ibisph.querymodule.service.QueryModuleXML">
    5150                <property name="filePath"           value="#{queryModuleFilePath.string}"/>
  • trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/secure.xml

    r21322 r22738  
    2323                <constructor-arg value="secure/query/module"/>
    2424        </bean>
    25 
    2625        <bean id="secureQueryModuleXMLService"
    2726                class="org.ibisph.querymodule.service.QueryModuleXML"
     
    9998
    10099       
    101        
    102100        <!--  C O N T R O L L E R S  -->
    103101        <bean id="secureSelectionController" parent="commonModelMapListController">
     
    160158                                <ref bean="queryModuleChangeDisplayModelMap"/>
    161159
    162 <ref bean="commonAncillaryValuesModelMap"/>
    163 <ref bean="commonDataSourcesModelMap"/>
    164 <ref bean="commonDimensionsModelMap"/>
    165 <ref bean="commonMeasuresModelMap"/>
    166 <ref bean="commonValueTypesModelMap"/>
    167 <ref bean="commonValueAttributesModelMap"/>
    168 <ref bean="commonChartsModelMap"/>
    169 <ref bean="commonMapsModelMap"/>
     160                                <ref bean="commonAncillaryValuesModelMap"/>
     161                                <ref bean="commonDataSourcesModelMap"/>
     162                                <ref bean="commonDimensionsModelMap"/>
     163                                <ref bean="commonMeasuresModelMap"/>
     164                                <ref bean="commonValueTypesModelMap"/>
     165                                <ref bean="commonValueAttributesModelMap"/>
     166                                <ref bean="commonChartsModelMap"/>
     167                                <ref bean="commonMapsModelMap"/>
    170168                        </list>
    171169                </property>
     
    186184                <property name="additionalHTTPResponseHeaders" ref="commonNoCacheHTTPResponseHeaders"/>
    187185        </bean>
    188 
    189186
    190187        <bean id="secureQueryDefinitionBuilderController" parent="commonModelMapListController">
     
    222219        </bean>
    223220
    224 
    225221        <bean id="secureTestController" parent="commonModelMapListController">
    226222                <property name="modelMapList">
  • trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/security-xml_authentication.xml

    r20786 r22738  
    1818        <bean id="securityXMLAuthenticationUserDetailsService" class="org.ibisph.user.springsecurity.UserProfileXMLUserDetailsService">
    1919                <property name="filePath"           value="#{userProfileFilePath.string}"/>
    20                 <property name="documentDAOService" ref="commonRestrictedDocumentDAOService"/>
     20                <property name="documentDAOService" ref="commonLocalDocumentDAOService"/>
    2121        </bean>
    2222
  • trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/user.xml

    r20915 r22738  
    2424
    2525        <bean id="userProfileFilePath" class="org.ibisph.model.StringHolder">
    26                 <constructor-arg type="java.lang.String" value="user/"/>
     26                <constructor-arg type="java.lang.String" value="WEB-INF/xml/user/"/>
    2727        </bean>
    2828
     
    231231        <bean id="userProfileXMLService" class="org.ibisph.user.service.UserProfileXML">
    232232                <property name="filePath"           value="#{userProfileFilePath.string}"/>
    233                 <property name="documentDAOService" ref="commonRestrictedDocumentDAOService"/>
     233                <property name="documentDAOService" ref="commonLocalDocumentDAOService"/>
    234234                <property name="passwordEncoder"    ref="securityPasswordEncoder"/>
    235235        </bean>
  • trunk/ibisph-view/src/main/webapp/css/ContentOptions.css

    r22244 r22738  
    1515.ContentOptions h3
    1616{
     17        margin-top:                     8px;
    1718        margin-bottom:          5px;
    1819}
  • trunk/ibisph-view/src/main/webapp/css/_general.css

    r22696 r22738  
    7777}
    7878
    79 section, p
     79section
     80{
     81        margin:                         calc(2 * var(--block-spacing)) 0;
     82}
     83
     84p
    8085{
    8186        margin:                         var(--block-spacing) 0;
    82 }
    83 
    84 p
    85 {
    8687        max-width:                      var(--max-text-width);
    8788}
     
    104105h2
    105106{
    106         font-size:                      1.6rem;
     107        font-size:                      1.5rem;
    107108}
    108109h3
    109110{
     111        margin-top:                     var(--block-spacing);
    110112        font-size:                      1.25rem;
    111113        font-weight:            bold;
     
    133135        list-style-type:        decimal;
    134136}
    135 li
     137ul li:not(:first-of-type)
    136138{
    137139        margin-top:                     8px;
  • trunk/ibisph-view/src/main/webapp/css/_kendo_overrides.css

    r22702 r22738  
    189189li.km-group-container .km-group-title h3
    190190{
    191     margin-top: 0;
     191    margin-top:                 4px;
    192192}
    193193
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/definition/QueryDefinition.xslt

    r22240 r22738  
    1313                <summary>Basic params and HTML blocks used on saved query def pages.</summary>
    1414                <description>
     15                        Has a dependency on Login.xslt (dialog).
    1516                </description>
    1617        </ibis:doc>
     
    383384
    384385
    385                         function showQueryDefinitionEditIdentityDialog()
    386                         {
    387                                 window.queryDefinitionEditIdentityDialog.center().open();
    388                                 document.queryDefinitionIdentityForm.name.focus();
    389                         } //~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~
    390 
    391 
    392386                        // The actual input has a pattern on it that matches this.  Another try: [A-Za-z0-9\-\_\.]*;
    393387                        var validNameCharactersRegEx = /^[a-z0-9_\-]+$/i;
     
    415409                                return(true);
    416410                        }
     411
     412                        function showQueryDefinitionEditIdentityDialog()
     413                        {
     414                                window.queryDefinitionEditIdentityDialog.center().open();
     415                                document.queryDefinitionIdentityForm.name.focus();
     416                        } //~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~
     417
    417418                        // ]]>
     419
     420                        function saveQueryDefinition()
     421                        {
     422                        <xsl:if test="boolean(ibis:isAuthenticated())">
     423                                showQueryDefinitionEditIdentityDialog();
     424                        </xsl:if>
     425                        <xsl:if test="not(ibis:isAuthenticated())">
     426                                showLoginDialog();
     427                        </xsl:if>
     428                        }
    418429                </script>
    419430
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/definition/detail/Page.xslt

    r21374 r22738  
    3636        </xsl:param>
    3737
    38 <xsl:param name="Page.queryModule" select="/QUERY_MODULE"
    39                 ibis:doc="Clean, seperate from current user query module without result.
    40                         This is the main XML doc supplied by the controller code.
    41                 "
    42         />
    43         <xsl:param name="Page.dimensions" select="$Page.queryModule/DIMENSIONS"/>
    44 
    4538        <xsl:param name="Measures"/>
    4639        <xsl:param name="Page.measures"   select="$Measures/MEASURES"/>
    47 
    48         <xsl:param name="Charts" ibis:doc="injected model object"/>
    49         <xsl:param name="Page.charts" select="$Page.queryModule/CHARTS"/>
    50         <xsl:param name="Maps"   ibis:doc="injected model object"/>
    51         <xsl:param name="Page.maps" select="$Page.queryModule/MAPS"/>
    5240
    5341        <xsl:param name="Page.mySavedQueryOverviewContent">
     
    306294                                                        else $QueryDefinition.queryDefinition/SELECTED_DIMENSIONS
    307295                                                "/>
    308                                                 <xsl:with-param name="dimensions" select="$Page.dimensions"/>
     296                                                <xsl:with-param name="dimensions" select="$QueryModule.dimensions"/>
    309297                                        </xsl:call-template>
    310298
    311299                                        <xsl:call-template name="QueryModule.dataGroupedByTableRow">
    312                                                 <xsl:with-param name="rowDimensionTitle"   select="ibis:getDimensionTitle($Page.dimensions/DIMENSION[NAME=$request/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME])"/>
    313                                                 <xsl:with-param name="colDimensionTitle"   select="ibis:getDimensionTitle($Page.dimensions/DIMENSION[NAME=$request/ACTUAL_GROUP_BY/SERIES_DIMENSION_NAME])"/>
    314                                                 <xsl:with-param name="otherDimensionTitle" select="ibis:getDimensionTitle($Page.dimensions/DIMENSION[NAME=$request/ACTUAL_GROUP_BY/OTHER_DIMENSION_NAME])"/>
     300                                                <xsl:with-param name="rowDimensionTitle"   select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$request/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME])"/>
     301                                                <xsl:with-param name="colDimensionTitle"   select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$request/ACTUAL_GROUP_BY/SERIES_DIMENSION_NAME])"/>
     302                                                <xsl:with-param name="otherDimensionTitle" select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$request/ACTUAL_GROUP_BY/OTHER_DIMENSION_NAME])"/>
    315303                                        </xsl:call-template>
    316304
     
    318306                                                <th scope="row" title="Selected Chart, name: {$request/CHART_NAME}.">Chart Name:</th>
    319307                                                <td title="chart to be displayed">
    320                                                         <xsl:value-of select="ibis:getChartTitle($Page.charts, $request/CHART_NAME)"/>
     308                                                        <xsl:value-of select="ibis:getChartTitle($QueryModule.charts, $request/CHART_NAME)"/>
    321309                                                </td>
    322310                                        </tr>
     
    324312                                                <th scope="row" title="Selected map, name: {$request/MAP_NAME}.">Map Name:</th>
    325313                                                <td title="chart to be displayed">
    326                                                         <xsl:value-of select="ibis:getMapTitle($Page.maps, $request/MAP_NAME)"/>
     314                                                        <xsl:value-of select="ibis:getMapTitle($QueryModule.maps, $request/MAP_NAME)"/>
    327315                                                </td>
    328316                                        </tr>
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/module/Page.xslt

    r22585 r22738  
    1111        <xsl:import href="../../../json/LeafletMap.xslt"/>
    1212        <xsl:import href="../../Page.xslt"/>
     13        <xsl:import href="QueryModule.xslt"/>
    1314
    1415        <ibis:doc>
     
    1617                <summary>Core/common query module params and html template overrides</summary>
    1718                <description>
    18                         Provides core query module templates.
     19                        Provides core query module templates and params.  Used by both
     20                        result and builder Page.xslt.
    1921                </description>
    2022        </ibis:doc>
     
    2224        <xsl:param name="Page.htmlClass" select="'QueryModule'"/>
    2325
    24         <xsl:param name="Page.queryModule" select="/QUERY_MODULE" ibis:doc="Convenience query module global variable."/>
    25         <xsl:param name="Page.queryConfiguration" select="$Page.queryModule/CONFIGURATIONS/CONFIGURATION[NAME = $Page.queryModule/REQUEST/CONFIGURATION_NAME]"
    26                 ibis:doc="Convenience global variable module configuration used throughout the module XSLTs."
    27         />
    28 
    2926        <xsl:param name="Page.queryBaseRequestPath" select="concat($ibis.baseRequestPath, 'query/')"/>
    30         <xsl:param name="Page.queryModulePath" select="concat(substring-before($Page.queryModule/REQUEST/CONFIGURATION_PATH, concat('/', $Page.queryConfiguration/NAME)), '/')"/>
     27        <xsl:param name="Page.queryModulePath"      select="concat(substring-before($QueryModule.request/CONFIGURATION_PATH, concat('/', $QueryModule.configuration/NAME)), '/')"/>
    3128
    3229<!-- Prior to 2/23/2021 commit had code in the QM related Page.XSLT files for query modules selections -->
     
    241238
    242239
     240
    243241</xsl:stylesheet>
    244242<!-- ============================= End of File ============================= -->
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/module/QueryModule.xslt

    r22413 r22738  
    1111                <summary>basic query module parameters and templates.</summary>
    1212                <description>
    13                         Contains the query module block templates and global params.
     13                        Contains the query module block templates and global params.  This
     14                        XSLT mostly localizes code for results (and content blocks) but also
     15                        has templates for apply criteria that appears on the builder page
     16                        and query defs page.
    1417                </description>
    1518        </ibis:doc>
     
    1821        <!-- ~~~~~~~~~~~~~~~~~~~~~~~ PARAMS / VARIABLES ~~~~~~~~~~~~~~~~~~~~~~~~ -->
    1922        <xsl:param name="QueryModule.queryModule"   select="/QUERY_MODULE"/>
    20         <xsl:param name="QueryModule.configuration" select="$QueryModule.queryModule/CONFIGURATIONS/CONFIGURATION[NAME = $QueryModule.queryModule/REQUEST/CONFIGURATION_NAME]"/>
    21         <xsl:param name="QueryModule.request"           select="$QueryModule.queryModule/REQUEST"/>
    22         <xsl:param name="QueryModule.result"            select="$QueryModule.queryModule/IBISQ_QUERY_RESULT"/>
     23        <xsl:param name="QueryModule.request"           select="/QUERY_MODULE/REQUEST"/>
     24        <xsl:param name="QueryModule.configuration" select="/QUERY_MODULE/CONFIGURATIONS/CONFIGURATION[NAME = $QueryModule.request/CONFIGURATION_NAME]"/>
     25        <xsl:param name="QueryModule.result"            select="/QUERY_MODULE/IBISQ_QUERY_RESULT"/>
    2326
    2427        <!-- other highly used QM references that are specified in the QM XML -->
    25         <xsl:param name="QueryModule.dimensions"        select="$QueryModule.queryModule/DIMENSIONS"/>
    26         <xsl:param name="QueryModule.charts"            select="$QueryModule.queryModule/CHARTS"/>
    27         <xsl:param name="QueryModule.maps"                      select="$QueryModule.queryModule/MAPS"/>
     28        <xsl:param name="QueryModule.dimensions"        select="/QUERY_MODULE/DIMENSIONS"/>
     29        <xsl:param name="QueryModule.charts"            select="/QUERY_MODULE/CHARTS"/>
     30        <xsl:param name="QueryModule.maps"                      select="/QUERY_MODULE/MAPS"/>
    2831
    2932        <!-- injected in Spring QM.xml from common.xml beans -->
     
    211214
    212215
    213 
    214216        <xsl:template name="QueryModule.selectedDimensionsCriteriaTableRows"
    215217                ibis:doc="Creates a table row for the specified dimension and values."
     
    237239                        </xsl:if>
    238240                </xsl:for-each>
    239 
    240241        </xsl:template>
    241242
     
    284285        </xsl:template>
    285286
     287
    286288        <xsl:template name="QueryModule.selectedVisualizationTableRow"
    287289                ibis:doc="display - selected chart/maps"
    288290        >
    289                 <xsl:param name="request" ibis:doc="REQUEST element to look up value chart and map names from."/>
    290                 <xsl:param name="maps"    ibis:doc="MAPS element to look up map title from."/>
    291                 <xsl:param name="charts"  ibis:doc="CHARTS element to look up chart title from."/>
     291                <xsl:param name="request" select="$QueryModule.request" ibis:doc="REQUEST element to look up value chart and map names from."/>
     292                <xsl:param name="maps"    select="$QueryModule.maps"    ibis:doc="MAPS element to look up map title from."/>
     293                <xsl:param name="charts"  select="$QueryModule.charts"  ibis:doc="CHARTS element to look up chart title from."/>
    292294
    293295                <tr>
    294296                        <th scope="row" title="Defines how the data are visualized.">Selected Visuals:</th>
    295297                        <td title="Map is listed first then the Chart as applicable." style="width:75%">
    296                                 <xsl:value-of select="ibis:getMapTitle($maps, $request/MAP_NAME)"/>,
     298                                <xsl:value-of select="ibis:getMapTitle($maps, $request/MAP_NAME)"/>
    297299                                <xsl:value-of select="ibis:getChartTitle($charts, $request/CHART_NAME)"/>
    298300                        </td>
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/module/builder/Builder.xslt

    r22653 r22738  
    393393                <button type="button" accesskey="S" id="submitButton" title="Submit the query and display the result page">
    394394                        <xsl:attribute name="onclick" select="
    395                                 if(exists($Page.queryConfiguration/CRITERIA/SUBMIT_JAVASCRIPT_FUNCTION_CALL))
    396                                         then $Page.queryConfiguration/CRITERIA/SUBMIT_JAVASCRIPT_FUNCTION_CALL
     395                                if(exists($QueryModule.configuration/CRITERIA/SUBMIT_JAVASCRIPT_FUNCTION_CALL))
     396                                        then $QueryModule.configuration/CRITERIA/SUBMIT_JAVASCRIPT_FUNCTION_CALL
    397397                                        else 'submitQuery()'
    398398                                "/>
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/module/builder/Page.xslt

    r22653 r22738  
    99        <xsl:import href="../../../DataViz.xslt"/>
    1010        <xsl:import href="../../definition/ApplyCriteria.xslt"/>
    11         <xsl:import href="../QueryModule.xslt"/>
    1211        <xsl:import href="../Page.xslt"/>
    1312        <xsl:import href="SectionSelections.xslt"/>
     
    4039        <!-- ~~~~~~~~~~~~~~~~~~~~~~~ PARAMS / VARIABLES ~~~~~~~~~~~~~~~~~~~~~~~~ -->
    4140        <xsl:param name="Page.pageTitle" ibis:doc="Page's title text which is based on the 'queryModule/TITLE' element.">
    42                 <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$Page.queryConfiguration/TITLE"/> Query Builder
     41                <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$QueryModule.configuration/TITLE"/> Query Builder
    4342        </xsl:param>
    4443        <xsl:param name="Page.contentTitle" ibis:doc="Page's content title text which is based on the '$selections.queryModule/TITLE' element.">
    45                 Query Builder for <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$Page.queryConfiguration/TITLE"/>
     44                Query Builder for <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$QueryModule.configuration/TITLE"/>
    4645<!--
    47                 Query Builder for <xsl:value-of select="$Page.queryConfiguration/TITLE"/>
    48                 Query Builder for <xsl:value-of select="concat($Page.queryConfiguration/TITLE, '-', /QUERY_MODULE/TITLE)"/>
     46                Query Builder for <xsl:value-of select="$QueryModule.configuration/TITLE"/>
     47                Query Builder for <xsl:value-of select="concat($QueryModule.configuration/TITLE, '-', /QUERY_MODULE/TITLE)"/>
    4948-->
    5049        </xsl:param>
     
    6362
    6463        <xsl:param name="Page.submitFormURL"
    65                 select="concat($Page.queryBaseRequestPath, 'submit/', /QUERY_MODULE/REQUEST/CONFIGURATION_PATH, '.html')"
     64                select="concat($Page.queryBaseRequestPath, 'submit/', $QueryModule.request/CONFIGURATION_PATH, '.html')"
    6665                ibis:doc="Mechanism implemented so secure query can have a different result page."
    6766        />
    68         <xsl:param name="Page.queryDefinitionFromBuilderPath" select="'query/definition/from/builder'"/>
    69 
    70 
    71         <xsl:param name="Page.baseConfigurationRequestPath"
    72                 select="concat($Page.queryBaseRequestPath, 'builder/', $Page.queryModulePath)"
    73         />
    74 
    7567
    7668
     
    260252                        window.onbeforeunload = function() {}
    261253
    262                         function viewAppliedDefinition()
    263                         {
    264                         alert("view applied definition: "+ junk);
    265                         }
    266 
    267254                        // ]]>
    268255                </script>
     
    277264                        step, and the submission control."
    278265        >
    279                 <xsl:param name="sections" select="/QUERY_MODULE/CRITERIA/SECTIONS"/>
     266                <xsl:param name="sections"    select="$QueryModule.queryModule/CRITERIA/SECTIONS"/>
    280267
    281268
     
    285272                        match enable the page to be displayed.  Otherwise it simply blows...
    286273                -->
    287                 <xsl:if test="count($Page.queryConfiguration/NAME) &gt; 1">
     274                <xsl:if test="1 &lt; count($QueryModule.configuration/NAME)">
    288275                        <div class="Error">
    289276                                <h2>ERROR: Duplicate Module Configuration Names!!!  Please
     
    291278                                        <br/><br/>
    292279
    293                                         Duplicate Configuration Name: <xsl:value-of select="distinct-values($Page.queryConfiguration/NAME)"/>
     280                                        Duplicate Configuration Name: <xsl:value-of select="distinct-values($QueryModule.configuration/NAME)"/>
    294281                                </h2>
    295282                        </div><br/>
     
    297284                        <xsl:next-match/>
    298285                        <xsl:message terminate="yes">
    299                                 QUERY MODULE ERROR: Duplicate Module Configuration Names: <xsl:value-of select="concat(/QUERY_MODULE/NAME, '/', distinct-values($Page.queryConfiguration/NAME))"/>
     286                                QUERY MODULE ERROR: Duplicate Module Configuration Names: <xsl:value-of select="concat($QueryModule.queryModule/NAME, '/', distinct-values($QueryModule.configuration/NAME))"/>
    300287                        </xsl:message>
    301288                </xsl:if>
     
    303290
    304291                <xsl:call-template name="ContentContainer.overviews">
    305                         <xsl:with-param name="overviews" select="/QUERY_MODULE/CRITERIA/OVERVIEWS/OVERVIEW"/>
     292                        <xsl:with-param name="overviews" select="$QueryModule.queryModule/CRITERIA/OVERVIEWS/OVERVIEW"/>
    306293                </xsl:call-template>
    307294
     
    315302                                submitting to the servlet.
    316303                        -->
    317                         <xsl:apply-templates mode="Builder.hiddenInput" select="/QUERY_MODULE//PARAMETERS/PARAMETER[exists(HIDDEN_INPUT_FLAG)]"/>
     304                        <xsl:apply-templates mode="Builder.hiddenInput" select="$QueryModule.queryModule//PARAMETERS/PARAMETER[exists(HIDDEN_INPUT_FLAG)]"/>
    318305
    319306                        <!-- do the step sections - questions and answers -->
    320                         <xsl:for-each select="/QUERY_MODULE/CRITERIA/SECTIONS/SECTION">
     307                        <xsl:for-each select="$QueryModule.queryModule/CRITERIA/SECTIONS/SECTION">
    321308                                <xsl:call-template name="SectionSelections.expandableContentSection">
    322309                                        <xsl:with-param name="section"            select="."/>
     
    377364                                <xsl:if test="exists($QueryModule.result)">
    378365                                        <button type="button" accesskey="L" id="defaultQueryButton"
    379                                                 onclick="location.href='{$Page.queryBaseRequestPath}builder/{/QUERY_MODULE/REQUEST/CONFIGURATION_PATH}.html?Reload=x'"
     366                                                onclick="location.href='{$Page.queryBaseRequestPath}builder/{$QueryModule.request/CONFIGURATION_PATH}.html?Reload=x'"
    380367                                        >
    381368                                                Load Default Selections
     
    385372                                        </button>
    386373
    387                                         <xsl:if test="exists($Page.queryModule/QUERY_CONFIGURATION_SELECTION)">
     374                                        <xsl:if test="exists($QueryModule.queryModule/QUERY_CONFIGURATION_SELECTION)">
    388375                                                <button type="button" accesskey="D" id="changeQueryDataset"
    389                                                         onclick="location.href='{concat($ibis.baseRequestPath, $Page.queryModule/QUERY_CONFIGURATION_SELECTION/LOCAL_URL)}'"
     376                                                        onclick="location.href='{concat($ibis.baseRequestPath, $QueryModule.queryModule/QUERY_CONFIGURATION_SELECTION/LOCAL_URL)}'"
    390377                                                >
    391378                                                        Select New Measure
     
    450437                                        <xsl:call-template name="QueryModule.selectedDimensionsCriteriaTableRows">
    451438                                                <xsl:with-param name="selectedDimensions" select="$ApplyCriteria.queryDefinition//SELECTED_DIMENSIONS"/>
    452                                                 <xsl:with-param name="dimensions" select="$QueryModule.dimensions"/>
    453439                                        </xsl:call-template>
    454440
     
    460446                                        <xsl:call-template name="QueryModule.selectedVisualizationTableRow">
    461447                                                <xsl:with-param name="request" select="$ApplyCriteria.queryDefinition/REQUEST"/>
    462                                                 <xsl:with-param name="maps"    select="$QueryModule.maps"/>
    463                                                 <xsl:with-param name="charts"  select="$QueryModule.charts"/>
    464448                                        </xsl:call-template>
    465449                                </table>
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/module/builder/SectionSelections.xslt

    r22413 r22738  
    137137                <xsl:if test="$isDimension and not(exists(/QUERY_MODULE/DIMENSIONS/DIMENSION[NAME = current()/DIMENSION_NAME]))">
    138138                        <div class="Error">Dimension Name <xsl:value-of select="DIMENSION_NAME"/> NOT found!!!</div>
    139                         <xsl:message select="concat('QUERY BUILDER XSLT ERROR: Dimension Name ', DIMENSION_NAME, ' NOT found for config: ', $Page.queryConfiguration/NAME)"/>
     139                        <xsl:message select="concat('QUERY BUILDER XSLT ERROR: Dimension Name ', DIMENSION_NAME, ' NOT found for config: ', $QueryModule.configuration/NAME)"/>
    140140                </xsl:if>
    141141
     
    293293<!-- TODO: REMOVE THIS EXCLUDE COMPLEXITY??? PRETTY SURE LOIS NEEDS THIS ???  -->
    294294                <!-- if selection is not excluded then add it - otherwise skip -->
    295                 <xsl:if test="not(exists($Page.queryConfiguration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[NAME=$inputElementName and VALUE=$value]))">
     295                <xsl:if test="not(exists($QueryModule.configuration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[NAME=$inputElementName and VALUE=$value]))">
    296296                        <xsl:variable name="childIDSuffix" select="concat($idSuffix, '.', position())"/>
    297297
     
    412412                        These value elements are then checked against the excluded values.
    413413                -->
    414                 <xsl:if test="not(exists($Page.queryConfiguration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[NAME=$selectionsName and VALUE=$inputElementValue]))">
     414                <xsl:if test="not(exists($QueryModule.configuration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[NAME=$selectionsName and VALUE=$inputElementValue]))">
    415415                        <xsl:variable name="dimension" select="/QUERY_MODULE/DIMENSIONS/DIMENSION[NAME = $selectionsName]"/>
    416416                        <xsl:variable name="_value" select="
     
    420420                        "/>
    421421<!-- TODO: REMOVE THIS EXCLUDE COMPLEXITY??? PRETTY SURE LOIS NEEDS THIS? -->
    422                         <xsl:variable name="value" select="$_value[not( $Page.queryConfiguration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[(NAME=$selectionsName) and (VALUE=text())] )]"/>
     422                        <xsl:variable name="value" select="$_value[not( $QueryModule.configuration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[(NAME=$selectionsName) and (VALUE=text())] )]"/>
    423423
    424424                        <!--
     
    503503<!-- TODO: REMOVE THIS EXCLUDE COMPLEXITY?  PRETTY SURE LOIS NEEDS THIS??? -->
    504504                <xsl:if test="
    505                         not($Page.queryConfiguration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[NAME=$name and VALUE=$value])
     505                        not($QueryModule.configuration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[NAME=$name and VALUE=$value])
    506506                        and
    507507                        ibis:hasAuthority(AUTHORITY)
     
    591591<!-- LOIS NEEDS THIS EXCLUDE??? -->
    592592                <xsl:if test="
    593                         not(exists($Page.queryConfiguration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[(NAME=$name) and (VALUE=$value)]))
     593                        not(exists($QueryModule.configuration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[(NAME=$name) and (VALUE=$value)]))
    594594                        and
    595595                        ibis:hasAuthority(AUTHORITY)
     
    615615<!-- TODO: REMOVE THIS EXCLUDE COMPLEXITY??  LOIS NEEDS THIS??? -->
    616616
    617                 <xsl:if test="not(exists($Page.queryConfiguration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[(NAME=$name) and (VALUE=$value)]))">
     617                <xsl:if test="not(exists($QueryModule.configuration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[(NAME=$name) and (VALUE=$value)]))">
    618618
    619619                        <!-- If not an excluded value then set the option as selected IF:
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/module/result/Page.xslt

    r22653 r22738  
    1212        <xsl:import href="../../definition/ApplyCriteria.xslt"/>
    1313        <xsl:import href="../../definition/QueryDefinition.xslt"/>
    14         <xsl:import href="../QueryModule.xslt"/>
    1514        <xsl:import href="../Page.xslt"/>
    1615        <xsl:import href="DataViz.xslt"/>
     
    2928
    3029       
    31         <xsl:param name="Page.queryConfigurationTitle" select="$Page.queryConfiguration/TITLE"/>
     30        <xsl:param name="QueryModule.configurationTitle" select="$QueryModule.configuration/TITLE"/>
    3231        <xsl:param name="Page.pageTitle" ibis:doc="Page's title text which is based on the '/QUERY_MODULE/TITLE' element.">
    33                 Query Result - <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$Page.queryConfigurationTitle"/>
     32                Query Result - <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$QueryModule.configurationTitle"/>
    3433        </xsl:param>
    3534        <xsl:param name="Page.contentTitle" ibis:doc="Page's content title text which is based on the '/QUERY_MODULE/TITLE' element.">
    36                 Query Results for <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$Page.queryConfigurationTitle"/>
     35                Query Results for <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$QueryModule.configurationTitle"/>
    3736        </xsl:param>
    3837
    3938
    4039        <!-- bread crumbs and content options -->
    41         <xsl:param name="Page.builderURL" select="concat($Page.queryBaseRequestPath, 'builder/', /QUERY_MODULE/REQUEST/CONFIGURATION_PATH, '.html')"/>
    42         <xsl:param name="Page.resultURL"  select="concat($Page.queryBaseRequestPath, 'result/',  /QUERY_MODULE/REQUEST/CONFIGURATION_PATH, '.html')"/>
     40        <xsl:param name="Page.builderURL" select="concat($Page.queryBaseRequestPath, 'builder/', $QueryModule.request/CONFIGURATION_PATH, '.html')"/>
     41        <xsl:param name="Page.resultURL"  select="concat($Page.queryBaseRequestPath, 'result/',  $QueryModule.request/CONFIGURATION_PATH, '.html')"/>
    4342
    4443
    4544        <xsl:param name="Page.requestErrorMessageContent">
    4645                <div class="Error">
    47                         <h2>Error: <xsl:value-of select="/QUERY_MODULE/REQUEST/ERROR/TITLE"/></h2>
     46                        <h2>Error: <xsl:value-of select="$QueryModule.request/ERROR/TITLE"/></h2>
    4847
    4948                        <p>
     
    5857                        </p>
    5958
    60                         <div class="Note" title="{/QUERY_MODULE/REQUEST/ERROR/TITLE}">
     59                        <div class="Note" title="{$QueryModule.request/ERROR/TITLE}">
    6160                                <h3>Error Details:</h3>
    62                                 <xsl:value-of select="/QUERY_MODULE/REQUEST/ERROR/DESCRIPTION"/>
     61                                <xsl:value-of select="$QueryModule.request/ERROR/DESCRIPTION"/>
    6362                        </div>
    6463                </div>
     
    7675                        </p>
    7776
    78                         <div class="Note" title="{/QUERY_MODULE/REQUEST/ERROR/TITLE}">
     77                        <div class="Note" title="{$QueryModule.request/ERROR/TITLE}">
    7978                                <h3>More Error Detail:</h3>
    80                                 <xsl:value-of select="/QUERY_MODULE/REQUEST/ERROR"/>
     79                                <xsl:value-of select="$QueryModule.request/ERROR"/>
    8180                        </div>
    8281                </div>
     
    121120                        was combined 1/10/08."
    122121        >
    123                 <xsl:if test="not(exists(/QUERY_MODULE/IBISQ_QUERY_RESULT)) and not(exists(/QUERY_MODULE/REQUEST/ERROR))">
     122                <xsl:if test="not(exists($QueryModule.result)) and not(exists($QueryModule.request/ERROR))">
    124123                        <meta http-equiv="refresh" content="0;URL={$Page.resultURL}"/>
    125124                </xsl:if>
     
    130129
    131130        <xsl:template name="Page.contentBody" ibis:doc="Main interactive sections content template.">
    132                 <xsl:param name="queryModule"                   select="$Page.queryModule"/>
    133                 <xsl:param name="queryConfiguration"    select="$Page.queryConfiguration"/>
    134                 <xsl:param name="recordCount"                   select="count($queryModule/IBISQ_QUERY_RESULT/RECORDS/RECORD)"/>
    135131
    136132                <xsl:call-template name="Page.contentOptions"/>
     
    147143                >
    148144                        <xsl:call-template name="QueryModule.selectedDimensionsCriteriaTableRows">
    149                                 <xsl:with-param name="selectedDimensions" select="$queryModule//SECTION//SELECTED_DIMENSIONS"/>
     145                                <xsl:with-param name="selectedDimensions" select="$QueryModule.queryModule//SECTION//SELECTED_DIMENSIONS"/>
    150146                                <xsl:with-param name="dimensions" select="$QueryModule.dimensions"/>
    151147                        </xsl:call-template>
    152148
    153149                        <xsl:call-template name="QueryModule.dataGroupedByTableRow">
    154                                 <xsl:with-param name="rowDimensionTitle"   select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$queryModule/REQUEST/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME])"/>
    155                                 <xsl:with-param name="colDimensionTitle"   select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$queryModule/REQUEST/ACTUAL_GROUP_BY/SERIES_DIMENSION_NAME])"/>
    156                                 <xsl:with-param name="otherDimensionTitle" select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$queryModule/REQUEST/ACTUAL_GROUP_BY/OTHER_DIMENSION_NAME])"/>
     150                                <xsl:with-param name="rowDimensionTitle"   select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$QueryModule.request/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME])"/>
     151                                <xsl:with-param name="colDimensionTitle"   select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$QueryModule.request/ACTUAL_GROUP_BY/SERIES_DIMENSION_NAME])"/>
     152                                <xsl:with-param name="otherDimensionTitle" select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$QueryModule.request/ACTUAL_GROUP_BY/OTHER_DIMENSION_NAME])"/>
    157153                        </xsl:call-template>
    158154                </table>
    159155
    160156<xsl:if test="$ApplyCriteria.isSet">
    161 <br/>
    162157                <h2>Current "Apply Query Definition"</h2>
    163158                <table id="applyCriteria" class="Info"
     
    169164                        <xsl:call-template name="QueryModule.selectedDimensionsCriteriaTableRows">
    170165                                <xsl:with-param name="selectedDimensions" select="$ApplyCriteria.queryDefinition//SELECTED_DIMENSIONS"/>
    171                                 <xsl:with-param name="dimensions" select="$QueryModule.dimensions"/>
    172166                        </xsl:call-template>
    173167
     
    179173                        <xsl:call-template name="QueryModule.selectedVisualizationTableRow">
    180174                                <xsl:with-param name="request" select="$ApplyCriteria.queryDefinition/REQUEST"/>
    181                                 <xsl:with-param name="maps"    select="$QueryModule.maps"/>
    182                                 <xsl:with-param name="charts"  select="$QueryModule.charts"/>
    183175                        </xsl:call-template>
    184176                </table>
     
    186178
    187179                <xsl:choose>
    188                         <xsl:when test="exists($queryModule/REQUEST/ERROR)">
     180                        <xsl:when test="exists($QueryModule.request/ERROR)">
    189181                                <xsl:copy-of select="$Page.requestErrorMessageContent"/>
    190182                        </xsl:when>
    191183
    192                         <xsl:when test="exists($queryModule/IBISQ_QUERY_RESULT/ERROR)">
     184                        <xsl:when test="exists($QueryModule.result/ERROR)">
    193185                                <xsl:copy-of select="$Page.resultErrorMessageContent"/>
    194186                        </xsl:when>
    195187
    196                         <xsl:when test="not(exists($queryModule/IBISQ_QUERY_RESULT))">
     188                        <xsl:when test="not(exists($QueryModule.result))">
    197189                                <xsl:copy-of select="$Page.pleaseWaitMessageContent"/>
    198190                        </xsl:when>
    199191
    200                         <xsl:when test="$recordCount = 0">
     192                        <xsl:when test="count($QueryModule.result/RECORDS/RECORD) = 0">
    201193                                <xsl:copy-of select="$Page.resultNoDataMessageContent"/>
    202194                        </xsl:when>
     
    204196                        <!-- If records, then display the data list table. -->
    205197                        <xsl:otherwise>
    206                                 <xsl:call-template name="Page.dataContent">
    207                                         <xsl:with-param name="queryModule"                      select="$queryModule"/>
    208                                         <xsl:with-param name="queryConfiguration"       select="$queryConfiguration"/>
    209                                 </xsl:call-template>
     198                                <xsl:call-template name="Page.dataContent"/>
    210199                        </xsl:otherwise>
    211200                </xsl:choose>
     201
     202                <xsl:call-template name="Page.usageAgreementDialog"/>
    212203
    213204        </xsl:template>
     
    247238                                <xsl:if test="exists($QueryModule.queryModule/DEVELOPMENT_FLAG)">
    248239                                        <button type="button" accesskey="L" id="defaultQueryButton"
    249                                                 onclick="location.href='{$Page.queryBaseRequestPath}result/{/QUERY_MODULE/REQUEST/CONFIGURATION_PATH}.html?Reload=x'"
     240                                                onclick="location.href='{$Page.resultURL}?Reload=x'"
    250241                                        >
    251242                                                Run Default Query
     
    256247
    257248                                        <button type="button" accesskey="X" id="viewXMLButton"
    258                                                 onclick="location.href='{$ibis.baseRequestPath}query/configuration/{$QueryModule.queryModule/REQUEST/CONFIGURATION_PATH}.xml'"
     249                                                onclick="location.href='{$ibis.baseRequestPath}query/configuration/{$QueryModule.request/CONFIGURATION_PATH}.xml'"
    259250                                        >
    260251                                                View Module XML
     
    272263                </div>
    273264
     265                <xsl:call-template name="ApplyCriteria.dialog"/>
     266
     267                <xsl:call-template name="QueryDefintion.editIdentityDialog">
     268                        <xsl:with-param name="queryModule" select="$QueryModule.queryModule"/>
     269                </xsl:call-template>
     270
     271                <xsl:call-template name="Login.dialog">
     272                        <xsl:with-param name="overviewContent">
     273                                <p>
     274                                You are not logged in.  To save a query you must be logged in. 
     275                                Enter your username / password to proceed.  Once successfully
     276                                logged in you will be redirected back to this page where you
     277                                can then save the query definition.
     278                                </p>
     279                        </xsl:with-param>
     280                </xsl:call-template>
     281
    274282        </xsl:template>
    275283
     
    281289                "
    282290        >
    283                 <xsl:param name="queryModule"                   select="$Page.queryModule"/>
    284                 <xsl:param name="queryConfiguration"    select="$Page.queryConfiguration"/>
    285                 <xsl:param name="queryRequest"                  select="$queryModule/REQUEST"/>
    286 
    287                 <xsl:variable name="dataVizContainerIDPrefix" select="ibis:firstLetterLowerCase( replace($queryRequest/CONFIGURATION_PATH, '/', '_') )"/>
     291                <xsl:variable name="dataVizContainerIDPrefix" select="ibis:firstLetterLowerCase( replace($QueryModule.request/CONFIGURATION_PATH, '/', '_') )"/>
    288292                <xsl:variable name="dataVizObjectName"        select="concat($dataVizContainerIDPrefix, 'DataViz')"/>
    289293
     
    294298                                        <xsl:call-template name="DataViz.mapContainer">
    295299                                                <xsl:with-param name="containerID"   select="concat($dataVizContainerIDPrefix, '_map')"/>
    296                                                 <xsl:with-param name="footerContent" select="$queryConfiguration/MAP_NARRATIVE"/>
     300                                                <xsl:with-param name="footerContent" select="$QueryModule.configuration/MAP_NARRATIVE"/>
    297301                                        </xsl:call-template>
    298302                                </xsl:with-param>
     
    305309                <xsl:if test="$DataViz.showChart">
    306310                        <xsl:call-template name="ContentContainer.expandable">
    307                                 <xsl:with-param name="title" select="if('Line'=$queryRequest/CHART_NAME)then 'Trend' else 'Chart'"/>
     311                                <xsl:with-param name="title" select="if('Line'=$QueryModule.request/CHART_NAME)then 'Trend' else 'Chart'"/>
    308312                                <xsl:with-param name="content">
    309313                                        <xsl:call-template name="DataViz.chartContainer">
    310314                                                <xsl:with-param name="containerID"   select="concat($dataVizContainerIDPrefix, '_chart')"/>
    311                                                 <xsl:with-param name="footerContent" select="$queryConfiguration/CHART_NARRATIVE/text()"/>
     315                                                <xsl:with-param name="footerContent" select="$QueryModule.configuration/CHART_NARRATIVE"/>
    312316                                        </xsl:call-template>
    313317                                </xsl:with-param>
     
    348352                                <xsl:with-param name="dataVizContainerIDPrefix" select="$dataVizContainerIDPrefix"/>
    349353
    350                                 <xsl:with-param name="queryModule"                      select="$queryModule"/>
    351                                 <xsl:with-param name="queryConfiguration"       select="$queryConfiguration"/>
    352                                 <xsl:with-param name="queryRequest"                     select="$queryRequest"/>
     354                                <xsl:with-param name="queryModule"                      select="$QueryModule.queryModule"/>
     355                                <xsl:with-param name="queryConfiguration"       select="$QueryModule.configuration"/>
     356                                <xsl:with-param name="queryRequest"                     select="$QueryModule.request"/>
    353357                        </xsl:call-template>
    354358
     
    364368                        });
    365369                        </xsl:if>
    366 
    367 
    368                         function saveQueryDefinition()
    369                         {
    370                         <xsl:if test="boolean(ibis:isAuthenticated())">
    371                                 showQueryDefinitionEditIdentityDialog();
    372                         </xsl:if>
    373                         <xsl:if test="not(ibis:isAuthenticated())">
    374                                 showLoginDialog();
    375                         </xsl:if>
    376                         }
    377370                </script>
    378 
    379                 <xsl:call-template name="ApplyCriteria.dialog">
    380                         <xsl:with-param name="queryModule" select="$queryModule"/>
    381                 </xsl:call-template>
    382 
    383 
    384                 <xsl:call-template name="Page.usageAgreementDialog"/>
    385 
    386                 <xsl:call-template name="QueryDefintion.editIdentityDialog">
    387                         <xsl:with-param name="queryModule"   select="$queryModule"/>
    388                         <xsl:with-param name="configuration" select="$queryConfiguration"/>
    389                 </xsl:call-template>
    390 
    391                 <xsl:call-template name="Login.dialog">
    392                         <xsl:with-param name="overviewContent">
    393                                 <p>
    394                                 You are not logged in.  To save a query you must be logged in. 
    395                                 Enter your username / password to proceed.  Once successfully
    396                                 logged in you will be redirected back to this page where you
    397                                 can then save the query definition.
    398                                 </p>
    399                         </xsl:with-param>
    400                 </xsl:call-template>
    401 
    402371        </xsl:template>
    403372
    404373
    405374        <xsl:template name="Page.contentFooter" ibis:doc="QM Result dates and owning program's contact info.">
    406                 <xsl:param name="queryModule" select="$Page.queryModule"/>
    407                 <xsl:param name="orgUnitName" select="if(0 != string-length($Page.queryModule/ORG_UNIT_NAME)) then $queryModule/ORG_UNIT_NAME else 'DEFAULT'"/>
     375                <xsl:param name="queryModule" select="$QueryModule.queryModule"/>
     376                <xsl:param name="orgUnitName" select="if(0 != string-length($queryModule/ORG_UNIT_NAME)) then $queryModule/ORG_UNIT_NAME else 'DEFAULT'"/>
    408377                <xsl:param name="orgUnit"     select="$Page.orgUnits//ORG_UNIT[NAME=$orgUnitName]"/>
    409378
  • trunk/ibisph-view/src/main/webapp/xslt/html/secure/query/module/builder/SiteSpecific.xslt

    r20582 r22738  
    1818        </ibis:doc>
    1919
    20         <xsl:param name="Page.queryDefinitionFromBuilderPath" select="'secure/query/definition/from/builder'"/>
    2120
    2221        <xsl:param name="Page.submitFormURL"
  • trunk/ibisph/src/main/java/org/ibisph/xml/service/IncludeProcessingGetModel.java

    r20981 r22738  
    9696   * portable.
    9797   *
    98    * @param xmlFilePathAndName Base/main XML source document path and filename for the
    99    *   XML file to be processed for "ibis:include" statements and loaded.
     98   * @param xmlFilePathAndName Base/main XML source document path and filename
     99   *   for the XML file to be processed for "ibis:include" statements.
    100100   * @param parameters Optional name value pair map values to be passed
    101101   *   to the XSLT.
Note: See TracChangeset for help on using the changeset viewer.