001: /**
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */package org.apache.solr.util;
017:
018: import org.apache.solr.core.SolrCore;
019:
020: import org.apache.solr.util.NamedList;
021: import org.apache.solr.request.SolrParams;
022:
023: /**
024: * A collection on common params, both for Plugin initialization and
025: * for Requests.
026: */
027: @Deprecated
028: public class CommonParams {
029:
030: @Deprecated
031: public static String FL = "fl";
032: /** default query field */
033: @Deprecated
034: public static String DF = "df";
035: /** whether to include debug data */
036: @Deprecated
037: public static String DEBUG_QUERY = "debugQuery";
038: /** another query to explain against */
039: @Deprecated
040: public static String EXPLAIN_OTHER = "explainOther";
041:
042: /** the default field list to be used */
043: public String fl = null;
044: /** the default field to query */
045: public String df = null;
046: /** do not debug by default **/
047: public String debugQuery = null;
048: /** no default other explanation query **/
049: public String explainOther = null;
050: /** whether to highlight */
051: public boolean highlight = false;
052: /** fields to highlight */
053: public String highlightFields = null;
054: /** maximum highlight fragments to return */
055: public int maxSnippets = 1;
056: /** override default highlight Formatter class */
057: public String highlightFormatterClass = null;
058:
059: public CommonParams() {
060: /* :NOOP: */
061: }
062:
063: /** @see #setValues */
064: public CommonParams(NamedList args) {
065: this ();
066: setValues(args);
067: }
068:
069: /**
070: * Sets the params using values from a NamedList, usefull in the
071: * init method for your handler.
072: *
073: * <p>
074: * If any param is not of the expected type, a severe error is
075: * logged,and the param is skipped.
076: * </p>
077: *
078: * <p>
079: * If any param is not of in the NamedList, it is skipped and the
080: * old value is left alone.
081: * </p>
082: *
083: */
084: public void setValues(NamedList args) {
085:
086: Object tmp;
087:
088: tmp = args.get(SolrParams.FL);
089: if (null != tmp) {
090: if (tmp instanceof String) {
091: fl = tmp.toString();
092: } else {
093: SolrCore.log.severe("init param is not a str: "
094: + SolrParams.FL);
095: }
096: }
097:
098: tmp = args.get(SolrParams.DF);
099: if (null != tmp) {
100: if (tmp instanceof String) {
101: df = tmp.toString();
102: } else {
103: SolrCore.log.severe("init param is not a str: "
104: + SolrParams.DF);
105: }
106: }
107:
108: tmp = args.get(SolrParams.DEBUG_QUERY);
109: if (null != tmp) {
110: if (tmp instanceof String) {
111: debugQuery = tmp.toString();
112: } else {
113: SolrCore.log.severe("init param is not a str: "
114: + SolrParams.DEBUG_QUERY);
115: }
116: }
117:
118: tmp = args.get(SolrParams.EXPLAIN_OTHER);
119: if (null != tmp) {
120: if (tmp instanceof String) {
121: explainOther = tmp.toString();
122: } else {
123: SolrCore.log.severe("init param is not a str: "
124: + SolrParams.EXPLAIN_OTHER);
125: }
126: }
127:
128: }
129:
130: }
|