View Javadoc
1   /*
2    * Copyright 2011 The Kuali Foundation.
3    * 
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    * http://www.opensource.org/licenses/ecl2.php
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.ole.docstore.discovery.service;
17  
18  import org.kuali.ole.docstore.discovery.model.SearchParams;
19  
20  public interface DiscoveryService {
21      public static final String SEARCH_TYPE_NEW = "newSearch";
22      public static final String SEARCH_TYPE_QUICK = "quickSearch";
23      public static final String SEARCH_TYPE_ADVANCED = "advancedSearch";
24      public static final String SEARCH_TYPE_FACET = "facetSearch";
25      public static final String SEARCH_TYPE_FACET_DELETE = "facetDelete";
26      public static final String SEARCH_TYPE_LINK = "linksearch";
27      public static final String BIBLIOGRAPHIC = "bibliographic";
28      public static final String INSTANCE = "instance";
29      public static final String HOLDINGS = "holding";
30      public static final String ITEM = "item";
31      public static final String INSTANCE_LINK_FIELDS = "bibIdentifier,holdingsIdentifier,itemIdentifier";
32      public static final String BIB_LINK_FIELDS = "instanceIdentifier";
33      public static final String HOLDINGS_LINK_FIELDS = "bibIdentifier,instanceIdentifier,itemIdentifier";
34      public static final String ITEM_LINK_FIELDS = "bibIdentifier,instanceIdentifier,holdingsIdentifier";
35      public static final String HOLDINGS_FIELDS = "LocalId_display,Uri_display,HoldingsNote_display,ReceiptStatus_display,CallNumber_display,CallNumberPrefix_display,CallNumberType_display,ClassificationPart_display,DocType,DocFormat,id" + "," + HOLDINGS_LINK_FIELDS;
36      public static final String ITEM_FIELDS = "LocalId_display,ItemBarcode_display,ItemTypeFullValue_display,VendorLineItemIdentifier_display,ShelvingSchemeValue_display,ShelvingOrderValue_display,PurchaseOrderLineItemIdentifier_display,CopyNumber_display,VolumeNumber_display,DocType,DocFormat,id,Barcode_display" + "," + ITEM_LINK_FIELDS;
37      public static final String INSTANCE_FIELDS = "LocalId_display,Source_display,DocType,DocFormat,id,Barcode_display" + "," + INSTANCE_LINK_FIELDS;
38      public static final String BIB_FIELDS = "LocalId_display,Title_display,Author_display,Publisher_display,Description_display,Subject_display,Location_display,Format_display,DocType,DocFormat,id,Barcode_display" + "," + BIB_LINK_FIELDS;
39      public static final String AUTHOR_FACET = "Author_facet";
40      public static final String SUBJECT_FACET = "Subject_facet";
41      public static final String FORMAT_FACET = "Format_facet";
42      public static final String LANGUAGE_FACET = "Language_facet";
43      public static final String PUBLICATION_DATE_FACET = "PublicationDate_facet";
44      public static final String GENRE_FACET = "Genre_facet";
45      public static final String SEARCH_TYPE_MORE_FACET = "moreFacets";
46      public static final String BATCH_UPLOAD_LINK_SEARCH = "batchuploadsearch";
47  
48      /**
49       * Performs a search based on the given search parameters and returns the result in solr xml format.
50       * This is used by the GUI screens.
51       *
52       * @param searchParams - search parameters
53       * @return search result in xml format
54       */
55      public String search(SearchParams searchParams);
56  
57      public String buildQuery(SearchParams searchParams);
58  }