Changeset 6825
- Timestamp:
- 11/18/15 00:15:37 (9 years ago)
- Location:
- SRUServer/trunk/src/main/java/eu/clarin/sru/server
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
SRUServer/trunk/src/main/java/eu/clarin/sru/server/SRURequestImpl.java
r6821 r6825 79 79 private static final int DEFAULT_RESPONSE_POSITION = 1; 80 80 private final SRUServerConfig config; 81 private final SRUQueryParserRegistry queryParsers; 81 82 private final HttpServletRequest request; 82 83 private List<SRUDiagnostic> diagnostics; … … 105 106 HTTP_ACCEPT, 106 107 RESPONSE_TYPE, 107 // QUERY,108 // QUERY_TYPE,109 108 START_RECORD, 110 109 MAXIMUM_RECORDS, … … 148 147 case RESPONSE_TYPE: 149 148 return PARAM_RESPONSE_TYPE; 150 // case QUERY:151 // return PARAM_QUERY;152 // case QUERY_TYPE:153 // return PARAM_QUERY_TYPE;154 149 case START_RECORD: 155 150 return PARAM_START_RECORD; … … 233 228 new ParameterInfo(Parameter.RESPONSE_TYPE, false, 234 229 SRUVersion.VERSION_2_0, SRUVersion.VERSION_2_0), 235 // new ParameterInfo(Parameter.QUERY, true,236 // SRUVersion.VERSION_1_1, SRUVersion.VERSION_2_0),237 // new ParameterInfo(Parameter.QUERY_TYPE, true,238 // SRUVersion.VERSION_2_0, SRUVersion.VERSION_2_0),239 230 new ParameterInfo(Parameter.START_RECORD, false, 240 231 SRUVersion.VERSION_1_1, SRUVersion.VERSION_2_0), … … 256 247 257 248 258 SRURequestImpl(SRUServerConfig config, HttpServletRequest request) { 259 this.config = config; 260 this.request = request; 249 SRURequestImpl(SRUServerConfig config, 250 SRUQueryParserRegistry queryParsers, 251 HttpServletRequest request) { 252 this.config = config; 253 this.queryParsers = queryParsers; 254 this.request = request; 261 255 } 262 256 … … 611 605 queryType); 612 606 final SRUQueryParser<?> queryParser = 613 config.findQueryParser(queryType);607 queryParsers.findQueryParser(queryType); 614 608 if (queryParser != null) { 615 609 /* -
SRUServer/trunk/src/main/java/eu/clarin/sru/server/SRUServer.java
r6823 r6825 58 58 LoggerFactory.getLogger(SRUServer.class); 59 59 private final SRUServerConfig config; 60 private final SRUQueryParserRegistry queryParsers; 60 61 private final SRUSearchEngine searchEngine; 61 62 private final XMLOutputFactory writerFactory; … … 66 67 * 67 68 * @param config 68 * a SRUEndpointConfig object 69 * a {@link SRUServerConfig} object 70 * @param queryParsers 71 * a {@link SRUQueryParserRegistry} object 69 72 * @param searchEngine 70 * an object implementing the SRUSearchEngineinterface73 * an object implementing the {@link SRUSearchEngine} interface 71 74 * @throws NullPointerException 72 * if config or searchEngine is <code>null</code> 75 * if config, queryParserRegistry or searchEngine is 76 * <code>null</code> 73 77 * @throws SRUException 74 78 * if an error occurred 75 79 */ 76 public SRUServer(SRUServerConfig config, SRUSearchEngine searchEngine) 77 throws SRUException { 80 public SRUServer(SRUServerConfig config, 81 SRUQueryParserRegistry queryParsers, 82 SRUSearchEngine searchEngine) throws SRUException { 78 83 if (config == null) { 79 84 throw new NullPointerException("config == null"); 80 85 } 81 86 this.config = config; 87 88 if (queryParsers == null) { 89 throw new NullPointerException("queryParserRegistry == null"); 90 } 91 this.queryParsers = queryParsers; 92 82 93 if (searchEngine == null) { 83 94 throw new NullPointerException("searchEngine == null"); 84 95 } 85 96 this.searchEngine = searchEngine; 97 86 98 this.writerFactory = XMLOutputFactory.newInstance(); 87 99 } … … 98 110 public void handleRequest(HttpServletRequest request, 99 111 HttpServletResponse response) { 100 final SRURequestImpl req = new SRURequestImpl(config, request); 112 final SRURequestImpl req = 113 new SRURequestImpl(config, queryParsers, request); 101 114 try { 102 115 // set response properties -
SRUServer/trunk/src/main/java/eu/clarin/sru/server/SRUServerConfig.java
r6821 r6825 637 637 private final IndexInfo indexInfo; 638 638 private final List<SchemaInfo> schemaInfo; 639 private final List<SRUQueryParser<?>> queryParsers;640 639 641 640 … … 660 659 DatabaseInfo databaseinfo, 661 660 IndexInfo indexInfo, 662 List<SchemaInfo> schemaInfo, 663 List<SRUQueryParser<?>> queryParsers) { 661 List<SchemaInfo> schemaInfo) { 664 662 this.minVersion = minVersion; 665 663 this.maxVersion = maxVersion; … … 687 685 this.schemaInfo = null; 688 686 } 689 this.queryParsers = Collections.unmodifiableList(queryParsers);690 687 691 688 // build baseUrl … … 856 853 return schema; 857 854 } 858 }859 }860 }861 return null;862 }863 864 865 public SRUQueryParser<?> findQueryParser(String queryType) {866 if (queryType != null) {867 for (SRUQueryParser<?> queryParser : queryParsers) {868 if (queryParser.getQueryType().equals(queryType)) {869 return queryParser;870 855 } 871 856 } … … 1094 1079 SRU_RESPONSE_BUFFER_SIZE, false, 1095 1080 DEFAULT_RESPONSE_BUFFER_SIZE, 0, -1); 1096 1097 /*1098 * FIXME: add interface to register additional query parsers1099 */1100 List<SRUQueryParser<?>> queryParsers =1101 new ArrayList<SRUQueryParser<?>>();1102 queryParsers.add(new CQLQueryParser());1103 1081 1104 1082 return new SRUServerConfig(minVersion, … … 1122 1100 databaseInfo, 1123 1101 indexInfo, 1124 schemaInfo, 1125 queryParsers); 1102 schemaInfo); 1126 1103 } catch (IOException e) { 1127 1104 throw new SRUConfigException("error reading configuration file", e); -
SRUServer/trunk/src/main/java/eu/clarin/sru/server/utils/SRUSearchEngineBase.java
r2747 r6825 25 25 import eu.clarin.sru.server.SRUException; 26 26 import eu.clarin.sru.server.SRUExplainResult; 27 import eu.clarin.sru.server.SRUQueryParserRegistry; 27 28 import eu.clarin.sru.server.SRURequest; 28 29 import eu.clarin.sru.server.SRUScanResultSet; … … 88 89 * @param config 89 90 * the {@link SRUServerConfig} object for this search engine 91 * @param queryParsers 92 * the {@link SRUQueryParserRegistry} object for this search 93 * engine. Register additional query parsers with this object. 90 94 * @param params 91 95 * additional parameters gathered from the Servlet configuration … … 94 98 * an error occurred during initialization of the search engine 95 99 */ 96 public void init(ServletContext context, SRUServerConfig config, 100 public void init(ServletContext context, 101 SRUServerConfig config, 102 SRUQueryParserRegistry queryParsers, 97 103 Map<String, String> params) throws SRUConfigException { 98 104 } -
SRUServer/trunk/src/main/java/eu/clarin/sru/server/utils/SRUServerServlet.java
r6786 r6825 38 38 import eu.clarin.sru.server.SRUConfigException; 39 39 import eu.clarin.sru.server.SRUException; 40 import eu.clarin.sru.server.SRUQueryParserRegistry; 40 41 import eu.clarin.sru.server.SRUServer; 41 42 import eu.clarin.sru.server.SRUServerConfig; … … 247 248 */ 248 249 try { 249 searchEngine.init(ctx, sruServerConfig, params); 250 sruServer = new SRUServer(sruServerConfig, searchEngine); 250 final SRUQueryParserRegistry parsers = new SRUQueryParserRegistry(); 251 searchEngine.init(ctx, sruServerConfig, parsers, params); 252 sruServer = new SRUServer(sruServerConfig, parsers, searchEngine); 251 253 } catch (SRUConfigException e) { 252 254 throw new ServletException("error initializing sru server", e);
Note: See TracChangeset
for help on using the changeset viewer.