1 /** 2 * Workflow dictionary to feed a hierarchical dictionary of the current MediaBeacon directory structure 3 */ 4 5 function main() { 6 var aDictionary = []; 7 //index level 8 var aFolder = new ManagedFolder(""); 9 aDictionary = createDirectoryWords(aFolder, aDictionary); 10 return JSON.stringify(aDictionary, null, 2); 11 } 12 main(); 13 14 function createDirectoryWords(theFolder, theDictionary) { 15 var aFileAndFolderIterator = theFolder.getContents(1); 16 while (aFileAndFolderIterator.hasNext()) { 17 var aFileOrFolder = aFileAndFolderIterator.next(); 18 if (fileManager.isManaged(aFileOrFolder)) { 19 if (fileManager.isFolder(aFileOrFolder.path)) { 20 var aWord = makeWord(aFileOrFolder.name); 21 var aSubDirSearch = theFolder.getContents(1); 22 if (aSubDirSearch.hasNext()) { 23 //recurse 24 aWord.children = createDirectoryWords(aFileOrFolder, aWord.children); 25 } 26 theDictionary[theDictionary.length] = aWord; 27 } 28 } 29 } 30 return theDictionary; 31 } 32 33 /** 34 * Creates a Dictionary word 35 * @param name 36 * @returns {{}} 37 */ 38 function makeWord(name) { 39 var aWord = {}; 40 aWord.display = name; 41 aWord.value = name; 42 aWord.children = []; 43 return aWord; 44 } 45