var doTermSearch = function (ctx, facetField, paging, authRequired) { var terms = []; var results; var selectedTag; var map = new HashMap(); var mediaType; var app = require('rxt').app; var asset = require('rxt').asset; var searchPage = '/pages/top-assets'; var rxtManager = ctx.rxtManager; if (ctx.assetType) { mediaType = rxtManager.getMediaType(ctx.assetType); searchPage = '/assets/'+ctx.assetType+'/list'; } else { var availableTypes = app.getUIActivatedAssets(ctx.tenantId); mediaType = '('; for (var index in availableTypes) { if (availableTypes.hasOwnProperty(index)) { if (index == 0) { mediaType = mediaType + rxtManager.getMediaType(availableTypes[index]); } else { mediaType = mediaType + ' OR ' + rxtManager.getMediaType(availableTypes[index]); } } } mediaType = mediaType + ')'; } log.debug("term search query criteria:facetField " + facetField + " mediaType " + mediaType); var q = request.getParameter("q"); if (q) { var options = parse("{" + q + "}"); /*if (facetField == "tags") { map = buildQueryMapTags(ctx, options); } else { map = buildQueryMap(ctx, options); }*/ if (options.tags) { selectedTag = options.tags; } } if (facetField) { try { buildPaginationContext(paging); //results = GovernanceUtils.getTermDataList(map, facetField, mediaType, authRequired); var am = getAssetManager(ctx); q = q ? q : (q=''); q = parse('{' + q + '}' ); var query = asset.buildQuery(ctx.assetType, rxtManager, app, q); results = GovernanceUtils.getTermDataList(query, facetField, mediaType, am.registry.registry); var iterator = results.iterator(); while (iterator.hasNext()) { var current = iterator.next(); var term = {}; term.value = current.term; term.frequency = current.frequency; term.searchPage = searchPage; if(selectedTag && selectedTag == current.term){ term.selected=true; } else{ term.selected=false; } terms.push(term); } } finally { destroyPaginationContext(); } } return terms; };