1 /** 2 * Workflow to return information about dictionaries. 3 * 4 * @author milogertjejansen 5 */ 6 var REST = library.REST.REST(); 7 var myData = {}; 8 9 // Action list. 10 var kAllDictionaries = "allDictionaries"; 11 var kFindWords = "findWords"; 12 13 // Service data format. 14 var myServiceData = null; 15 16 // include solr facets suggestions 17 var mySolrSuggestions = null; 18 19 /** 20 * Gets a list of dictionaries. 21 */ 22 function listDictionaries() { 23 var aList = dictionaryManager.listDictionaryNames(); 24 25 if (myServiceData === "") { 26 myData["dictionaries"] = aList; 27 } else { 28 myData = []; 29 for (var i in aList) { 30 myData.push({ display: aList[i], value: aList[i] }); 31 } 32 } 33 } 34 35 /** 36 * Gets a dictionary and a list of words and put them into myData. 37 * 38 * @param theDictionaryName 39 */ 40 function getDictionary(theDictionaryName) { 41 // Return if the name is empty. 42 if (theDictionaryName === "" || theDictionaryName === undefined) { 43 return; 44 } 45 46 // Parse out the objects. 47 myData[theDictionaryName] = dictionaryManager.findWords( 48 theDictionaryName, 49 "%", 50 1000, 51 false 52 ); 53 } 54 55 /** 56 * Returns information on dictionaries. 57 * 58 * @description gets dictionary information. 59 * @example /wf/restapi/1/dictionary?action=(allDictionaries|findWords)&service=(true|false)[&name=dictionaryName] 60 * @example <a target="_blank" href=http://127.0.0.1:55555/wf/restapi/1/dictionary?action=allDictionaries&service=true>http://127.0.0.1:55555/wf/restapi/1/dictionary?action=allDictionaries&service=true</a> 61 * @class Returns information on dictionaries. 62 * @name dictionary 63 * @param action the action you want to take. 64 * @param service in some cases returns data in a dictionary backed field friendly format. 65 * @param name [only used with action=findWords] a list of dictionaries to search in. 66 * @returns Object 67 */ 68 function main() { 69 var aAction = REST.getParameter("action"); 70 myServiceData = REST.getParameter("service", false); 71 mySolrSuggestions = REST.getParameter("withSolrSuggestions", false); 72 73 if (aAction === kAllDictionaries) { 74 listDictionaries(); 75 76 if (mySolrSuggestions) { 77 myData.push({ 78 display: "SolrFacetSuggestions", 79 value: "SolrFacetSuggestions", 80 }); 81 } 82 } 83 84 if (aAction === kFindWords) { 85 var aParameters = REST.getParametersToIterate("name"); 86 REST.iterateThroughParameters(aParameters, getDictionary); 87 } 88 89 if (myData.error != null) { 90 return REST.formatResponse(); 91 } 92 return REST.formatResponse(); 93 } 94 main(); 95