@Override public String getEntityIdByPath(NamespaceKey datasetPath) throws NamespaceException { final List<NameSpaceContainer> entities = getEntities(Arrays.asList(datasetPath)); NameSpaceContainer entity = entities.get(0); return entity != null ? NamespaceUtils.getId(entity) : null; }
/** * Takes a list of SearchContainer and fills in the collaboration tags. * * @param results list of SearchContainer with no tags */ private void fillCollaborationTags(List<SearchContainer> results) { final IndexedStore.FindByCondition findByCondition = new IndexedStore.FindByCondition(); final List<SearchTypes.SearchQuery> searchQueries = StreamSupport.stream(results.spliterator(), false) .map(input -> { return newTermQuery(CollaborationTagStore.ENTITY_ID, NamespaceUtils.getId(input.getNamespaceContainer())); }).collect(Collectors.toList()); findByCondition.setCondition(or(searchQueries)); final Map<String, CollaborationTag> hash = new HashMap<>(); collaborationTagStore.find(findByCondition).forEach(input -> { hash.put(input.getKey(), input.getValue()); }); // fill in results.forEach(input -> { String id = NamespaceUtils.getId(input.getNamespaceContainer()); if (hash.containsKey(id)) { input.setCollaborationTag(hash.get(id)); } }); }