View Javadoc

1   package org.kuali.ole.ingest.function;
2   
3   //import org.kuali.incubator.SolrRequestReponseHandler;
4   
5   import org.kuali.ole.DataCarrierService;
6   import org.kuali.ole.OLEConstants;
7   import org.kuali.ole.editor.service.DiscoveryHelperService;
8   import org.kuali.ole.ingest.ISBNUtil;
9   import org.kuali.rice.core.api.resourceloader.GlobalResourceLoader;
10  import org.kuali.rice.krms.framework.engine.Function;
11  
12  import java.util.ArrayList;
13  import java.util.List;
14  
15  /**
16   * ISBNFunction takes the request,normalize tha isbn and sets the bibRecordFromSOLRResponse into dataCarrierService
17   */
18  public class ISBNFunction implements Function {
19  
20      private DiscoveryHelperService discoveryHelperService;
21  
22      /**
23       *  This method takes the request and normalize the isbn and  sets the bibRecordFromSOLRResponse into dataCarrierService.
24       * @param arguments
25       * @return  Object
26       */
27      @Override
28      public Object invoke(Object... arguments) {
29          DataCarrierService dataCarrierService = GlobalResourceLoader.getService(OLEConstants.DATA_CARRIER_SERVICE);
30          Object argument = arguments[0];
31          String existingDocstoreField = (String)((ArrayList) argument).get(0);
32          String isbn = (String)((ArrayList) argument).get(1);
33          String normalizedISBN = null;
34          try {
35              normalizedISBN = new ISBNUtil().normalizeISBN(isbn);
36          } catch (Exception e) {
37              e.printStackTrace();
38          }
39          List list = getDiscoveryHelperService().getResponseFromSOLR(existingDocstoreField, normalizedISBN);
40          if(list.size() >= 1){
41              dataCarrierService.addData(OLEConstants.BIB_INFO_LIST_FROM_SOLR_RESPONSE, list);
42              return true;
43          }
44          return false;
45      }
46  
47      /**
48       *  Gets the discoveryHelperService instances
49       * @return  DiscoveryHelperService
50       */
51      public DiscoveryHelperService getDiscoveryHelperService() {
52          if (null == discoveryHelperService) {
53              discoveryHelperService = new DiscoveryHelperService();
54          }
55          return discoveryHelperService;
56      }
57  
58      /**
59       *   Sets the discoveryHelperService attribute value.
60       * @param discoveryHelperService
61       */
62      public void setDiscoveryHelperService(DiscoveryHelperService discoveryHelperService) {
63          this.discoveryHelperService = discoveryHelperService;
64      }
65  }