Changeset 1554 for MDService2


Ignore:
Timestamp:
09/22/11 10:14:12 (13 years ago)
Author:
gaba
Message:

search action corrections, paging , repository setting

Location:
MDService2/branches/MDService_simple3/src
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • MDService2/branches/MDService_simple3/src/eu/clarin/cmdi/mdservice/action/GenericAction.java

    r1540 r1554  
    314314        @SuppressWarnings("unchecked")
    315315        protected void loadParams() {           
    316                 params = new HashMap(getServletRequest().getParameterMap());
    317 
    318                 if (getQ() != null) {
    319                         addParam("q",getQ());
    320                 }       
     316                params = new HashMap(getServletRequest().getParameterMap());   
    321317
    322318                // set defaults
     
    327323                        addParam("operation","searchRetrieve");
    328324                }
     325                // TODO xslt param is q, server param is query (query=q)
     326                       
    329327                if ( params.get("query") == null){
    330                         addParam("query",getParam("q"));
    331                 }
     328                        addParam("query",getQ());
     329                } else {
     330                        setQ(getQuery());
     331                }
     332                if (getQ() != null) {
     333                        addParam("q",getQ());
     334                }
     335               
    332336                if ( params.get("startRecord") == null){
    333337                        addParam("startRecord","1");
  • MDService2/branches/MDService_simple3/src/eu/clarin/cmdi/mdservice/proxy/MDRepoProxy.java

    r1540 r1554  
    5959        public URL getTargetRequest() throws IOException {
    6060       
    61                  Query query = new Query(getParam("squery"), getParam("q"),getSourceAction().getActionkey());
    62                  
    63                  URL targetURL =new URL( getBaseURL(), urls.get(getSourceAction().getActionkey()) + query.toURLParam());
    64                  
    65                  return targetURL;
    66                 /*
    67                 log.debug("MDRPx.getQ:" + getSquery() + " and (" +  getQ() + ")");
    68                 log.debug("MDRPA.getActionkey:" + getActionkey());             
    69                
    70                
     61                //TODO squery removed
     62                //Query query = new Query(getParam("squery"), getParam("query"),getSourceAction().getActionkey());
     63                Query query = new Query("", getParam("query"),getSourceAction().getActionkey());
     64       
     65                //log.debug("MDRPx.getQ:" + getSquery() + " and (" +  getQ() + ")");
     66                log.debug("MDRP.getQuery:" + getParam("query"));
     67                log.debug("MDRP.getActionkey:" + getSourceAction().getActionkey());             
    7168
    7269        // check if the query could get parsed
    7370                if (query.isStatus(Query.PARSEERROR)) {
    74                         log.debug("MDRPA.query.PARSEERROR:" + query.getMsg());
    75                         // pass this bad news to the client
    76                         setUserMsg(query.getMsg());
     71                        log.debug("MDRP.query.PARSEERROR:" + query.getMsg());
     72                        //TODO exception ??
    7773                        return null;
    7874                } else {
    79                         query.setMaxdepth(getMaxdepth());               
    80                         query.setCollection(getCollection());
    81                         query.setColumns(getColumns());
    82                         query.setMaximumItems(getMaximumItems());
    83                         query.setStartItem(getStartItem());
    84                         query.setOptions(getOptions());
    85                         query.setSort(getSort());
     75                        query.setMaxdepth(Integer.valueOf(getParam("maxdepth")));               
     76                        query.setCollection(getParam("collections"));
     77                        query.setColumns(getParam("columns"));
     78                        query.setMaximumItems(getParam("maximumRecords"));
     79                        query.setStartItem(getParam("startRecord"));
     80                        query.setOptions(getParam("options"));
     81                        query.setSort(getParam("sort"));
    8682               
    8783                        URL targetURL = null;
    88                         targetURL =new URL( getBaseURL(), urls.get(getActionkey()) + query.toURLParam() );
    89                         log.debug("MDRPA.targetURL.query.toURLParam:" + query.toURLParam());
     84                        targetURL =new URL( getBaseURL(), urls.get(getSourceAction().getActionkey()) + query.toURLParam());
     85               
    9086                        log.debug("MDRPA.targetURL:" + targetURL);
    9187                return targetURL;
    9288                }
    93                 */
    9489                 
    9590        }
  • MDService2/branches/MDService_simple3/src/xsl/cmd_functions.xsl

    r1531 r1554  
    193193                        </xsl:when>                     
    194194                        <xsl:otherwise>
    195 <!--                            <xsl:value-of select="concat($base_dir, '/',$action, '/?format=', $format, '&amp;', $q, '&amp;repository=', $repository_name)" />-->
    196                                 <xsl:value-of select="concat($base_dir, '/',$action, '/', $format, '?q=', $q, '&amp;repository=', $repository_name)" />
     195                                <xsl:choose>
     196                                <xsl:when test="$repository_name=''">
     197                                        <xsl:value-of select="concat($base_dir, '/',$action, '/', $format, '?query=', $q)" />
     198                                </xsl:when>
     199                                <xsl:when test="$startRecord=''">
     200                                        <xsl:value-of select="concat($base_dir, '/',$action, '/', $format, '?query=', $q, '&amp;repository=', $repository_name)" />
     201                                </xsl:when>                     
     202                                <xsl:otherwise>
     203                                        <xsl:value-of select="concat($base_dir, '/',$action, '/', $format, '?query=', $q, '&amp;repository=', $repository_name, '&amp;startRecord=', $startRecord, '&amp;maximumRecords=', $maximumRecords)" />
     204                                </xsl:otherwise>
     205                        </xsl:choose>
    197206                        </xsl:otherwise>
    198207                </xsl:choose>
    199208               
     209        </xsl:function>
     210
     211<xsl:function name="my:formsearchURL" >
     212                <xsl:param name="lquery" />
     213                <xsl:param name="startRecord" />
     214                <xsl:param name="maximumRecords" />
     215                <xsl:param name="repository" />
     216               
     217                <xsl:variable name="searchurl" select="my:formURL('search','htmlpage',$lquery)" />
     218                <xsl:variable name="param_repository">
     219                        <xsl:if test="$repository != ''">
     220                                <xsl:value-of select="concat('&amp;repository=',$repository)"></xsl:value-of>
     221                        </xsl:if>
     222                </xsl:variable>
     223                <xsl:variable name="param_startRecord">
     224                        <xsl:if test="$startRecord != ''">
     225                                <xsl:value-of select="concat('&amp;startRecord=',$startRecord)"></xsl:value-of>
     226                        </xsl:if>
     227                </xsl:variable>
     228                <xsl:variable name="param_maximumRecords">
     229                        <xsl:if test="$maximumRecords != ''">
     230                                <xsl:value-of select="concat('&amp;maximumRecords=',$maximumRecords)"></xsl:value-of>
     231                        </xsl:if>
     232                </xsl:variable>
     233                <xsl:value-of select="concat($searchurl, $param_repository, $param_startRecord, $param_maximumRecords)" />
    200234        </xsl:function>
    201235       
  • MDService2/branches/MDService_simple3/src/xsl/html_snippets.xsl

    r1531 r1554  
    1111
    1212-->
     13<xsl:variable name="workspaceprofile" select="document($workspaceprofile_uri)" />
    1314
    1415<xsl:template name="html-head">
     
    7475                <div class="content" id="query-input" >         
    7576                        <form action="{my:formURL('search', 'htmlpage','')}" method="get">                                                     
    76                                 <input type="text" id="input-simplequery" name="squery" value="{$q}" />
     77                                <input type="text" id="input-simplequery" name="query" value="{$q}" />
    7778                                <input type="submit"  value="submit" id="submit-query"/>
    7879                               
     
    8283                                        <td valign="top">
    8384                                                <div id="repositories" >               
    84                                                                 <label>Repository</label> <select id="repositories_select" ></select>                                                           
     85                                                                <label>Repository</label>
     86                                                                <select id="repositories_select" name="repository">
     87                                                                <xsl:for-each select="$workspaceprofile//WorkspaceProfile/Repositories/item" >
     88                                                                        <option><xsl:attribute name="value"><xsl:value-of select="name"/></xsl:attribute><xsl:value-of select="name"/></option>
     89                                                                </xsl:for-each>
     90                                                                </select>                                                               
    8591                                                </div>
    8692                                                        <!--  selected collections  -->
  • MDService2/branches/MDService_simple3/src/xsl/mdset2view.xsl

    r1531 r1554  
    3232<xsl:include href="cmd_commons.xsl"/>
    3333
    34 
    35 <xsl:param name="startItem">1</xsl:param>
    36 <xsl:param name="maximumItems">50</xsl:param>
    37 
    3834<!-- <xsl:param name="format" select="'table'" /> table|list|detail -->
    3935<xsl:param name="cols" >Id,Title,Location
     
    8783<xsl:for-each select="searchRetrieveResponse" >
    8884<div>
    89         <xsl:call-template name="query-input" />
    9085        <xsl:if test="not(contains($format, 'htmlsimple'))">
    9186                <xsl:call-template name="header" />
    9287        </xsl:if>
     88        <xsl:call-template name="query-input" />
     89       
    9390        <xsl:choose>
    9491                                <xsl:when test="contains($format,'htmltable')">
     
    149146        <xsl:variable name="cnt_hits" select="number(diagnostics)" />
    150147       
    151         <span class="label" >hits: </span><span class="value hilight"><xsl:value-of select="numberOfRecords" /></span>;
    152         <span class="label" >from:</span><span><input type="text" class="value start_record paging-input"><xsl:attribute name="value">
    153     <xsl:value-of select="$startItem"/>
    154   </xsl:attribute>
    155         </input></span>
    156         <span class="label" >max:</span><span><input type="text" class="value maximum_records paging-input" ><xsl:attribute name="value">
    157     <xsl:value-of select="if(number($cnt_hits) &lt; number($maximumItems)) then $cnt_hits else $maximumItems"/>   
    158   </xsl:attribute></input></span>
    159   <span class="cmd cmd_reload" /> 
    160 <!--    <button class="reload">reload</button>-->
    161         <span class="cmd cmd_prev">     
    162         <xsl:choose>
    163                 <xsl:when test="$startItem = '1'">
    164                         <xsl:attribute name="disabled">disabled</xsl:attribute>
    165                 </xsl:when>
    166                 </xsl:choose>
    167         </span>
    168         <span class="cmd cmd_next">     
    169         <xsl:choose>
    170                 <xsl:when test="$maximumItems &gt; numberOfRecords or $maximumItems = numberOfRecords">
    171                         <xsl:attribute name="disabled">disabled</xsl:attribute>
    172                 </xsl:when>
    173                 </xsl:choose>
    174         </span>
     148        <form action="{my:formURL('search', 'htmlpage', $q)}" method="get">                                                     
     149                       
     150                <span class="label" >hits: </span><span class="value hilight"><xsl:value-of select="numberOfRecords" /></span>;
     151                <span class="label" >from:</span><span><input type="text" name="startRecord" class="value start_record paging-input"><xsl:attribute name="value">
     152                <xsl:value-of select="$startRecord"/>
     153                        </xsl:attribute>
     154                </input></span>
     155       
     156                <span class="label" >max:</span><span><input type="text" name="maximumRecords" class="value maximum_records paging-input" ><xsl:attribute name="value">
     157                <xsl:value-of select="if(number($cnt_hits) &lt; number($maximumRecords)) then $cnt_hits else $maximumRecords"/>   
     158                </xsl:attribute></input></span>
     159               
     160                <xsl:if test="$repository_name != ''">
     161                        <input type="hidden" name="repository"><xsl:attribute name="value">
     162                        <xsl:value-of select="$repository_name"/>
     163                                </xsl:attribute>
     164                        </input>
     165                </xsl:if>
     166         
     167                <input type="hidden" name="query"><xsl:attribute name="value">
     168                        <xsl:value-of select="$q"/>
     169                                </xsl:attribute>
     170                </input>
     171                       
     172                 <input type="submit" value="" class="cmd cmd_reload">
     173                </input>
     174         <!--  number($startRecord - $pageRecordCount)<a href="{my:formsearchURL($q,'1','20',$repository_name)}"><span class="cmd cmd_reload" /></a> -->
     175                <xsl:variable name="prev_startRecord">
     176                        <xsl:choose>
     177                                <xsl:when test="number($startRecord) - number($pageRecordCount) > 0"> <xsl:value-of select="format-number(number($startRecord) - number($pageRecordCount),'#')"></xsl:value-of></xsl:when>
     178                                <xsl:otherwise><xsl:value-of select="1"></xsl:value-of></xsl:otherwise>
     179                        </xsl:choose>
     180                </xsl:variable>
     181                <xsl:variable name="next_maximumRecords">
     182                        <xsl:choose>
     183                                <xsl:when test="number($maximumRecords) + number($pageRecordCount) > number(numberOfRecords)"> <xsl:value-of select="numberOfRecords"></xsl:value-of></xsl:when>
     184                                <xsl:otherwise><xsl:value-of select="format-number(number($maximumRecords) + number($pageRecordCount),'#')"></xsl:value-of></xsl:otherwise>
     185                        </xsl:choose>
     186                </xsl:variable>
     187                <xsl:variable name="prev_maximumRecords">
     188                        <xsl:choose>
     189                                <xsl:when test="number($prev_startRecord) + number($pageRecordCount) > number(numberOfRecords)"> <xsl:value-of select="numberOfRecords"></xsl:value-of></xsl:when>
     190                                <xsl:otherwise><xsl:value-of select="format-number(number($prev_startRecord) + number($pageRecordCount),'#')"></xsl:value-of></xsl:otherwise>
     191                        </xsl:choose>
     192                </xsl:variable>
     193                <xsl:variable name="next_startRecord">
     194                        <xsl:choose>
     195                                <xsl:when test="number($next_maximumRecords) - number($pageRecordCount) > 0"> <xsl:value-of select="format-number(number($next_maximumRecords) - number($pageRecordCount),'#')"></xsl:value-of></xsl:when>
     196                                <xsl:otherwise><xsl:value-of select="1"></xsl:value-of></xsl:otherwise>
     197                        </xsl:choose>
     198                </xsl:variable>
     199                <a href="{my:formsearchURL($q,$prev_startRecord,$prev_maximumRecords,$repository_name)}">
     200                        <span class="cmd cmd_prev">     
     201                        <xsl:choose>
     202                        <xsl:when test="$startRecord = '1'">
     203                                <xsl:attribute name="disabled">disabled</xsl:attribute>
     204                        </xsl:when>
     205                        </xsl:choose>
     206                        </span>
     207                </a>
     208                <a href="{my:formsearchURL($q,$next_startRecord,$next_maximumRecords,$repository_name)}">
     209                        <span class="cmd cmd_next">     
     210                        <xsl:choose>
     211                                <xsl:when test="$maximumRecords &gt; numberOfRecords or $maximumRecords = numberOfRecords">
     212                                        <xsl:attribute name="disabled">disabled</xsl:attribute>
     213                                </xsl:when>
     214                                </xsl:choose>
     215                        </span>
     216                </a>
     217        </form>
    175218        <span class="cmd cmd_detail" />
    176         <!--  <div class='ui-context-dialog ui-widget-content columns-wrapper'>  -->
    177219                <div class='ui-widget-content columns-wrapper'>
    178220                        <div class='cmds'><span class="cmd cmd_reload" /><span class="cmd cmd_save" /><span class="cmd cmd_savenew" /></div>
     
    246288                <xsl:apply-templates select="$terms" mode="matrix" />
    247289        </xsl:variable>         
    248         <!--   <xsl:message><xsl:value-of select="$resultSummary/*/name()" /> </xsl:message> -->
     290        <!--  <xsl:message><xsl:value-of select="$resultSummary/*/name()" /> </xsl:message>-->
    249291       
    250292        <tr><td colspan="2">   
     
    252294                <span class="label">structure summary of shown result</span>   
    253295                <!--  calling template in terms2view.xsl -->
    254                 <xsl:apply-templates select="$resultSummary" mode="terms-tree" />               
     296                <!--  <xsl:apply-templates select="$resultSummary" mode="terms-tree" />-->             
    255297        </div> 
    256298        </td></tr>
     
    339381<xsl:template name="record-table-row">
    340382<xsl:param name="fields" />
    341 <!-- @field absolute_position compute records position over whole recordset, ie add `startItem` (important when paging)
     383<!-- @field absolute_position compute records position over whole recordset, ie add `startRecord` (important when paging)
    342384 -->
    343         <xsl:variable name="absolute_position" select="if (number($startItem)=number($startItem)) then number($startItem) + position() - 1 else  position()" />
     385        <xsl:variable name="absolute_position" select="if (number($startRecord)=number($startRecord)) then number($startRecord) + position() - 1 else  position()" />
    344386       
    345387                <tr>
  • MDService2/branches/MDService_simple3/src/xsl/mdset_pazpar2view.xsl

    r1485 r1554  
    2222
    2323<xsl:output method="html" />
    24 
    25 <xsl:param name="startItem">1</xsl:param>
    26 <xsl:param name="maximumItems">50</xsl:param>
    2724
    2825<!-- <xsl:param name="format" select="'table'" /> table|list|detail -->
     
    160157        <span class="label" >hits: </span><span class="value hilight"><xsl:value-of select="$numberOfRecords" /></span>;
    161158        <span class="label" >from:</span><span><input type="text" class="value start_record paging-input"><xsl:attribute name="value">
    162     <xsl:value-of select="$startItem"/>
     159    <xsl:value-of select="$startRecord"/>
    163160  </xsl:attribute>
    164161        </input></span>
    165162        <span class="label" >max:</span><span><input type="text" class="value maximum_records paging-input" ><xsl:attribute name="value">
    166     <xsl:value-of select="if(number($cnt_hits) &lt; number($maximumItems)) then $cnt_hits else $maximumItems"/>   
     163    <xsl:value-of select="if(number($cnt_hits) &lt; number($maximumRecords)) then $cnt_hits else $maximumRecords"/>   
    167164        </xsl:attribute></input></span>
    168165               
     
    171168        <span class="cmd cmd_prev">     
    172169        <xsl:choose>
    173                 <xsl:when test="$startItem = '1'">
     170                <xsl:when test="$startRecord = '1'">
    174171                        <xsl:attribute name="disabled">disabled</xsl:attribute>
    175172                </xsl:when>
     
    370367<xsl:template name="record-table-row">
    371368<xsl:param name="fields" />
    372 <!-- @field absolute_position compute records position over whole recordset, ie add `startItem` (important when paging)
     369<!-- @field absolute_position compute records position over whole recordset, ie add `startRecord` (important when paging)
    373370 -->
    374         <xsl:variable name="absolute_position" select="if (number($startItem)=number($startItem)) then number($startItem) + position() - 1 else  position()" />
     371        <xsl:variable name="absolute_position" select="if (number($startRecord)=number($startRecord)) then number($startRecord) + position() - 1 else  position()" />
    375372       
    376373                <tr>
     
    413410                               
    414411                                <input type="submit" value="Submit" > </input><br/>
    415                                 <label>startItem: </label><input type="text" name="startItem" ><xsl:attribute name="value"><xsl:value-of select="$startItem"/></xsl:attribute> </input><br/>
    416                                 <label> maxItems: </label><input type="text" name="maximumItems" ><xsl:attribute name="value"><xsl:value-of select="$maximumItems"/></xsl:attribute> </input>
     412                                <label>startRecord: </label><input type="text" name="startRecord" ><xsl:attribute name="value"><xsl:value-of select="$startRecord"/></xsl:attribute> </input><br/>
     413                                <label> maxRecords: </label><input type="text" name="maximumRecords" ><xsl:attribute name="value"><xsl:value-of select="$maximumRecords"/></xsl:attribute> </input>
    417414        </form>
    418415        <table class="show">           
  • MDService2/branches/MDService_simple3/src/xsl/params.xsl

    r1503 r1554  
    2020       
    2121       
     22        <xsl:param name="workspaceprofile_uri" select="'http://localhost:8080/MDService2/workspaceprofile/xml/server'" />
     23       
    2224        <!-- <xsl:param name="model_matrix_uri" select="'http://localhost:8080/MDService2/model/matrix?maxdepth=8&amp;q='" /> -->
    2325        <xsl:param name="model_matrix_uri" select="'http://localhost:8080/MDService2/model/matrix?q='" />
     
    2931        <xsl:param name="repository_name" select="''" />
    3032        <xsl:param name="q" select="''" />
     33        <xsl:param name="startRecord">1</xsl:param>
     34        <xsl:param name="maximumRecords">10</xsl:param>
     35        <xsl:param name="pageRecordCount">10</xsl:param>
    3136       
    3237        <!--  for resolving components by suffixing with @ComponentId -->
     
    5964       
    6065       
    61         <xsl:param name="cache_cols_" >id date duration repository collection lang query squery startItem maximumItems maxDepth</xsl:param>   
     66        <xsl:param name="cache_cols_" >id date duration repository collection lang query squery startRecord maximumRecords maxDepth</xsl:param>   
    6267        <xsl:param name="cache_cols" select="tokenize($cache_cols_,'\s+')"  />
    6368       
  • MDService2/branches/MDService_simple3/src/xsl/sru2view.xsl

    r1469 r1554  
    2525
    2626<xsl:include href="cmd_commons.xsl"/>
    27 
    28 
    29 <xsl:param name="startItem">1</xsl:param>
    30 <xsl:param name="maximumItems">50</xsl:param>
    3127
    3228<!-- <xsl:param name="format" select="'table'" /> table|list|detail -->
     
    142138        <span class="label" >hits: </span><span class="value hilight"><xsl:value-of select="numberOfRecords" /></span>;
    143139        <span class="label" >from:</span><span><input type="text" class="value start_record paging-input"><xsl:attribute name="value">
    144     <xsl:value-of select="$startItem"/>
     140    <xsl:value-of select="$startRecord"/>
    145141  </xsl:attribute>
    146142        </input></span>
    147143        <span class="label" >max:</span><span><input type="text" class="value maximum_records paging-input" ><xsl:attribute name="value">
    148     <xsl:value-of select="if(number($cnt_hits) &lt; number($maximumItems)) then $cnt_hits else $maximumItems"/>   
     144    <xsl:value-of select="if(number($cnt_hits) &lt; number($maximumRecords)) then $cnt_hits else $maximumRecords"/>   
    149145  </xsl:attribute></input></span>
    150146  <span class="cmd cmd_reload" /> 
     
    152148        <span class="cmd cmd_prev">     
    153149        <xsl:choose>
    154                 <xsl:when test="$startItem = '1'">
     150                <xsl:when test="$startRecord = '1'">
    155151                        <xsl:attribute name="disabled">disabled</xsl:attribute>
    156152                </xsl:when>
     
    159155        <span class="cmd cmd_next">     
    160156        <xsl:choose>
    161                 <xsl:when test="$maximumItems &gt; numberOfRecords or $maximumItems = numberOfRecords">
     157                <xsl:when test="$maximumRecords &gt; numberOfRecords or $maximumRecords = numberOfRecords">
    162158                        <xsl:attribute name="disabled">disabled</xsl:attribute>
    163159                </xsl:when>
     
    347343<xsl:template name="record-table-row">
    348344<xsl:param name="fields" />
    349 <!-- @field absolute_position compute records position over whole recordset, ie add `startItem` (important when paging)
     345<!-- @field absolute_position compute records position over whole recordset, ie add `startRecord` (important when paging)
    350346 -->
    351         <xsl:variable name="absolute_position" select="if (number($startItem)=number($startItem)) then number($startItem) + position() - 1 else  position()" />
     347        <xsl:variable name="absolute_position" select="if (number($startRecord)=number($startRecord)) then number($startRecord) + position() - 1 else  position()" />
    352348       
    353349                <tr>
     
    390386                               
    391387                                <input type="submit" value="Submit" > </input><br/>
    392                                 <label>startItem: </label><input type="text" name="startItem" ><xsl:attribute name="value"><xsl:value-of select="$startItem"/></xsl:attribute> </input><br/>
    393                                 <label> maxItems: </label><input type="text" name="maximumItems" ><xsl:attribute name="value"><xsl:value-of select="$maximumItems"/></xsl:attribute> </input>
     388                                <label>startRecord: </label><input type="text" name="startRecord" ><xsl:attribute name="value"><xsl:value-of select="$startRecord"/></xsl:attribute> </input><br/>
     389                                <label> maxItems: </label><input type="text" name="maximumRecords" ><xsl:attribute name="value"><xsl:value-of select="$maximumRecords"/></xsl:attribute> </input>
    394390        </form>
    395391        <table class="show">           
Note: See TracChangeset for help on using the changeset viewer.