Changeset 3950 for TI01-discovery
- Timestamp:
- 27/05/08 15:38:03 (13 years ago)
- Location:
- TI01-discovery/branches/ws-Discovery2-upgrade/src/ndg/services/discovery
- Files:
-
- 6 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TI01-discovery/branches/ws-Discovery2-upgrade/src/ndg/services/discovery/DiscoveryServiceSkeleton.java
r3148 r3950 7 7 import java.util.Hashtable; 8 8 import java.util.Vector; 9 import java.util.logging.Logger; 9 10 10 11 /** … … 15 16 public class DiscoveryServiceSkeleton{ 16 17 18 // Obtain a suitable logger. 19 private static Logger logger = Logger.getLogger(DiscoveryServiceSkeleton.class.getName()); 20 21 private static final String[] LIST_NAMES = {"presentFormatList", "orderByFieldList", "scopeList", 22 "termTypeList", "spatialOperatorList"}; 17 23 /** 18 * Performs the doFullTextSearch operation 24 * Performs the doFullTextSearch operation 19 25 * @param discoveryserviceapi.DoSearchDocument containing search request 20 26 * @return discoveryserviceapi.DoSearchReturnDocument containing search result … … 24 30 25 31 { 32 logger.info("doSearch() invoked"); 26 33 discoveryserviceapi.DoSearchReturnDocument response = discoveryserviceapi.DoSearchReturnDocument.Factory.newInstance(); 27 34 discoveryserviceapi.SearchReturnType responseContent = response.addNewDoSearchReturn(); … … 45 52 else 46 53 { 47 throw new UnsupportedOperationException("Invalid termType: please use getListNames to get the valid list term types"); 48 } 49 50 if ( agent != null ) 51 { 52 if ( requestContent.getTerm().length() > 0 ) 53 { 54 agent.setDoTerm( true ); 55 } 56 57 if ( requestContent.isSetStart() ) 58 { 59 agent.setStart( requestContent.getStart() ); 60 } 54 String errorMessage = "Invalid termType: please use getListNames to get the valid list term types"; 55 logger.warning(errorMessage); 56 throw new UnsupportedOperationException(errorMessage); 57 } 58 59 if ( requestContent.getTerm().length() > 0 ) 60 { 61 logger.info("Term set - will do term search"); 62 agent.setDoTerm( true ); 63 } 64 65 if ( requestContent.isSetStart() ) 66 { 67 logger.info("Start position of results set set to: " + requestContent.getStart()); 68 agent.setStart( requestContent.getStart() ); 69 } 61 70 62 if ( requestContent.isSetHowMany() ) 63 { 64 agent.setHowMany( requestContent.getHowMany() ); 65 } 66 67 if ( requestContent.isSetOrderBy() ) 68 { 69 agent.setOrderBy( requestContent.getOrderBy().toString() ); 70 agent.setDoOrderBy( true ); 71 if ( requestContent.isSetOrderByDirection() ) 72 { 73 agent.setOrderByDirection( requestContent.getOrderByDirection().toString() ); 74 } 75 } 76 77 if ( requestContent.sizeOfScopeArray() > 0) 78 { 79 for (int i=0; i<requestContent.sizeOfScopeArray(); i++) 80 { 81 agent.addNewScope( requestContent.getScopeArray(i).toString() ); 82 } 83 agent.setDoScope( true ); 84 } 85 86 if ( requestContent.isSetBoundingBox() ) 87 { 88 agent.setLimitWest( requestContent.getBoundingBox().getLimitWest() ); 89 agent.setLimitSouth( requestContent.getBoundingBox().getLimitSouth() ); 90 agent.setLimitEast( requestContent.getBoundingBox().getLimitEast() ); 91 agent.setLimitNorth( requestContent.getBoundingBox().getLimitNorth() ); 92 agent.setDoSpatio( true ); 93 if ( requestContent.isSetSpatialOperator() ) 94 { 95 agent.setSpatialOperator( requestContent.getSpatialOperator() ); 96 } 97 } 98 99 if ( requestContent.isSetDateRange() ) 100 { 101 agent.setDateRangeStart( requestContent.getDateRange().getDateRangeStart() ); 102 agent.setDateRangeEnd( requestContent.getDateRange().getDateRangeEnd() ); 103 agent.setDoTemporal( true ); 104 } 105 106 SearchSummary myResult = null; 107 108 // Execute the search 109 try 110 { 111 myResult = agent.doSearch(); 112 } 113 catch (Exception e) 114 { 115 responseContent.setStatus( false ); 116 responseContent.setStatusMessage( "Unable to retrieve result - reason : " + e.toString() ); 117 } 118 119 if (myResult != null) 120 { 121 responseContent.setStatus( myResult.getStatus() ); 122 responseContent.setStatusMessage( myResult.getStatusMessage() ); 123 responseContent.setResultId( myResult.getResultId() ); 124 125 if ( myResult.getStatus() ) // successful search 126 { 127 responseContent.setHits( myResult.getHits() ); 128 } 129 else //unsuccessful search 130 { 131 responseContent.setHits( 0 ); 132 } 71 if ( requestContent.isSetHowMany() ) 72 { 73 logger.info("Result set size set to: " + requestContent.getHowMany()); 74 agent.setHowMany( requestContent.getHowMany() ); 75 } 76 77 if ( requestContent.isSetOrderBy() ) 78 { 79 logger.info("Results ordered by: " + requestContent.getOrderBy()); 80 agent.setOrderBy( requestContent.getOrderBy().toString() ); 81 agent.setDoOrderBy( true ); 82 if ( requestContent.isSetOrderByDirection() ) 83 { 84 logger.info("Results ordering direction: " + requestContent.getOrderByDirection().toString()); 85 agent.setOrderByDirection( requestContent.getOrderByDirection().toString() ); 86 } 87 } 88 89 if ( requestContent.sizeOfScopeArray() > 0) 90 { 91 for (int i=0; i<requestContent.sizeOfScopeArray(); i++) 92 { 93 logger.info("Adding search scope: " + requestContent.getScopeArray(i)); 94 agent.addNewScope( requestContent.getScopeArray(i).toString() ); 95 } 96 agent.setDoScope( true ); 97 } 98 99 if ( requestContent.isSetBoundingBox() ) 100 { 101 logger.info("Adding bounding box data"); 102 agent.setLimitWest( requestContent.getBoundingBox().getLimitWest() ); 103 agent.setLimitSouth( requestContent.getBoundingBox().getLimitSouth() ); 104 agent.setLimitEast( requestContent.getBoundingBox().getLimitEast() ); 105 agent.setLimitNorth( requestContent.getBoundingBox().getLimitNorth() ); 106 agent.setDoSpatio( true ); 107 if ( requestContent.isSetSpatialOperator() ) 108 { 109 logger.info("Adding spatial operator: " + requestContent.getSpatialOperator()); 110 agent.setSpatialOperator( requestContent.getSpatialOperator() ); 111 } 112 } 113 114 if ( requestContent.isSetDateRange() ) 115 { 116 logger.info("Adding temporal range"); 117 agent.setDateRangeStart( requestContent.getDateRange().getDateRangeStart() ); 118 agent.setDateRangeEnd( requestContent.getDateRange().getDateRangeEnd() ); 119 agent.setDoTemporal( true ); 120 } 121 122 SearchSummary myResult = null; 123 124 // Execute the search 125 try 126 { 127 logger.info("Running search..."); 128 myResult = agent.doSearch(); 129 logger.info("Search completed"); 130 } 131 catch (Exception e) 132 { 133 String errorMessage = "Unable to retrieve result - reason : " + e.toString(); 134 logger.severe(errorMessage); 135 responseContent.setStatus( false ); 136 responseContent.setStatusMessage(errorMessage); 137 } 138 139 if (myResult != null) 140 { 141 logger.info("Checking results..."); 142 responseContent.setStatus( myResult.getStatus() ); 143 responseContent.setStatusMessage( myResult.getStatusMessage() ); 144 responseContent.setResultId( myResult.getResultId() ); 145 if ( myResult.getStatus() ) // successful search 146 { 147 logger.info("Search successfully returned results"); 148 responseContent.setHits( myResult.getHits() ); 133 149 134 150 Vector summaryDocuments = myResult.getDocuments(); 135 151 136 if ( myResult.getStatus() &&summaryDocuments != null )152 if (summaryDocuments != null ) 137 153 { 154 logger.info("Search returned some matching documents"); 138 155 discoveryserviceapi.DocumentsType responseDocuments = responseContent.addNewDocuments(); 139 140 156 for (Iterator i = summaryDocuments.iterator(); i.hasNext(); ) 141 157 { … … 144 160 } 145 161 162 logger.info("Adding found documents to response"); 146 163 responseContent.setDocuments( responseDocuments ); 147 148 164 } 149 150 151 } 152 } 165 else 166 { 167 logger.info("null data set returned from search - this may indicate a problem"); 168 } 169 } 170 else //unsuccessful search 171 { 172 logger.warning("Search status was unsuccessful - this may indicate a problem"); 173 responseContent.setHits( 0 ); 174 } 175 } 176 else 177 { 178 logger.warning("null data set returned from search - this may indicate a problem"); 179 } 180 181 logger.info("doSearch() completed successfully"); 153 182 154 183 return response; … … 164 193 (discoveryserviceapi.DoPresentDocument request ) 165 194 { 195 logger.info("doPresent() invoked"); 166 196 discoveryserviceapi.DoPresentReturnDocument response = discoveryserviceapi.DoPresentReturnDocument.Factory.newInstance(); 167 197 discoveryserviceapi.PresentReturnType responseContent = response.addNewDoPresentReturn(); … … 209 239 responseContent.setStatusMessage("Error creating doPresentReturnDocument : " + e.toString() ); 210 240 } 241 logger.info("doPresent() completed successfully"); 211 242 212 243 return response; … … 215 246 /** 216 247 * Performs the getListNames operation 248 * - returns list of valid strings to use as input to the getList service 217 249 * @param discoveryserviceapi.GetListNamesDocument containing request 218 250 * @return discoveryserviceapi.GetListNamesReturnDocument containing result … … 221 253 (discoveryserviceapi.GetListNamesDocument request ) 222 254 { 255 logger.info("getListNames() invoked"); 223 256 discoveryserviceapi.GetListNamesReturnDocument response = discoveryserviceapi.GetListNamesReturnDocument.Factory.newInstance(); 224 257 discoveryserviceapi.GetListNamesReturnType responseContent = response.addNewGetListNamesReturn(); 225 258 discoveryserviceapi.GetListNamesReturnType.ListNames listNames = responseContent.addNewListNames(); 226 259 227 listNames.addListName("presentFormatList"); 228 listNames.addListName("orderByFieldList"); 229 listNames.addListName("scopeList"); 230 listNames.addListName("termTypeList"); 231 listNames.addListName("spatialOperatorList"); 232 260 for (int i = 0; i < LIST_NAMES.length; i++) 261 listNames.addListName(LIST_NAMES[i]); 262 263 logger.info("getListNames() completed successfully"); 233 264 return response; 234 265 } … … 242 273 (discoveryserviceapi.GetListDocument request ) 243 274 { 275 logger.info("getList() invoked"); 244 276 discoveryserviceapi.GetListReturnDocument response = discoveryserviceapi.GetListReturnDocument.Factory.newInstance(); 245 277 discoveryserviceapi.GetListReturnType responseContent = response.addNewGetListReturn(); … … 249 281 discoveryserviceapi.GetListType requestContent = request.getGetList(); 250 282 String listName = requestContent.getListName(); 283 list.setName( listName ); 251 284 252 285 if ( listName.equals("presentFormatList") ) 253 286 { 254 list.setName( listName );255 287 list.addListMember("original"); 256 288 list.addListMember("DC"); … … 262 294 else if ( requestContent.getListName().equals("orderByFieldList") ) 263 295 { 264 list.setName( listName );265 296 list.addListMember("date"); 266 297 list.addListMember("dataCentre"); … … 268 299 else if ( requestContent.getListName().equals("scopeList") ) 269 300 { 270 list.setName( listName );271 301 list.addListMember("NERC"); 272 302 list.addListMember("NERC_DDC"); … … 276 306 else if ( requestContent.getListName().equals("termTypeList") ) 277 307 { 278 list.setName( listName );279 308 list.addListMember("fullText"); 280 309 list.addListMember("author"); … … 283 312 else if ( requestContent.getListName().equals("spatialOperatorList") ) 284 313 { 285 list.setName( listName );286 314 list.addListMember("overlaps"); 287 315 list.addListMember("doesNotOverlap"); … … 290 318 else 291 319 { 292 throw new UnsupportedOperationException("Invalid list name: please use getListNames to get the valid list names"); 320 String errorMessage = "Invalid list name: please use getListNames to get the valid list names"; 321 logger.warning(errorMessage); 322 throw new UnsupportedOperationException(errorMessage); 293 323 } 294 324 325 logger.info("getList() completed successfully"); 295 326 return response; 296 327 } -
TI01-discovery/branches/ws-Discovery2-upgrade/src/ndg/services/discovery/ParameterSearchAgent.java
r3054 r3950 28 28 public void setTerm(String s) 29 29 { 30 this.term = "collection('/db/discovery/moles')[./moles:dgMetadata/moles:dgMetadataRecord/moles:dgDataEntity/moles:dgDataSummary/moles:dgParameterSummary &= '"+ s +"']";30 this.term = s; 31 31 } 32 32
Note: See TracChangeset
for help on using the changeset viewer.