Changeset 25424

Show
Ignore:
Timestamp:
19.04.2012 15:19:59 (8 years ago)
Author:
sjm84
Message:

Added searching RESTful urls

Files:
1 modified

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                    {