Changeset 4608 for TI01-discovery


Ignore:
Timestamp:
12/12/08 10:24:52 (11 years ago)
Author:
sdonegan
Message:

Added extra code that matches the document list in the presentAgent object with the actual xml results returned from the sql command, - a fix in response to the problem where dicovery urls do not match the xml content in the response.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI01-discovery/branches/ws-Discovery2-upgrade/src/ndg/services/discovery/DiscoveryServiceSkeleton.java

    r4186 r4608  
    1414 
    1515/** 
    16   * Implementation class for NERC DataGrid Discovery Web Service. 
    17   * Based on DiscoveryServiceSkeleton.java which is generated by WSDL2Java 
    18   * @author Matt Pritchard 
    19 */ 
    20 public class DiscoveryServiceSkeleton 
    21 { 
     16 * Implementation class for NERC DataGrid Discovery Web Service. Based on DiscoveryServiceSkeleton.java which is generated by WSDL2Java 
     17 *  
     18 * @author Matt Pritchard 
     19 */ 
     20public class DiscoveryServiceSkeleton { 
    2221        // Obtain a suitable logger. 
    23     private static Logger logger = Logger.getLogger(DiscoveryServiceSkeleton.class.getName()); 
    24      
    25     public static final String[] LIST_NAMES = {"presentFormatList", "orderByFieldList", "scopeList", 
    26         "termTypeList", "spatialOperatorList"}; 
     22        private static Logger logger = Logger.getLogger(DiscoveryServiceSkeleton.class.getName()); 
     23 
     24        public static final String[] LIST_NAMES = { "presentFormatList", "orderByFieldList", "scopeList", "termTypeList", "spatialOperatorList" }; 
    2725 
    2826        // Constants representing the possible, valid values for the various input list types 
    2927        public static final String FULL_TEXT_TERM_TYPE = "fullText"; 
     28 
    3029        public static final String AUTHOR_TERM_TYPE = "author"; 
     30 
    3131        public static final String PARAMETER_TERM_TYPE = "parameter"; 
     32 
    3233        public static final String OVERLAPS_OPERATOR_TYPE = "overlaps"; 
     34 
    3335        public static final String WITHIN_OPERATOR_TYPE = "within"; 
     36 
    3437        public static final String NO_OVERLAP_OPERATOR_TYPE = "doesNotOverlap"; 
    35          
     38 
    3639        public static final String DELIMITER = "-------------------------------------"; 
    3740 
    3841        public static final String ORIGINAL_FORMAT = "original"; 
     42 
    3943        public static final String DC_FORMAT = "DC"; 
     44 
    4045        public static final String DIF_FORMAT = "DIF"; 
     46 
    4147        public static final String MDIP_FORMAT = "MDIP"; 
     48 
    4249        public static final String ISO19139_FORMAT = "ISO19139"; 
     50 
    4351        public static final String ISO19115_FORMAT = "ISO19115"; 
    44          
     52 
    4553        // to_tsvector ignores the '_' character; as a work around replace this with the following string 
    4654        // - primarily for use in the scope field 
    4755        public static final String UNDERSCORE_REPLACEMENT = "UNDERSCORE"; 
    4856 
    49         public static final String INVALID_LIST_NAME_MESSAGE =  
    50                 "Invalid list name: please use getListNames to get the valid list names"; 
     57        public static final String INVALID_LIST_NAME_MESSAGE = "Invalid list name: please use getListNames to get the valid list names"; 
    5158 
    5259        public static final String DATE_ORDER = "date"; 
    5360 
    5461        public static final String DATACENTRE_ORDER = "dataCentre"; 
    55          
     62 
    5663        /** 
    5764         * Helper method for checking validity of a format 
     65         *  
    5866         * @param format 
    5967         * @return true if format if valid, false otherwise 
    6068         */ 
    61         public static boolean isValidFormat(String format) 
    62         { 
    63                 String[] allFormats = {ORIGINAL_FORMAT, DC_FORMAT, DIF_FORMAT,  
    64                                 MDIP_FORMAT, ISO19139_FORMAT, ISO19115_FORMAT}; 
    65                 for (int i = 0; i < allFormats.length; i++) 
    66                 { 
     69        public static boolean isValidFormat(String format) { 
     70                String[] allFormats = { ORIGINAL_FORMAT, DC_FORMAT, DIF_FORMAT, MDIP_FORMAT, ISO19139_FORMAT, ISO19115_FORMAT }; 
     71                for (int i = 0; i < allFormats.length; i++) { 
    6772                        if (allFormats[i].equals(format)) 
    6873                                return true; 
     
    7075                return false; 
    7176        } 
    72         /** 
    73          * Performs the doFullTextSearch operation  
    74          * @param discoveryserviceapi.DoSearchDocument containing search request 
     77 
     78        /** 
     79         * Performs the doFullTextSearch operation 
     80         *  
     81         * @param discoveryserviceapi.DoSearchDocument 
     82         *            containing search request 
    7583         * @return discoveryserviceapi.DoSearchReturnDocument containing search result 
    7684         */ 
    77         public  discoveryserviceapi.DoSearchReturnDocument doSearch 
    78                           (discoveryserviceapi.DoSearchDocument request ) 
    79           
    80         {  
     85        public discoveryserviceapi.DoSearchReturnDocument doSearch(discoveryserviceapi.DoSearchDocument request) 
     86 
     87        { 
    8188                logger.info(DELIMITER); 
    8289                logger.info("doSearch() invoked"); 
    8390                logger.info(DELIMITER); 
    84                 discoveryserviceapi.DoSearchReturnDocument response =  
    85                         discoveryserviceapi.DoSearchReturnDocument.Factory.newInstance(); 
     91                discoveryserviceapi.DoSearchReturnDocument response = discoveryserviceapi.DoSearchReturnDocument.Factory.newInstance(); 
    8692                discoveryserviceapi.SearchReturnType responseContent = response.addNewDoSearchReturn(); 
    8793 
    88  
    8994                SearchSummary myResult = null; 
    90                  
     95 
    9196                // Execute the search 
    92                 try 
    93                 { 
     97                try { 
    9498                        // firstly, parse the request message and set up the search agent 
    9599                        logger.info("Preparing search agent for search"); 
     
    99103                        myResult = agent.doSearch(); 
    100104                        logger.info("Search completed"); 
    101                 } 
    102                 catch (Exception e) 
    103                 { 
    104                         String errorMessage = "Unable to retrieve result - reason : " + e.getMessage();  
     105                } catch (Exception e) { 
     106                        String errorMessage = "Unable to retrieve result - reason : " + e.getMessage(); 
    105107                        logger.severe(errorMessage); 
    106                         responseContent.setStatus( false ); 
     108                        responseContent.setStatus(false); 
    107109                        responseContent.setStatusMessage(errorMessage); 
    108110                        return response; 
    109111                } 
    110112 
    111                 if (myResult != null) 
    112                 { 
     113                if (myResult != null) { 
    113114                        logger.info("Checking results..."); 
    114                         responseContent.setStatus( myResult.getStatus() ); 
    115                         responseContent.setStatusMessage( myResult.getStatusMessage() ); 
    116                         responseContent.setResultId( myResult.getResultId()     ); 
    117                         if ( myResult.getStatus() ) // successful search 
     115                        responseContent.setStatus(myResult.getStatus()); 
     116                        responseContent.setStatusMessage(myResult.getStatusMessage()); 
     117                        responseContent.setResultId(myResult.getResultId()); 
     118                        if (myResult.getStatus()) // successful search 
    118119                        { 
    119120                                logger.info("Search successfully returned results"); 
    120                                 responseContent.setHits( myResult.getHits() ); 
     121                                responseContent.setHits(myResult.getHits()); 
    121122 
    122123                                Vector summaryDocuments = myResult.getDocuments(); 
    123                                  
    124                                 if (summaryDocuments != null ) 
    125                                 { 
     124 
     125                                if (summaryDocuments != null) { 
    126126                                        logger.info("Search returned some matching documents"); 
    127127                                        discoveryserviceapi.DocumentsType responseDocuments = responseContent.addNewDocuments(); 
    128                                         for (Iterator i = summaryDocuments.iterator(); i.hasNext(); ) 
    129                                         { 
    130                                                 Hashtable document = (Hashtable)i.next(); 
    131                                                 responseDocuments.addDocument( (String)document.get("name") ); 
     128                                        for (Iterator i = summaryDocuments.iterator(); i.hasNext();) { 
     129                                                Hashtable document = (Hashtable) i.next(); 
     130                                                responseDocuments.addDocument((String) document.get("name")); 
    132131                                        } 
    133132 
    134133                                        logger.info("Adding found documents to response"); 
    135                                         responseContent.setDocuments( responseDocuments ); 
    136                                 } 
    137                                 else 
    138                                 { 
     134                                        responseContent.setDocuments(responseDocuments); 
     135                                } else { 
    139136                                        logger.info("null data set returned from search - this may indicate a problem"); 
    140137                                } 
    141                         } 
    142                         else //unsuccessful search 
     138                        } else // unsuccessful search 
    143139                        { 
    144140                                logger.warning("Search status was unsuccessful - this may indicate a problem"); 
    145                                 responseContent.setHits( 0 ); 
    146                         } 
    147                 } 
    148                 else 
    149                 { 
     141                                responseContent.setHits(0); 
     142                        } 
     143                } else { 
    150144                        logger.warning("null data set returned from search - this may indicate a problem"); 
    151145                } 
    152                  
     146 
    153147                logger.info("doSearch() completed successfully"); 
    154148 
     
    156150        } 
    157151 
    158  
    159         /** 
    160          * Prepare the search agent with all the passed in parameters from the WS request, ready to run 
    161          * a search 
    162          *  
    163          * @param request - DoSearchDocument object passed from webservice call 
     152        /** 
     153         * Prepare the search agent with all the passed in parameters from the WS request, ready to run a search 
     154         *  
     155         * @param request - 
     156         *            DoSearchDocument object passed from webservice call 
    164157         * @return SearchAgent object with all required initialisation done for running a search query 
    165          * @throws DiscoveryWSException if problems encountered whilst doing the set up 
    166          */ 
    167         private SearchAgent setupSearchAgent(DoSearchDocument request) throws DiscoveryWSException  
    168         { 
     158         * @throws DiscoveryWSException 
     159         *             if problems encountered whilst doing the set up 
     160         */ 
     161        private SearchAgent setupSearchAgent(DoSearchDocument request) throws DiscoveryWSException { 
    169162                logger.info("Setting up search agent"); 
    170163                discoveryserviceapi.SearchType requestContent = request.getDoSearch(); 
    171164                SearchAgent agent = new SearchAgent(); 
    172                  
     165 
    173166                // check if we're doing a term type search - if so, check there is a term to search on 
    174                 if (Utilities.isStringDefined(requestContent.getTerm())) 
    175                 { 
     167                if (Utilities.isStringDefined(requestContent.getTerm())) { 
    176168                        logger.info("Term set to search on: " + requestContent.getTerm()); 
    177169                        agent.setTerm(requestContent.getTerm()); 
    178170                } 
    179                  
     171 
    180172                // check if we're doing a term type search - if so, check there is a term to search on 
    181                 if (Utilities.isStringDefined(requestContent.getTermType())) 
    182                 { 
    183                         logger.info("Term type set: " + requestContent.getTermType());  
     173                if (Utilities.isStringDefined(requestContent.getTermType())) { 
     174                        logger.info("Term type set: " + requestContent.getTermType()); 
    184175                        logger.info("- checking for term value"); 
    185176 
    186                         if (Utilities.isStringDefined(requestContent.getTerm())) 
    187                         { 
     177                        if (Utilities.isStringDefined(requestContent.getTerm())) { 
    188178                                logger.info("Term set - will do term search"); 
    189179                                agent.setTermType(requestContent.getTermType()); 
    190                         } 
    191                         else 
    192                         { 
     180                        } else { 
    193181                                logger.info("No term set - ignoring term type search specification"); 
    194182                        } 
    195183                } 
    196                  
    197                 if ( requestContent.isSetStart() ) 
    198                 { 
     184 
     185                if (requestContent.isSetStart()) { 
    199186                        logger.info("Start position of results set set to: " + requestContent.getStart()); 
    200                         agent.setStart( requestContent.getStart() ); 
    201                 } 
    202                          
    203                 if ( requestContent.isSetHowMany() ) 
    204                 { 
     187                        agent.setStart(requestContent.getStart()); 
     188                } 
     189 
     190                if (requestContent.isSetHowMany()) { 
    205191                        logger.info("Result set size set to: " + requestContent.getHowMany()); 
    206                         agent.setHowMany( requestContent.getHowMany() ); 
    207                 } 
    208  
    209                 if ( requestContent.isSetOrderBy() ) 
    210                 { 
     192                        agent.setHowMany(requestContent.getHowMany()); 
     193                } 
     194 
     195                if (requestContent.isSetOrderBy()) { 
    211196                        logger.info("Results ordered by: " + requestContent.getOrderBy()); 
    212                         agent.setOrderByField( requestContent.getOrderBy().toString() ); 
    213                         if ( requestContent.isSetOrderByDirection() ) 
    214                         { 
     197                        agent.setOrderByField(requestContent.getOrderBy().toString()); 
     198                        if (requestContent.isSetOrderByDirection()) { 
    215199                                logger.info("Results ordering direction: " + requestContent.getOrderByDirection().toString()); 
    216                                 agent.setOrderByDirection( requestContent.getOrderByDirection().toString() ); 
    217                         } 
    218                 } 
    219  
    220                 if ( requestContent.sizeOfScopeArray() > 0) 
    221                 { 
    222                         for (int i=0; i<requestContent.sizeOfScopeArray(); i++) 
    223                         { 
     200                                agent.setOrderByDirection(requestContent.getOrderByDirection().toString()); 
     201                        } 
     202                } 
     203 
     204                if (requestContent.sizeOfScopeArray() > 0) { 
     205                        for (int i = 0; i < requestContent.sizeOfScopeArray(); i++) { 
    224206                                logger.info("Adding search scope: " + requestContent.getScopeArray(i)); 
    225                                 agent.addNewScope( requestContent.getScopeArray(i).toString() ); 
    226                         } 
    227                 } 
    228  
    229                 if ( requestContent.isSetBoundingBox() ) 
    230                 { 
     207                                agent.addNewScope(requestContent.getScopeArray(i).toString()); 
     208                        } 
     209                } 
     210 
     211                if (requestContent.isSetBoundingBox()) { 
    231212                        logger.info("Adding bounding box data"); 
    232                         agent.setLimitWest( requestContent.getBoundingBox().getLimitWest() ); 
    233                         agent.setLimitSouth( requestContent.getBoundingBox().getLimitSouth() ); 
    234                         agent.setLimitEast( requestContent.getBoundingBox().getLimitEast() ); 
    235                         agent.setLimitNorth( requestContent.getBoundingBox().getLimitNorth() ); 
    236                         if ( requestContent.isSetSpatialOperator() ) 
    237                         { 
     213                        agent.setLimitWest(requestContent.getBoundingBox().getLimitWest()); 
     214                        agent.setLimitSouth(requestContent.getBoundingBox().getLimitSouth()); 
     215                        agent.setLimitEast(requestContent.getBoundingBox().getLimitEast()); 
     216                        agent.setLimitNorth(requestContent.getBoundingBox().getLimitNorth()); 
     217                        if (requestContent.isSetSpatialOperator()) { 
    238218                                logger.info("Adding spatial operator: " + requestContent.getSpatialOperator()); 
    239                                 agent.setSpatialOperator( requestContent.getSpatialOperator() ); 
     219                                agent.setSpatialOperator(requestContent.getSpatialOperator()); 
    240220                        } 
    241221                } 
     
    246226                // is set 
    247227                // - NB, would be better to tighten up WSDL definition so that you can/cannot set things up wrongly 
    248                 if (requestContent.isSetDateRange()) 
    249                 { 
     228                if (requestContent.isSetDateRange()) { 
    250229                        logger.info("Adding temporal range"); 
    251230                        // NB, need to check that both end and start dates are set; if these are accessed via the daterange object 
    252231                        // and are nulls, an exception is thrown 
    253                         try 
    254                         { 
    255                                 agent.setDateRangeStart( requestContent.getDateRange().getDateRangeStart() ); 
    256                                 agent.setDateRangeEnd( requestContent.getDateRange().getDateRangeEnd() ); 
    257                         } 
    258                         catch (Exception e)  
    259                         { 
    260                                 String errorMessage = "Invalid time range specified - detail: " + e.getMessage();  
     232                        try { 
     233                                agent.setDateRangeStart(requestContent.getDateRange().getDateRangeStart()); 
     234                                agent.setDateRangeEnd(requestContent.getDateRange().getDateRangeEnd()); 
     235                        } catch (Exception e) { 
     236                                String errorMessage = "Invalid time range specified - detail: " + e.getMessage(); 
    261237                                logger.warning(errorMessage); 
    262238                                throw new DiscoveryWSException(errorMessage); 
    263239                        } 
    264240                } 
    265                  
     241 
    266242                logger.info("Search agent ready for searching"); 
    267243                return agent; 
    268244        } 
    269245 
    270  
    271246        /** 
    272247         * Performs the doPresent operation 
    273          * @param discoveryserviceapi.DoPresentDocument containing search request 
     248         *  
     249         * @param discoveryserviceapi.DoPresentDocument 
     250         *            containing search request 
    274251         * @return discoveryserviceapi.DoPresentReturnDocument containing search result 
    275          * @throws DiscoveryWSException  
    276          */ 
    277          public  discoveryserviceapi.DoPresentReturnDocument doPresent 
    278                  (discoveryserviceapi.DoPresentDocument request ) throws DiscoveryWSException 
    279         { 
     252         * @throws DiscoveryWSException 
     253         */ 
     254        public discoveryserviceapi.DoPresentReturnDocument doPresent(discoveryserviceapi.DoPresentDocument request) throws DiscoveryWSException { 
    280255                logger.info(DELIMITER); 
    281256                logger.info("doPresent() invoked"); 
    282257                logger.info(DELIMITER); 
    283                  
    284                 discoveryserviceapi.DoPresentReturnDocument response =  
    285                         discoveryserviceapi.DoPresentReturnDocument.Factory.newInstance(); 
     258 
     259                discoveryserviceapi.DoPresentReturnDocument response = discoveryserviceapi.DoPresentReturnDocument.Factory.newInstance(); 
    286260                discoveryserviceapi.PresentReturnType responseContent = response.addNewDoPresentReturn(); 
    287261 
     
    289263                discoveryserviceapi.PresentType requestContent = request.getDoPresent(); 
    290264                PresentAgent agent = new PresentAgent(); 
    291                  
     265 
    292266                // Get the format 
    293                 if ( requestContent.isSetFormat() ) 
    294                 { 
    295                         agent.setFormat( requestContent.getFormat().toString() ); 
    296                 } 
     267                if (requestContent.isSetFormat()) { 
     268                        agent.setFormat(requestContent.getFormat().toString()); 
     269                } 
     270 
     271                String requestedFormat = requestContent.getFormat().toString(); 
    297272 
    298273                // Get the names of documents to fetch & pass to PresentAgent 
    299274                discoveryserviceapi.DocumentsType documents = requestContent.getDocuments(); 
    300275                String[] documentsString = documents.getDocumentArray(); 
     276 
    301277                logger.info("Building list of " + documentsString.length + " documents for present"); 
     278 
    302279                Vector<String> documentsVector = new Vector<String>(); 
    303                 for (int i=0; i<documentsString.length; i++ ) 
    304                 { 
     280                for (int i = 0; i < documentsString.length; i++) { 
    305281                        documentsVector.add(documentsString[i]); 
    306282                } 
    307                 agent.setDocumentNames( documentsVector ); 
    308  
    309                 try 
    310                 { 
     283 
     284                agent.setDocumentNames(documentsVector); 
     285 
     286                try { 
    311287                        logger.info("Running doPresent() to retrieve documents"); 
     288                         
    312289                        PresentSummary summary = agent.doPresent(); 
    313                         responseContent.setStatus( summary.getStatus() ); 
    314                         responseContent.setStatusMessage( summary.getStatusMessage() ); 
     290                        responseContent.setStatus(summary.getStatus()); 
     291                        responseContent.setStatusMessage(summary.getStatusMessage()); 
     292 
    315293                        // NB, if no results are returned, the status is false 
    316                         if (summary.getStatus()) 
    317                         { 
     294                        if (summary.getStatus()) { 
    318295                                logger.info("doPresent completed successfully - preparing results for return"); 
     296 
    319297                                Vector resultDocuments = summary.getDocuments(); 
    320                                 Iterator it = resultDocuments.iterator(); 
     298 
     299                                // Problem: list of xml docs returned does NOT match that in the documentsVector, therefore must make sure it matches 
     300                                Vector<String> rearrangedDocsVector = new Vector<String>(); 
     301 
     302                                for (int i = 0; i < documentsString.length; i++) { 
     303                                        String thisDocNameID = documentsString[i]; 
     304 
     305                                        // search for it in the xml doc returned -loop through all docs 
     306                                        Iterator thisBit = resultDocuments.iterator(); 
     307                                        Boolean idOccurs; 
     308 
     309                                        while (thisBit.hasNext()) { 
     310                                                String xmlDocAsString = (String) thisBit.next(); 
     311 
     312                                                idOccurs = xmlDocAsString.contains(Utilities.resultSetCheckString(requestedFormat, thisDocNameID)); 
     313                                                                                         
     314                                                //if search term found in xml doc, add it to the vector.  If not, remove that doc from the list in the first place 
     315                                                if (idOccurs) { 
     316                                                        // logger.info("Match found for: " + dataentSearchTerm); 
     317                                                        rearrangedDocsVector.add(xmlDocAsString); 
     318                                                }  
     319 
     320                                        } 
     321                                } 
     322                                Integer resDocsSize = resultDocuments.size(); 
     323                                Integer rearrDocsSize = rearrangedDocsVector.size(); 
     324 
     325                                logger.info("Number in rearrangedDocsVector: " + rearrDocsSize.toString()); 
     326                                logger.info("Number in resultDocuments: " + resDocsSize.toString()); 
     327 
     328                                // swap the comment-outs below to revert to pre-update for easy testing! 
     329                                // Iterator it = resultDocuments.iterator(); 
     330                                Iterator it = rearrangedDocsVector.iterator(); 
     331                                 
    321332                                discoveryserviceapi.DocumentsType returnDocuments = responseContent.addNewDocuments(); 
    322                                 while ( it.hasNext() ) 
    323                                 { 
    324                                         returnDocuments.addDocument( (String)it.next() ); 
     333 
     334                                while (it.hasNext()) { 
     335                                        returnDocuments.addDocument((String) it.next()); 
    325336                                } 
    326337                        } 
    327                 } 
    328                 catch (Exception e) 
    329                 { 
    330                         responseContent.setStatusMessage("Error creating doPresentReturnDocument : " + e.toString() ); 
    331                 } 
     338                } catch (Exception e) { 
     339                        responseContent.setStatusMessage("Error creating doPresentReturnDocument : " + e.toString()); 
     340                } 
     341                 
    332342                logger.info("doPresent() completed - returning response"); 
    333343 
     
    335345        } 
    336346 
    337     /** 
    338          * Performs the getListNames operation 
    339          * - returns list of valid strings to use as input to the getList service 
    340          * @param discoveryserviceapi.GetListNamesDocument containing request 
     347        /** 
     348         * Performs the getListNames operation - returns list of valid strings to use as input to the getList service 
     349         *  
     350         * @param discoveryserviceapi.GetListNamesDocument 
     351         *            containing request 
    341352         * @return discoveryserviceapi.GetListNamesReturnDocument containing result 
    342353         */ 
    343          public  discoveryserviceapi.GetListNamesReturnDocument getListNames 
    344                  (discoveryserviceapi.GetListNamesDocument request ) 
    345         { 
    346                  logger.info("getListNames() invoked"); 
     354        public discoveryserviceapi.GetListNamesReturnDocument getListNames(discoveryserviceapi.GetListNamesDocument request) { 
     355                logger.info("getListNames() invoked"); 
    347356                discoveryserviceapi.GetListNamesReturnDocument response = discoveryserviceapi.GetListNamesReturnDocument.Factory.newInstance(); 
    348357                discoveryserviceapi.GetListNamesReturnType responseContent = response.addNewGetListNamesReturn(); 
    349                 discoveryserviceapi.GetListNamesReturnType.ListNames listNames =  responseContent.addNewListNames(); 
     358                discoveryserviceapi.GetListNamesReturnType.ListNames listNames = responseContent.addNewListNames(); 
    350359 
    351360                for (int i = 0; i < LIST_NAMES.length; i++) 
     
    356365        } 
    357366 
    358     /** 
     367        /** 
    359368         * Performs the getList operation 
    360          * @param discoveryserviceapi.GetListDocument containing request 
     369         *  
     370         * @param discoveryserviceapi.GetListDocument 
     371         *            containing request 
    361372         * @return discoveryserviceapi.GetListReturnDocument containing result 
    362      * @throws DiscoveryWSException  
    363          */ 
    364          public  discoveryserviceapi.GetListReturnDocument getList 
    365                  (discoveryserviceapi.GetListDocument request ) throws DiscoveryWSException 
    366         { 
    367                  logger.info("getList() invoked"); 
     373         * @throws DiscoveryWSException 
     374         */ 
     375        public discoveryserviceapi.GetListReturnDocument getList(discoveryserviceapi.GetListDocument request) throws DiscoveryWSException { 
     376                logger.info("getList() invoked"); 
    368377                discoveryserviceapi.GetListReturnDocument response = discoveryserviceapi.GetListReturnDocument.Factory.newInstance(); 
    369378                discoveryserviceapi.GetListReturnType responseContent = response.addNewGetListReturn(); 
    370                 discoveryserviceapi.GetListReturnType.List list =  responseContent.addNewList(); 
     379                discoveryserviceapi.GetListReturnType.List list = responseContent.addNewList(); 
    371380 
    372381                // parse the request message 
    373382                discoveryserviceapi.GetListType requestContent = request.getGetList(); 
    374383                String listName = requestContent.getListName(); 
    375                 list.setName( listName ); 
    376  
    377                 if ( listName.equals("presentFormatList") ) 
    378                 { 
     384                list.setName(listName); 
     385 
     386                if (listName.equals("presentFormatList")) { 
    379387                        list.addListMember(ORIGINAL_FORMAT); 
    380388                        list.addListMember(DC_FORMAT); 
     
    382390                        list.addListMember(MDIP_FORMAT); 
    383391                        list.addListMember(ISO19139_FORMAT); 
    384                         //list.addListMember("moles"); 
    385                 } 
    386                 else if ( requestContent.getListName().equals("orderByFieldList") ) 
    387                 { 
     392                        // list.addListMember("moles"); 
     393                } else if (requestContent.getListName().equals("orderByFieldList")) { 
    388394                        list.addListMember(DATE_ORDER); 
    389395                        list.addListMember(DATACENTRE_ORDER); 
    390                 } 
    391                 else if ( requestContent.getListName().equals("scopeList") ) 
    392                 { 
     396                } else if (requestContent.getListName().equals("scopeList")) { 
    393397                        list.addListMember("NERC"); 
    394398                        list.addListMember("NERC_DDC"); 
    395399                        list.addListMember("MDIP"); 
    396400                        list.addListMember("DPPP"); 
    397                 } 
    398                 else if ( requestContent.getListName().equals("termTypeList") ) 
    399                 { 
     401                } else if (requestContent.getListName().equals("termTypeList")) { 
    400402                        list.addListMember(FULL_TEXT_TERM_TYPE); 
    401403                        list.addListMember(AUTHOR_TERM_TYPE); 
    402404                        list.addListMember(PARAMETER_TERM_TYPE); 
    403                 } 
    404                 else if ( requestContent.getListName().equals("spatialOperatorList") ) 
    405                 { 
     405                } else if (requestContent.getListName().equals("spatialOperatorList")) { 
    406406                        list.addListMember(OVERLAPS_OPERATOR_TYPE); 
    407407                        list.addListMember(NO_OVERLAP_OPERATOR_TYPE); 
    408408                        list.addListMember(WITHIN_OPERATOR_TYPE); 
    409                 } 
    410                 else  
    411                 { 
     409                } else { 
    412410                        logger.warning(INVALID_LIST_NAME_MESSAGE); 
    413411                        throw new DiscoveryWSException(INVALID_LIST_NAME_MESSAGE); 
    414412                } 
    415                  
     413 
    416414                logger.info("getList() completed successfully"); 
    417415                return response; 
    418416        } 
    419      
     417 
    420418} 
Note: See TracChangeset for help on using the changeset viewer.