Changeset 25424 for main/trunk


Ignore:
Timestamp:
2012-04-19T15:19:59+12:00 (12 years ago)
Author:
sjm84
Message:

Added searching RESTful urls

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/core/URLFilter.java

    r25350 r25424  
    222222                        for (int j = 1; (i + j) < segments.length; j++)
    223223                        {
    224                             if (!segments[i + j].matches("^\\d+$"))
     224                            if (!segments[i + j].matches("^(CL|cl)?\\d+$"))
    225225                            {
    226226                                break;
     
    232232                            }
    233233
    234                             cl += segments[i + j];
     234                            cl += segments[i + j].replace("CL", "").replace("cl", "");
    235235                        }
    236236
     
    241241                    }
    242242                    //QUERY
    243                     else if (segments[i].equals("query"))
    244                     {
    245                         additionalParameters = new String[] { GSParams.ACTION, GSParams.SUBACTION, GSParams.REQUEST_TYPE };
    246                         defaultParamValues = new String[] { "q", "", "rd" };
    247                     }
    248                     //SERVICE
    249                     else if (segments[i].equals("service") && (i + 1) < segments.length)
    250                     {
    251                         String serviceName = segments[i + 1];
    252                         gRequest.setParameter(GSParams.SERVICE, serviceName);
    253 
    254                         if (serviceName.equals("TextQuery") || serviceName.equals("RawQuery"))
    255                         {
    256                             additionalParameters = new String[] { "s1.maxDocs", "s1.hitsPerPage", "s1.level", "s1.sortBy", "s1.index", "s1.startPage" };
    257                             defaultParamValues = new String[] { "100", "20", "Sec", "rank", "ZZ", "1" };
    258 
    259                             if ((i + 2) < segments.length)
    260                             {
     243                    else if (segments[i].equals("search"))
     244                    {
     245                        String serviceName = "";
     246                        if ((i + 1) < segments.length)
     247                        {
     248                            serviceName = segments[i + 1];
     249                            gRequest.setParameter("s", serviceName);
     250                           
     251                            additionalParameters = new String[] { GSParams.ACTION, GSParams.SUBACTION, GSParams.REQUEST_TYPE };
     252                            defaultParamValues = new String[] { "q", "", "d" };
     253                        }
     254                        if((i + 2) < segments.length)
     255                        {
     256                            System.err.println("HUH??");
     257                            if (serviceName.equals("TextQuery") || serviceName.equals("RawQuery"))
     258                            {
     259                                additionalParameters = new String[] { GSParams.ACTION, GSParams.SUBACTION, GSParams.REQUEST_TYPE, "s1.maxDocs", "s1.hitsPerPage", "s1.level", "s1.sortBy", "s1.index", "s1.startPage" };
     260                                defaultParamValues = new String[] { "q", "", "rd", "100", "20", "Sec", "rank", "ZZ", "1" };
     261
    261262                                gRequest.setParameter("s1.query", segments[i + 2]);
    262263                            }
    263                         }
    264                         else if (serviceName.equals("FieldQuery"))
    265                         {
    266                             additionalParameters = new String[] { "s1.maxDocs", "s1.hitsPerPage", "s1.level", "s1.sortBy", "s1.fqf", "s1.startPage" };
    267                             defaultParamValues = new String[] { "100", "20", "Sec", "rank", "ZZ", "1" };
    268 
    269                             if ((i + 2) < segments.length)
    270                             {
     264                            else if (serviceName.equals("FieldQuery"))
     265                            {
     266                                additionalParameters = new String[] { GSParams.ACTION, GSParams.SUBACTION, GSParams.REQUEST_TYPE, "s1.maxDocs", "s1.hitsPerPage", "s1.level", "s1.sortBy", "s1.fqf", "s1.startPage" };
     267                                defaultParamValues = new String[] { "q", "", "rd", "100", "20", "Sec", "rank", "ZZ", "1" };
     268
    271269                                gRequest.setParameter("s1.fqv", segments[i + 2]);
    272270                            }
    273                         }
    274                         else if (serviceName.equals("AdvancedFieldQuery"))
    275                         {
    276                             additionalParameters = new String[] { "s1.maxDocs", "s1.hitsPerPage", "s1.level", "s1.sortBy", "s1.fqf", "s1.fqk", "s1.startPage" };
    277                             defaultParamValues = new String[] { "100", "20", "Sec", "rank", "ZZ", "0", "1" };
    278 
    279                             if ((i + 2) < segments.length)
    280                             {
     271                            else if (serviceName.equals("AdvancedFieldQuery"))
     272                            {
     273                                additionalParameters = new String[] { GSParams.ACTION, GSParams.SUBACTION, GSParams.REQUEST_TYPE, "s1.maxDocs", "s1.hitsPerPage", "s1.level", "s1.sortBy", "s1.fqf", "s1.fqk", "s1.startPage" };
     274                                defaultParamValues = new String[] { "q", "", "rd", "100", "20", "Sec", "rank", "ZZ", "0", "1" };
     275
    281276                                gRequest.setParameter("s1.fqv", segments[i + 2]);
    282277                            }
    283278                        }
    284279                    }
    285 
    286280                    if (additionalParameters != null)
    287281                    {
Note: See TracChangeset for help on using the changeset viewer.